This is probably something very easy that I'm missing.
I have this operation
length_of_userInput = (signed int)(unsigned __int8)userInput >> 1;
And length_of_userInput
is currently reading '4LL', type is __int64.
I'm wondering what is the correct type to give IDA to display '4LL' into a readable int?
I've tried inputting int, long (becomes __int64), and all __ints (int8,16,32) with no success.
This is the assembly:
mov rax, [rbp+var_6E8]
mov [rbp+userInputBuffer], rax
mov rax, [rbp+userInputBuffer]
mov rcx, [rbp+auth_string_pointer]
mov [rbp+var_528], rcx
mov rcx, [rbp+var_528]
mov [rbp+var_520], rcx
mov rdx, [rbp+var_520]
mov [rbp+var_518], rdx
mov rdx, [rbp+var_518]
mov [rbp+var_510], rdx
mov rdx, [rbp+var_510]
movzx esi, byte ptr [rdx]
and esi, 1
cmp esi, 0
mov [rbp+length_of_userInput], rax
mov [rbp+var_6F8], rcx
(disclaimer: naming might be wrong. I hope not but I'm not sure :/ )