Function at 0x436e10
Capabilities:
Log keystrokes
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x160
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
test ebx, ebx
jne 0x436e9b
mov edi, dword [0x5c1144]
test edi, edi
je 0x436e9b
xor eax, eax
test edx, edx
je 0x436ef6
mov ebx, dword [0x5c113c]
mov eax, dword [ebx]
mov esi, dword [ebx + 4]
cmp eax, esi
je 0x436efe
lea edi, [ebx + 4]
sub esi, eax
cmp esi, edx
cmovae esi, edx
push esi
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
test esi, esi
mov eax, 0
je 0x436ef6
mov ebx, dword [ebx]
mov dword [esp + 0x40], edi
mov edi, dword [edi]
lea eax, [ebx + esi]
sub edi, eax
je 0x436e8f
push edi
push eax
push ebx
call sub.msvcrt.dll_memmove
add esp, 0xc
mov eax, dword [esp + 0x40]
add ebx, edi
mov dword [eax], ebx
mov eax, esi
jmp 0x436ef6
mov edi, ecx
cmp edx, 0x1001
jb 0x436ee9
push ebx
call sub.msvcrt.dll__isatty
add esp, 4
test eax, eax
je 0x436ee4
push ebx
call dword [sym.imp.msvcrt.dll__get_osfhandle]
add esp, 4
cmp eax, 0xffffffff
je 0x436ee4
mov esi, eax
lea eax, [esp + 0x50]
mov dword [esp + 0x50], 0
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetConsoleMode]
test esi, esi
je 0x436ee4
mov ecx, 0x1000
test eax, eax
jne 0x436eeb
mov ecx, dword [ebp + 0x10]
jmp 0x436eeb
mov ecx, edx
push ecx
push edi
push ebx
call sub.msvcrt.dll__read
add esp, 0xc
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [sym.imp.KERNEL32.dll_ReadConsoleInputA]
mov dword [esp + 0x40], edi
lea eax, [esp + 9]
xorps xmm0, xmm0
lea edi, [esp + 0x18]
lea edx, [esp + 0x20]
mov dword [esp + 0x44], eax
mov dword [esp + 0x18], 0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x30], 0
push edi
push 1
push edx
mov ebx, dword [esp + 0x4c]
push ebx
call ecx
mov esi, edi
mov edi, ebx
test eax, eax
lea ebx, [esp + 0x20]
je 0x437d1a
nop dword [eax + eax]
mov eax, dword [esp + 0x18]
test eax, eax
je 0x436f60
cmp eax, 1
jne 0x436f77
jmp 0x436f81
call fcn.004ddb30
cmp eax, 6
jle 0x43703d
mov eax, dword [esp + 0x18]
cmp eax, 1
je 0x436f81
call fcn.004ddb30
cmp eax, 6
jle 0x436fdc
movzx eax, word [esp + 0x20]
cmp ax, 1
je 0x436fa0
cmp ax, 4
mov eax, dword [sym.imp.KERNEL32.dll_ReadConsoleInputA]
xorps xmm0, xmm0
jne 0x436fb3
jmp 0x437db1
cmp dword [esp + 0x24], 0
mov eax, dword [sym.imp.KERNEL32.dll_ReadConsoleInputA]
xorps xmm0, xmm0
jne 0x43709e
mov dword [esp + 0x18], 0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x30], 0
push esi
push 1
push ebx
push edi
call eax
test eax, eax
jne 0x436f50
jmp 0x437d1a
mov eax, dword [sym.imp.msvcrt.dll__errno]
call eax
mov eax, dword [eax]
mov esi, ebx
lea ebx, [esp + 0x50]
mov ecx, ebx
mov dword [esp + 0x1c], eax
push 0xffffffffffffffff
push 0
push 6
push 0
push 0x509
push 0x58acc4
call fcn.004ddb50
mov ecx, ebx
call fcn.004ddb40
push 0x31
push str.ReadConsoleInputA_did_not_return_one_input_record
push eax
call fcn.0056cec0
add esp, 0xc
mov ecx, ebx
mov ebx, esi
call fcn.004ddc40
call dword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [esp + 0x1c]
lea esi, [esp + 0x18]
mov dword [eax], ecx
jmp 0x436f81
mov eax, dword [sym.imp.msvcrt.dll__errno]
call eax
mov eax, dword [eax]
mov esi, ebx
lea ebx, [esp + 0x50]
mov ecx, ebx
mov dword [esp + 0x1c], eax
push 0xffffffffffffffff
push 0
push 6
push 0
push 0x505
push 0x58acc4
call fcn.004ddb50
mov ecx, ebx
call fcn.004ddb40
push 0x1c
push str.ReadConsoleInputA_returned_0
push eax
call fcn.0056cec0
add esp, 0xc
mov ecx, ebx
mov ebx, esi
call fcn.004ddc40
call dword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [esp + 0x1c]
lea esi, [esp + 0x18]
mov dword [eax], ecx
jmp 0x436f6e
cmp word [esp + 0x28], 0
jne 0x4370b4
call fcn.004ddb30
cmp eax, 6
jle 0x437c91
mov al, byte [esp + 0x2e]
movzx edx, word [esp + 0x2a]
mov ecx, dword [esp + 0x30]
test al, al
mov byte [esp + 0x1c], al
je 0x4370f9
mov eax, ecx
and eax, 3
je 0x4370f9
mov eax, ecx
and eax, 0xc
je 0x4370f9
test cl, 1
jne 0x4370f6
test cl, 2
je 0x4370f9
test cl, 8
jne 0x4371bb
mov eax, ecx
and eax, 4
xor eax, 0xfffffffd
and ecx, eax
jmp 0x4370f9
and ecx, 0xfffffff6
mov edi, ecx
test ecx, 0x100
mov dword [esp + 0x3c], edx
je 0x437139
lea eax, [edx - 0xd]
cmp ax, 0x62
ja case.0x43714f.2
movzx eax, ax
mov esi, 0x58b783
jmp dword [eax*4 + 0x58a9d4]
mov eax, edi
mov esi, 0x58b77f
test al, 0xc
mov eax, 0x58b781
cmove esi, eax
jmp case.0x43714f.88
lea eax, [edx - 8]
movzx eax, ax
cmp eax, 0xda
ja case.0x43714f.2
mov esi, 0x58b7c2
jmp dword [eax*4 + 0x58a668]
mov cl, byte [esp + 0x1c]
test cl, cl
je 0x4371c3
mov eax, edi
mov byte [esp + 8], cl
test al, 3
jne 0x437513
mov ebx, 1
jmp 0x437aa7
lea ecx, [esp + 8]
lea edx, [esp + 0x24]
mov esi, edi
push edi
call fcn.00439640
add esp, 4
mov ebx, eax
mov eax, edi
test al, 3
je 0x437786
test ebx, ebx
je case.0x43714f.2
push ebx
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0x11]
push eax
call sub.msvcrt.dll_memmove
add esp, 0xc
mov byte [esp + 8], 0x1b
inc ebx
jmp 0x437786
and ecx, 0xfffffff5
jmp 0x4370f9
mov ecx, edi
test cl, 3
je 0x4374f9
mov eax, ecx
xorps xmm0, xmm0
mov word [esp + 0x18], 0
shl al, 3
movaps xmmword [esp + 0x60], xmm0
movaps xmmword [esp + 0x140], xmm0
movaps xmmword [esp + 0x130], xmm0
movaps xmmword [esp + 0x120], xmm0
movaps xmmword [esp + 0x110], xmm0
movaps xmmword [esp + 0x100], xmm0
movaps xmmword [esp + 0xf0], xmm0
movaps xmmword [esp + 0xe0], xmm0
movaps xmmword [esp + 0xd0], xmm0
movaps xmmword [esp + 0xc0], xmm0
movaps xmmword [esp + 0xb0], xmm0
movaps xmmword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x90], xmm0
movaps xmmword [esp + 0x80], xmm0
movaps xmmword [esp + 0x70], xmm0
movaps xmmword [esp + 0x50], xmm0
and al, 0x80
test cl, 0xc
mov byte [esp + 0x60], al
setne al
shl al, 7
mov byte [esp + 0x61], al
mov eax, ecx
shr al, 7
mov byte [esp + 0x64], al
movzx eax, word [esp + 0x2c]
mov byte [esp + 0x62], 0
push 0
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x58]
push ecx
push eax
push dword [esp + 0x4c]
call dword [sym.imp.USER32.dll_ToAscii]
cmp eax, 1
jne 0x437503
mov cl, byte [esp + 0x18]
mov byte [esp + 8], cl
jmp 0x437513
lea ecx, [esp + 8]
lea edx, [esp + 0x24]
mov esi, edi
push edi
call fcn.00439640
mov ecx, edi
add esp, 4
mov ebx, eax
test cl, 3
je 0x437786
test cl, 0xc
je 0x437195
mov eax, ecx
and eax, 0x10
je 0x437786
jmp 0x437195
mov dword [esp + 8], 0x7e355b1b
jmp 0x43748e
mov dword [esp + 8], 0x7e365b1b
jmp 0x43748e
mov esi, 0x58b787
jmp case.0x43714f.88
mov ecx, edi
mov eax, edi
mov byte [esp + 0xa], 0x44
mov word [esp + 8], 0x5b1b
mov edx, edi
and ecx, 0x120
or eax, 0x10
cmp ecx, 0x20
cmovne eax, edi
mov ecx, eax
shr ecx, 4
and ecx, 1
test al, 3
lea edx, [ecx + 2]
cmove edx, ecx
test al, 0xc
lea ecx, [edx + 4]
cmove ecx, edx
test ecx, ecx
je 0x43795e
add cl, 0x31
mov word [esp + 0xa], 0x3b31
mov ebx, 6
mov byte [esp + 0xc], cl
mov byte [esp + 0xd], 0x44
jmp 0x437aa7
mov ecx, edi
mov eax, edi
mov byte [esp + 0xa], 0x41
mov word [esp + 8], 0x5b1b
mov edx, edi
and ecx, 0x120
or eax, 0x10
cmp ecx, 0x20
cmovne eax, edi
mov ecx, eax
shr ecx, 4
and ecx, 1
test al, 3
lea edx, [ecx + 2]
cmove edx, ecx
test al, 0xc
lea ecx, [edx + 4]
cmove ecx, edx
test ecx, ecx
je 0x43795e
add cl, 0x31
mov word [esp + 0xa], 0x3b31
mov ebx, 6
mov byte [esp + 0xc], cl
mov byte [esp + 0xd], 0x41
jmp 0x437aa7
mov ecx, edi
mov eax, edi
mov byte [esp + 0xa], 0x43
mov word [esp + 8], 0x5b1b
mov edx, edi
and ecx, 0x120
or eax, 0x10
cmp ecx, 0x20
cmovne eax, edi
mov ecx, eax
shr ecx, 4
and ecx, 1
test al, 3
lea edx, [ecx + 2]
cmove edx, ecx
test al, 0xc
lea ecx, [edx + 4]
cmove ecx, edx
test ecx, ecx
je 0x43795e
add cl, 0x31
mov word [esp + 0xa], 0x3b31
mov ebx, 6
mov byte [esp + 0xc], cl
mov byte [esp + 0xd], 0x43
jmp 0x437aa7
mov ecx, edi
mov eax, edi
mov byte [esp + 0xa], 0x42
mov word [esp + 8], 0x5b1b
mov edx, edi
and ecx, 0x120
or eax, 0x10
cmp ecx, 0x20
cmovne eax, edi
mov ecx, eax
shr ecx, 4
and ecx, 1
test al, 3
lea edx, [ecx + 2]
cmove edx, ecx
test al, 0xc
lea ecx, [edx + 4]
cmove ecx, edx
test ecx, ecx
je 0x43795e
add cl, 0x31
mov word [esp + 0xa], 0x3b31
mov ebx, 6
mov byte [esp + 0xc], cl
mov byte [esp + 0xd], 0x42
jmp 0x437aa7
mov dword [esp + 8], 0x7e325b1b
jmp 0x43748e
mov dword [esp + 8], 0x7e335b1b
mov ecx, edi
mov eax, edi
mov edx, edi
and ecx, 0x120
or eax, 0x10
cmp ecx, 0x20
cmovne eax, edi
mov ecx, eax
shr ecx, 4
and ecx, 1
test al, 3
lea edx, [ecx + 2]
cmove edx, ecx
test al, 0xc
lea ecx, [edx + 4]
cmove ecx, edx
test ecx, ecx
je 0x4374da
add cl, 0x31
mov byte [esp + 0xb], 0x3b
mov ebx, 6
mov byte [esp + 0xc], cl
mov byte [esp + 0xd], 0x7e
jmp 0x437aa7
mov ebx, 4
jmp 0x437aa7
mov esi, 0x58b79b
push esi
call sub.msvcrt.dll_strlen
add esp, 4
mov ebx, eax
jmp 0x437aab
mov byte [esp + 8], 0
jmp 0x4377a8
mov cl, byte [esp + 0x2e]
test cl, cl
mov byte [esp + 8], cl
je 0x4377a8
mov byte [esp + 9], cl
mov byte [esp + 8], 0x1b
mov ebx, 2
jmp 0x437aa7
mov eax, edi
mov esi, 0x58b79d
test al, 3
mov eax, 0x58b7a0
jmp 0x437131
mov eax, edi
mov esi, 0x58b7a2
test al, 0x10
mov eax, 0x58b7a6
jmp 0x437131
mov eax, edi
mov esi, 0x58b7ac
test al, 0x10
mov eax, 0x58b7a8
jmp 0x437131
mov eax, edi
mov esi, 0x58b7ae
test al, 3
jne case.0x43714f.88
jmp case.0x43711c.0
mov eax, edi
mov esi, 0x58b7b1
test al, 3
jne case.0x43714f.88
mov eax, edi
test al, 0xc
je 0x437c77
mov byte [esp + 8], 0
mov ebx, 1
jmp 0x437aa7
mov edx, edi
test dl, 0x10
jne 0x437b15
mov dword [esp + 8], 0x7e355b1b
jmp 0x4376df
mov edx, edi
test dl, 0x10
jne 0x437b21
mov dword [esp + 8], 0x7e365b1b
jmp 0x4376df
mov eax, edi
mov esi, 0x58b7b9
test al, 0x10
mov eax, str.e_4
jmp 0x437131
mov eax, edi
mov esi, str.70234689_
test al, 0x10
mov eax, str.e_1
jmp 0x437131
mov edx, edi
test dl, 0x10
jne 0x437b30
mov ecx, edx
mov eax, edx
mov byte [esp + 0xa], 0x44
mov word [esp + 8], 0x5b1b
and ecx, 0x120
or eax, 0x10
cmp ecx, 0x20
cmovne eax, edx
jmp 0x437325
mov edx, edi
test dl, 0x10
jne 0x437b3f
mov ecx, edx
mov eax, edx
mov byte [esp + 0xa], 0x41
mov word [esp + 8], 0x5b1b
and ecx, 0x120
or eax, 0x10
cmp ecx, 0x20
cmovne eax, edx
jmp 0x437383
mov edx, edi
test dl, 0x10
jne 0x437b4e
mov ecx, edx
mov eax, edx
mov byte [esp + 0xa], 0x43
mov word [esp + 8], 0x5b1b
and ecx, 0x120
or eax, 0x10
cmp ecx, 0x20
cmovne eax, edx
jmp 0x4373e1
mov edx, edi
test dl, 0x10
jne 0x437b5d
mov ecx, edx
mov eax, edx
mov byte [esp + 0xa], 0x42
mov word [esp + 8], 0x5b1b
and ecx, 0x120
or eax, 0x10
cmp ecx, 0x20
cmovne eax, edx
jmp 0x43743f
mov edx, edi
test dl, 0x10
jne 0x437b6c
mov dword [esp + 8], 0x7e325b1b
jmp 0x4376df
push 2
push 0x6e
call dword [sym.imp.USER32.dll_MapVirtualKeyA]
mov edx, edi
test dl, 0x10
jne 0x437b7b
mov dword [esp + 8], 0x7e335b1b
mov ecx, edx
mov eax, edx
and ecx, 0x120
or eax, 0x10
cmp ecx, 0x20
cmovne eax, edx
jmp 0x4374a3
mov esi, 0x58b7b9
jmp case.0x43714f.88
mov esi, 0x58b7c4
jmp case.0x43714f.88
mov esi, 0x58b7c6
jmp case.0x43714f.88
mov esi, 0x58b7c8
jmp case.0x43714f.88
mov esi, 0x58b7ac
jmp case.0x43714f.88
mov esi, 0x58b7ca
jmp case.0x43714f.88
mov esi, str.70234689_
jmp case.0x43714f.88
mov esi, 0x58b7cc
jmp case.0x43714f.88
mov esi, 0x58b7ce
jmp case.0x43714f.88
mov esi, 0x58b7d0
jmp case.0x43714f.88
mov esi, 0x58b7d2
jmp case.0x43714f.88
mov esi, 0x58b7d4
jmp case.0x43714f.88
mov al, byte [esp + 0x1c]
test al, al
je 0x437b91
xor ebx, ebx
test al, al
mov byte [esp + 8], al
setne bl
test ebx, ebx
lea esi, [esp + 8]
jne 0x437aab
mov al, byte [esp + 0x1c]
test al, al
je 0x4377a8
mov byte [esp + 8], al
mov ebx, 1
jmp 0x437aa7
mov eax, dword [0x5bc570]
cmp byte [eax], 0
jns 0x437aea
call fcn.004ddb30
cmp eax, 1
jg 0x437aea
call dword [sym.imp.msvcrt.dll__errno]
mov esi, dword [eax]
lea ebx, [esp + 0x18]
mov ecx, ebx
push 0xffffffffffffffff
push 0
push 1
push 0
push 0x7dd
push 0x58acc4
call fcn.004ddb50
mov ecx, ebx
call fcn.004ddb40
mov ebx, eax
test edi, 0x100
mov eax, 0x58b885
mov ecx, 0x58b880
cmovne eax, ecx
push eax
push dword [esp + 0x40]
push str._console_read:_unknown_virtual_key_code:__d__enhanced:__s
lea eax, [esp + 0x5c]
push eax
call fcn.004deac0
add esp, 0x10
movzx eax, byte [esp + 0x50]
test al, 1
je 0x437ce0
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
jmp 0x437ce6
mov eax, edi
mov edx, edi
mov byte [esp + 0xa], 0x50
mov word [esp + 8], 0x4f1b
shr eax, 4
and eax, 1
test dl, 3
lea ecx, [eax + 2]
cmove ecx, eax
test dl, 0xc
lea eax, [ecx + 4]
cmove eax, ecx
test eax, eax
je 0x43795e
add al, 0x31
mov word [esp + 0xa], 0x3b31
mov ebx, 6
mov byte [esp + 0xc], al
mov byte [esp + 0xd], 0x50
jmp 0x437aa7
mov eax, edi
mov edx, edi
mov byte [esp + 0xa], 0x51
mov word [esp + 8], 0x4f1b
shr eax, 4
and eax, 1
test dl, 3
lea ecx, [eax + 2]
cmove ecx, eax
test dl, 0xc
lea eax, [ecx + 4]
cmove eax, ecx
test eax, eax
je 0x43795e
add al, 0x31
mov word [esp + 0xa], 0x3b31
mov ebx, 6
mov byte [esp + 0xc], al
mov byte [esp + 0xd], 0x51
jmp 0x437aa7
mov eax, edi
mov edx, edi
mov byte [esp + 0xa], 0x52
mov word [esp + 8], 0x4f1b
shr eax, 4
and eax, 1
test dl, 3
lea ecx, [eax + 2]
cmove ecx, eax
test dl, 0xc
lea eax, [ecx + 4]
cmove eax, ecx
test eax, eax
je 0x43795e
add al, 0x31
mov word [esp + 0xa], 0x3b31
mov ebx, 6
mov byte [esp + 0xc], al
mov byte [esp + 0xd], 0x52
jmp 0x437aa7
mov eax, edi
mov edx, edi
mov byte [esp + 0xa], 0x53
mov word [esp + 8], 0x4f1b
shr eax, 4
and eax, 1
test dl, 3
lea ecx, [eax + 2]
cmove ecx, eax
test dl, 0xc
lea eax, [ecx + 4]
cmove eax, ecx
test eax, eax
je 0x43795e
add al, 0x31
mov word [esp + 0xa], 0x3b31
mov ebx, 6
mov byte [esp + 0xc], al
mov byte [esp + 0xd], 0x53
jmp 0x437aa7
mov ebx, 3
jmp 0x437aa7
mov byte [esp + 0xc], 0x7e
mov dword [esp + 8], 0x35315b1b
jmp 0x437a6b
mov byte [esp + 0xc], 0x7e
mov dword [esp + 8], 0x37315b1b
jmp 0x437a6b
mov byte [esp + 0xc], 0x7e
mov dword [esp + 8], 0x38315b1b
jmp 0x437a6b
mov byte [esp + 0xc], 0x7e
mov dword [esp + 8], 0x39315b1b
jmp 0x437a6b
mov byte [esp + 0xc], 0x7e
mov dword [esp + 8], 0x30325b1b
jmp 0x437a6b
mov byte [esp + 0xc], 0x7e
mov dword [esp + 8], 0x31325b1b
jmp 0x437a6b
mov byte [esp + 0xc], 0x7e
mov dword [esp + 8], 0x33325b1b
jmp 0x437a6b
mov byte [esp + 0xc], 0x7e
mov dword [esp + 8], 0x34325b1b
jmp 0x437a6b
mov byte [esp + 0xc], 0x7e
mov dword [esp + 8], 0x35325b1b
jmp 0x437a6b
mov byte [esp + 0xc], 0x7e
mov dword [esp + 8], 0x36325b1b
jmp 0x437a6b
mov byte [esp + 0xc], 0x7e
mov dword [esp + 8], 0x38325b1b
jmp 0x437a6b
mov byte [esp + 0xc], 0x7e
mov dword [esp + 8], 0x39325b1b
jmp 0x437a6b
mov byte [esp + 0xc], 0x7e
mov dword [esp + 8], 0x31335b1b
jmp 0x437a6b
mov byte [esp + 0xc], 0x7e
mov dword [esp + 8], 0x32335b1b
jmp 0x437a6b
mov byte [esp + 0xc], 0x7e
mov dword [esp + 8], 0x33335b1b
jmp 0x437a6b
mov byte [esp + 0xc], 0x7e
mov dword [esp + 8], 0x34335b1b
mov eax, edi
mov edx, edi
shr eax, 4
and eax, 1
test dl, 3
lea ecx, [eax + 2]
cmove ecx, eax
test dl, 0xc
lea eax, [ecx + 4]
cmove eax, ecx
test eax, eax
je 0x437aa2
mov ebx, 7
add al, 0x31
mov byte [esp + 0xc], 0x3b
mov byte [esp + 0xd], al
mov byte [esp + 0xe], 0x7e
jmp 0x437aa7
mov ebx, 5
lea esi, [esp + 8]
mov eax, dword [esp + 0x28]
mov ecx, eax
dec ecx
test ax, ax
mov word [esp + 0x28], cx
je 0x437aea
add ebx, esi
nop
mov ecx, dword [0x5c113c]
mov eax, dword [ecx + 4]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
push ebx
push esi
push eax
call fcn.00576a60
mov eax, dword [esp + 0x28]
mov ecx, eax
dec ecx
test ax, ax
mov word [esp + 0x28], cx
jne 0x437ac0
mov ebx, dword [0x5c113c]
lea ecx, [esp + 0x20]
xorps xmm0, xmm0
lea edi, [esp + 0x18]
mov edx, ecx
mov ecx, dword [sym.imp.KERNEL32.dll_ReadConsoleInputA]
mov eax, dword [ebx]
mov esi, dword [ebx + 4]
cmp eax, esi
je 0x436f1b
jmp 0x437dc8
mov byte [esp + 8], 0x39
mov ebx, 1
jmp 0x437aa7
mov byte [esp + 8], 0x33
mov ebx, 1
jmp 0x437aa7
mov byte [esp + 8], 0x34
mov ebx, 1
jmp 0x437aa7
mov byte [esp + 8], 0x38
mov ebx, 1
jmp 0x437aa7
mov byte [esp + 8], 0x36
mov ebx, 1
jmp 0x437aa7
mov byte [esp + 8], 0x32
mov ebx, 1
jmp 0x437aa7
mov byte [esp + 8], 0x30
mov ebx, 1
jmp 0x437aa7
test al, al
je case.0x43714f.2
mov byte [esp + 8], al
mov ebx, 1
jmp 0x437aa7
mov eax, edi
test al, 0xc
je 0x437c81
mov ecx, edi
xorps xmm0, xmm0
mov word [esp + 0x18], 0
mov eax, ecx
movaps xmmword [esp + 0x60], xmm0
movaps xmmword [esp + 0x140], xmm0
movaps xmmword [esp + 0x130], xmm0
movaps xmmword [esp + 0x120], xmm0
movaps xmmword [esp + 0x110], xmm0
movaps xmmword [esp + 0x100], xmm0
movaps xmmword [esp + 0xf0], xmm0
movaps xmmword [esp + 0xe0], xmm0
movaps xmmword [esp + 0xd0], xmm0
movaps xmmword [esp + 0xc0], xmm0
movaps xmmword [esp + 0xb0], xmm0
movaps xmmword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x90], xmm0
movaps xmmword [esp + 0x80], xmm0
movaps xmmword [esp + 0x70], xmm0
movaps xmmword [esp + 0x50], xmm0
shl al, 3
and al, 0x80
test cl, 3
mov byte [esp + 0x60], al
setne al
shl al, 7
mov byte [esp + 0x62], al
mov eax, ecx
shr al, 7
mov byte [esp + 0x64], al
movzx eax, word [esp + 0x2c]
mov byte [esp + 0x61], 0
push 0
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x58]
push ecx
push eax
push dword [esp + 0x4c]
call dword [sym.imp.USER32.dll_ToAscii]
cmp eax, 1
jne 0x437c88
mov al, byte [esp + 0x18]
mov ebx, 1
mov byte [esp + 8], al
jmp 0x437aa7
mov esi, 0x58b58b
jmp case.0x43714f.88
xor eax, eax
jmp 0x43777b
mov al, byte [esp + 0x2e]
jmp 0x43777b
mov eax, dword [sym.imp.msvcrt.dll__errno]
mov edi, eax
call eax
mov esi, dword [eax]
lea ebx, [esp + 0x50]
mov ecx, ebx
push 0xffffffffffffffff
push 0
push 6
push 0
push 0x51b
push 0x58acc4
call fcn.004ddb50
mov ecx, ebx
call fcn.004ddb40
push 0x3d
push str.ReadConsoleInputA_returned_a_key_event_with_zero_repeat_count
push eax
call fcn.0056cec0
add esp, 0xc
mov ecx, ebx
call fcn.004ddc40
call edi
mov dword [eax], esi
jmp 0x4370b4
shr eax, 1
lea ecx, [esp + 0x51]
push eax
push ecx
push ebx
call fcn.0056cec0
add esp, 0xc
test byte [esp + 0x50], 1
je 0x437d04
push dword [esp + 0x58]
call fcn.004fc300
add esp, 4
lea ecx, [esp + 0x18]
call fcn.004ddc40
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], esi
jmp 0x437aea
mov eax, dword [0x5bc570]
mov edi, 5
cmp byte [eax], 0
jns 0x437db6
call fcn.004ddb30
cmp eax, 1
jg 0x437db6
call dword [sym.imp.msvcrt.dll__errno]
mov ebx, dword [eax]
lea esi, [esp + 0x4c]
mov ecx, esi
push 0xffffffffffffffff
push 0
push 1
push 0
push 0x4ff
push 0x58acc4
call fcn.004ddb50
mov ecx, esi
call fcn.004ddb40
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esp + 8]
push eax
push ecx
call fcn.004df0f0
add esp, 8
test byte [esp + 8], 1
je 0x437d88
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], eax
push dword [esp + 0x44]
push str._get_key_event_record:_ReadConsoleInputA___failed:__s_n
lea eax, [esp + 0x58]
push eax
call fcn.004deac0
add esp, 0xc
movzx eax, byte [esp + 0x50]
test al, 1
je 0x437dd8
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
jmp 0x437dde
mov edi, 4
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], edi
mov eax, 0xffffffff
jmp 0x436ef6
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov edi, ebx
add edi, 4
jmp 0x436e56
shr eax, 1
lea ecx, [esp + 0x51]
push eax
push ecx
push esi
call fcn.0056cec0
add esp, 0xc
test byte [esp + 0x50], 1
je 0x437dfc
push dword [esp + 0x58]
call fcn.004fc300
add esp, 4
test byte [esp + 8], 1
je 0x437e0f
push dword [esp + 0x10]
call fcn.004fc300
add esp, 4
lea ecx, [esp + 0x4c]
call fcn.004ddc40
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], ebx
jmp 0x437db6