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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x150
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
test ebx, ebx
jne 0x438a59
mov edi, dword [0x5ac124]
test edi, edi
je 0x438a59
xor eax, eax
test edx, edx
je 0x438ab4
mov ebx, dword [0x5ac11c]
mov eax, dword [ebx]
mov esi, dword [ebx + 4]
cmp eax, esi
je 0x438abc
lea edi, [ebx + 4]
mov dword [esp + 0x1c], edi
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 0x438ab4
mov edx, dword [esp + 0x1c]
mov ebx, dword [ebx]
mov eax, dword [edx]
lea edi, [ebx + esi]
cmp edi, eax
je 0x438a4f
mov ecx, eax
sub ecx, edi
je 0x438a4f
push ecx
push edi
push ebx
call sub.msvcrt.dll_memmove
mov edx, dword [esp + 0x28]
add esp, 0xc
mov eax, dword [edx]
sub eax, edi
add ebx, eax
mov eax, esi
mov dword [edx], ebx
jmp 0x438ab4
mov edi, ecx
cmp edx, 0x1001
jb 0x438aa7
push ebx
call sub.msvcrt.dll__isatty
add esp, 4
test eax, eax
je 0x438aa2
push ebx
call dword [sym.imp.msvcrt.dll__get_osfhandle]
add esp, 4
mov esi, eax
cmp eax, 0xffffffff
je 0x438aa2
lea eax, [esp + 0x40]
mov dword [esp + 0x40], 0
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetConsoleMode]
test esi, esi
je 0x438aa2
mov ecx, 0x1000
test eax, eax
jne 0x438aa9
mov ecx, dword [ebp + 0x10]
jmp 0x438aa9
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 + 0x1c], edi
xorps xmm0, xmm0
lea edi, [esp + 0x40]
lea edx, [esp + 0x20]
mov dword [esp + 0x40], 0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x30], 0
push edi
push 1
push edx
mov ebx, dword [esp + 0x28]
push ebx
call ecx
mov esi, edi
mov edi, ebx
test eax, eax
lea ebx, [esp + 0x20]
je 0x4396ea
nop word cs:[eax + eax]
nop dword [eax + eax]
mov eax, dword [esp + 0x40]
cmp eax, 1
jne 0x4397cb
movzx eax, word [esp + 0x20]
mov ecx, dword [sym.imp.KERNEL32.dll_ReadConsoleInputA]
xorps xmm0, xmm0
cmp eax, 1
je 0x438b40
movzx eax, ax
cmp eax, 4
jne 0x438b47
jmp 0x4397a0
cmp dword [esp + 0x24], 0
jne 0x438b6c
mov dword [esp + 0x40], 0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x30], 0
push esi
push 1
push ebx
push edi
call ecx
test eax, eax
jne 0x438b10
jmp 0x4396ea
cmp word [esp + 0x28], 0
je 0x4397e3
mov al, byte [esp + 0x2e]
movzx edx, word [esp + 0x2a]
mov ecx, dword [esp + 0x30]
test al, al
mov byte [esp + 0x13], al
je 0x438bbd
mov eax, ecx
and eax, 3
je 0x438bbd
mov eax, ecx
and eax, 0xc
je 0x438bbd
test cl, 1
jne 0x438bba
test cl, 2
je 0x438bbd
test cl, 8
jne 0x438c75
mov eax, ecx
and eax, 4
xor eax, 0xfffffffd
and ecx, eax
jmp 0x438bbd
and ecx, 0xfffffff6
mov edi, ecx
test ecx, 0x100
mov dword [esp + 0x38], edx
je 0x438bfc
lea eax, [edx - 0xd]
movzx eax, ax
cmp eax, 0x62
ja case.0x438c12.2
mov esi, 0x579224
jmp dword [eax*4 + 0x57842c]
mov eax, edi
mov esi, 0x579220
test al, 0xc
mov eax, 0x579222
cmove esi, eax
jmp case.0x438c12.88
lea eax, [edx - 8]
movzx eax, ax
cmp eax, 0xda
ja case.0x438c12.2
mov esi, 0x579263
jmp dword [eax*4 + 0x5780c0]
mov cl, byte [esp + 0x13]
test cl, cl
je 0x438c7d
mov eax, edi
mov byte [esp], cl
test al, 3
jne 0x438f99
jmp 0x43919f
mov ecx, esp
lea edx, [esp + 0x24]
mov esi, edi
push edi
call fcn.0043b0b0
add esp, 4
mov ebx, eax
mov eax, edi
test al, 3
je 0x43918a
test ebx, ebx
je case.0x438c12.2
push ebx
lea eax, [esp + 4]
push eax
lea eax, [esp + 9]
push eax
call sub.msvcrt.dll_memmove
add esp, 0xc
mov byte [esp], 0x1b
inc ebx
jmp 0x43918a
and ecx, 0xfffffff5
jmp 0x438bbd
mov ecx, edi
test cl, 3
je 0x438f81
mov eax, ecx
xorps xmm0, xmm0
mov word [esp + 0x14], 0
shl al, 3
movaps xmmword [esp + 0x50], 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 + 0x60], xmm0
movaps xmmword [esp + 0x40], xmm0
and al, 0x80
test cl, 0xc
mov byte [esp + 0x50], al
setne al
shl al, 7
mov byte [esp + 0x51], al
mov eax, ecx
shr al, 7
mov byte [esp + 0x54], al
movzx eax, word [esp + 0x2c]
mov byte [esp + 0x52], 0
push 0
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x48]
push ecx
push eax
push dword [esp + 0x48]
call dword [sym.imp.USER32.dll_ToAscii]
cmp eax, 1
jne 0x438f8a
mov cl, byte [esp + 0x14]
mov byte [esp], cl
jmp 0x438f99
mov ecx, esp
lea edx, [esp + 0x24]
mov esi, edi
push edi
call fcn.0043b0b0
mov ecx, edi
add esp, 4
mov ebx, eax
test cl, 3
je 0x43918a
test cl, 0xc
je 0x438c50
mov eax, ecx
and eax, 0x10
je 0x43918a
jmp 0x438c50
mov dword [esp], 0x7e335b1b
jmp 0x438eda
mov dword [esp], 0x7e355b1b
jmp 0x438eda
mov ecx, edi
mov eax, edi
mov byte [esp + 2], 0x44
mov word [esp], 0x5b1b
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 0x439420
add cl, 0x31
mov word [esp + 2], 0x3b31
mov byte [esp + 4], cl
mov byte [esp + 5], 0x44
jmp 0x438f1a
mov esi, 0x57923c
jmp case.0x438c12.88
mov ecx, edi
mov eax, edi
mov byte [esp + 2], 0x41
mov word [esp], 0x5b1b
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 0x439420
add cl, 0x31
mov word [esp + 2], 0x3b31
mov byte [esp + 4], cl
mov byte [esp + 5], 0x41
jmp 0x438f1a
mov ecx, edi
mov eax, edi
mov byte [esp + 2], 0x43
mov word [esp], 0x5b1b
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 0x439420
add cl, 0x31
mov word [esp + 2], 0x3b31
mov byte [esp + 4], cl
mov byte [esp + 5], 0x43
jmp 0x438f1a
mov dword [esp], 0x7e365b1b
jmp 0x438eda
mov esi, 0x579228
push esi
call sub.msvcrt.dll_strlen
add esp, 4
mov ebx, eax
jmp 0x439518
mov dword [esp], 0x7e325b1b
mov ecx, edi
mov eax, 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 0x438f24
add cl, 0x31
mov byte [esp + 3], 0x3b
mov byte [esp + 4], cl
mov byte [esp + 5], 0x7e
mov ebx, 6
jmp 0x439516
mov ebx, 4
jmp 0x439516
mov ecx, edi
mov eax, edi
mov byte [esp + 2], 0x42
mov word [esp], 0x5b1b
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 0x439420
add cl, 0x31
mov word [esp + 2], 0x3b31
mov byte [esp + 4], cl
mov byte [esp + 5], 0x42
jmp 0x438f1a
mov byte [esp], 0
jmp 0x4391a9
mov cl, byte [esp + 0x2e]
test cl, cl
mov byte [esp], cl
je 0x4391a9
mov byte [esp + 1], cl
mov byte [esp], 0x1b
mov ebx, 2
jmp 0x439516
mov eax, edi
mov edx, edi
mov byte [esp + 2], 0x51
mov word [esp], 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 0x439420
add al, 0x31
mov word [esp + 2], 0x3b31
mov byte [esp + 4], al
mov byte [esp + 5], 0x51
jmp 0x438f1a
mov byte [esp + 4], 0x7e
mov dword [esp], 0x33325b1b
jmp 0x4394d8
mov esi, 0x579273
jmp case.0x438c12.88
mov esi, 0x57926d
jmp case.0x438c12.88
mov byte [esp + 4], 0x7e
mov dword [esp], 0x37315b1b
jmp 0x4394d8
mov esi, 0x579265
jmp case.0x438c12.88
mov esi, 0x579269
jmp case.0x438c12.88
mov byte [esp + 4], 0x7e
mov dword [esp], 0x35325b1b
jmp 0x4394d8
mov esi, 0x57924d
jmp case.0x438c12.88
mov esi, str.70234689_
jmp case.0x438c12.88
mov edx, edi
test dl, 0x10
jne 0x439586
mov ecx, edx
mov eax, edx
mov byte [esp + 2], 0x43
mov word [esp], 0x5b1b
and ecx, 0x120
or eax, 0x10
cmp ecx, 0x20
cmovne eax, edx
jmp 0x438e80
mov edx, edi
test dl, 0x10
jne 0x43958f
mov ecx, edx
mov eax, edx
mov byte [esp + 2], 0x41
mov word [esp], 0x5b1b
and ecx, 0x120
or eax, 0x10
cmp ecx, 0x20
cmovne eax, edx
jmp 0x438e2a
mov byte [esp + 4], 0x7e
mov dword [esp], 0x31325b1b
jmp 0x4394d8
mov eax, edi
mov esi, 0x579252
test al, 3
jne case.0x438c12.88
mov eax, edi
test al, 0xc
je 0x4396af
mov byte [esp], 0
jmp 0x43919f
mov eax, edi
mov esi, str.70234689_
test al, 0x10
mov eax, str.e_1
jmp 0x438bf4
mov eax, edi
mov esi, 0x57925a
test al, 0x10
mov eax, str.e_4
jmp 0x438bf4
mov edx, edi
test dl, 0x10
jne 0x439598
mov dword [esp], 0x7e325b1b
jmp 0x4392da
push 2
push 0x6e
call dword [sym.imp.USER32.dll_MapVirtualKeyA]
mov edx, edi
test dl, 0x10
jne 0x4395a1
mov dword [esp], 0x7e335b1b
jmp 0x4392da
mov eax, edi
mov esi, 0x57924f
test al, 3
jne case.0x438c12.88
jmp case.0x438bdf.0
mov eax, edi
mov esi, 0x579243
test al, 0x10
mov eax, 0x579247
jmp 0x438bf4
mov al, byte [esp + 0x13]
test al, al
je 0x4395d5
xor ebx, ebx
test al, al
mov byte [esp], al
setne bl
test ebx, ebx
mov esi, esp
jne 0x439518
mov al, byte [esp + 0x13]
test al, al
je 0x4391a9
mov byte [esp], al
mov ebx, 1
jmp 0x439516
cmp byte [0x5ac048], 0
jns 0x43955b
call fcn.004ce330
cmp eax, 1
jg 0x43955b
call dword [sym.imp.msvcrt.dll__errno]
mov esi, dword [eax]
lea ebx, [esp + 0x40]
mov ecx, ebx
push 0xffffffffffffffff
push 0
push 1
push 0
push 0x7e5
push str.system_core_adb_sysdeps_win32.cpp
call fcn.004ce350
mov ecx, ebx
call fcn.004ce340
mov ebx, eax
test edi, 0x100
mov eax, 0x579326
mov ecx, 0x579321
cmovne eax, ecx
push eax
push dword [esp + 0x3c]
push str._console_read:_unknown_virtual_key_code:__d__enhanced:__s
lea eax, [esp + 0x20]
push eax
call fcn.004cf170
add esp, 0x10
mov eax, dword [esp + 0x14]
push dword [eax - 0xc]
push eax
push ebx
call fcn.0055d520
add esp, 0xc
mov eax, dword [esp + 0x14]
lea ecx, [eax - 0xc]
cmp ecx, 0x56dff0
jne 0x4396c9
lea ecx, [esp + 0x40]
call fcn.004ce390
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], esi
jmp 0x43955b
mov esi, 0x579267
jmp case.0x438c12.88
mov eax, edi
mov esi, 0x57924d
test al, 0x10
mov eax, 0x579249
jmp 0x438bf4
mov edx, edi
test dl, 0x10
jne 0x4395b1
mov dword [esp], 0x7e355b1b
jmp 0x4392da
mov edx, edi
test dl, 0x10
jne 0x4395ba
mov ecx, edx
mov eax, edx
mov byte [esp + 2], 0x44
mov word [esp], 0x5b1b
and ecx, 0x120
or eax, 0x10
cmp ecx, 0x20
cmovne eax, edx
jmp 0x438dca
mov eax, edi
mov esi, 0x57923e
test al, 3
mov eax, 0x579241
jmp 0x438bf4
mov edx, edi
test dl, 0x10
jne 0x4395c3
mov dword [esp], 0x7e365b1b
mov ecx, edx
mov eax, edx
and ecx, 0x120
or eax, 0x10
cmp ecx, 0x20
cmovne eax, edx
jmp 0x438eed
mov edx, edi
test dl, 0x10
jne 0x4395cc
mov ecx, edx
mov eax, edx
mov byte [esp + 2], 0x42
mov word [esp], 0x5b1b
and ecx, 0x120
or eax, 0x10
cmp ecx, 0x20
cmovne eax, edx
jmp 0x438f4c
mov byte [esp + 4], 0x7e
mov dword [esp], 0x34335b1b
jmp 0x4394d8
mov eax, edi
mov edx, edi
mov byte [esp + 2], 0x52
mov word [esp], 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 0x439420
add al, 0x31
mov word [esp + 2], 0x3b31
mov byte [esp + 4], al
mov byte [esp + 5], 0x52
jmp 0x438f1a
mov esi, 0x57926f
jmp case.0x438c12.88
mov eax, edi
mov edx, edi
mov byte [esp + 2], 0x50
mov word [esp], 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 0x439420
add al, 0x31
mov word [esp + 2], 0x3b31
mov byte [esp + 4], al
mov byte [esp + 5], 0x50
jmp 0x438f1a
mov byte [esp + 4], 0x7e
mov dword [esp], 0x38325b1b
jmp 0x4394d8
mov esi, 0x579275
jmp case.0x438c12.88
mov eax, edi
mov edx, edi
mov byte [esp + 2], 0x53
mov word [esp], 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 0x439420
add al, 0x31
mov word [esp + 2], 0x3b31
mov byte [esp + 4], al
mov byte [esp + 5], 0x53
jmp 0x438f1a
mov ebx, 3
jmp 0x439516
mov byte [esp + 4], 0x7e
mov dword [esp], 0x30325b1b
jmp 0x4394d8
mov esi, 0x57925a
jmp case.0x438c12.88
mov byte [esp + 4], 0x7e
mov dword [esp], 0x39325b1b
jmp 0x4394d8
mov byte [esp + 4], 0x7e
mov dword [esp], 0x38315b1b
jmp 0x4394d8
mov esi, 0x579271
jmp case.0x438c12.88
mov byte [esp + 4], 0x7e
mov dword [esp], 0x33335b1b
jmp 0x4394d8
mov esi, 0x57926b
jmp case.0x438c12.88
mov byte [esp + 4], 0x7e
mov dword [esp], 0x36325b1b
jmp 0x4394d8
mov byte [esp + 4], 0x7e
mov dword [esp], 0x34325b1b
jmp 0x4394d8
mov byte [esp + 4], 0x7e
mov dword [esp], 0x35315b1b
jmp 0x4394d8
mov byte [esp + 4], 0x7e
mov dword [esp], 0x31335b1b
jmp 0x4394d8
mov byte [esp + 4], 0x7e
mov dword [esp], 0x39315b1b
jmp 0x4394d8
mov byte [esp + 4], 0x7e
mov dword [esp], 0x32335b1b
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 0x439511
add al, 0x31
mov byte [esp + 4], 0x3b
mov ebx, 7
mov esi, esp
mov byte [esp + 5], al
mov byte [esp + 6], 0x7e
jmp 0x439518
mov ebx, 5
mov esi, esp
movzx eax, word [esp + 0x28]
mov ecx, eax
dec ecx
test ax, ax
mov word [esp + 0x28], cx
je 0x43955b
add ebx, esi
nop dword [eax]
mov ecx, dword [0x5ac11c]
mov eax, dword [ecx + 4]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
push ebx
push esi
push eax
call fcn.0043b960
movzx eax, word [esp + 0x28]
mov ecx, eax
dec ecx
test ax, ax
mov word [esp + 0x28], cx
jne 0x439530
mov ebx, dword [0x5ac11c]
lea ecx, [esp + 0x20]
xorps xmm0, xmm0
lea edi, [esp + 0x40]
mov edx, ecx
mov ecx, dword [sym.imp.KERNEL32.dll_ReadConsoleInputA]
mov eax, dword [ebx]
mov esi, dword [ebx + 4]
cmp eax, esi
je 0x438ad1
jmp 0x4397b7
mov byte [esp], 0x36
jmp 0x43919f
mov byte [esp], 0x38
jmp 0x43919f
mov byte [esp], 0x30
jmp 0x43919f
test al, al
je case.0x438c12.2
mov byte [esp], al
jmp 0x43919f
mov byte [esp], 0x39
jmp 0x43919f
mov byte [esp], 0x34
jmp 0x43919f
mov byte [esp], 0x33
jmp 0x43919f
mov byte [esp], 0x32
jmp 0x43919f
mov eax, edi
test al, 0xc
je 0x4396b9
mov ecx, edi
xorps xmm0, xmm0
mov word [esp + 0x14], 0
mov eax, ecx
movaps xmmword [esp + 0x50], 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 + 0x60], xmm0
movaps xmmword [esp + 0x40], xmm0
shl al, 3
and al, 0x80
test cl, 3
mov byte [esp + 0x50], al
setne al
shl al, 7
mov byte [esp + 0x52], al
mov eax, ecx
shr al, 7
mov byte [esp + 0x54], al
movzx eax, word [esp + 0x2c]
mov byte [esp + 0x51], 0
push 0
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x48]
push ecx
push eax
push dword [esp + 0x48]
call dword [sym.imp.USER32.dll_ToAscii]
cmp eax, 1
jne 0x4396c0
mov al, byte [esp + 0x14]
jmp 0x43919c
mov esi, 0x578fa8
jmp case.0x438c12.88
xor eax, eax
jmp 0x439180
mov al, byte [esp + 0x2e]
jmp 0x439180
mov edx, 0xffffffff
lock xadd dword [eax - 4], edx
test edx, edx
jg 0x439240
lea eax, [esp + 0x3c]
push eax
call fcn.00533980
jmp 0x439240
cmp byte [0x5ac048], 0
mov edi, 5
jns 0x4397a5
call fcn.004ce330
cmp eax, 1
jg 0x4397a5
call dword [sym.imp.msvcrt.dll__errno]
mov ebx, dword [eax]
mov esi, esp
mov ecx, esi
push 0xffffffffffffffff
push 0
push 1
push 0
push 0x506
push str.system_core_adb_sysdeps_win32.cpp
call fcn.004ce350
mov ecx, esi
call fcn.004ce340
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.004cfe30
add esp, 8
push dword [esp + 0x3c]
push str._get_key_event_record:_ReadConsoleInputA___failed:__s_n
lea eax, [esp + 0x1c]
push eax
call fcn.004cf170
add esp, 0xc
mov eax, dword [esp + 0x14]
push dword [eax - 0xc]
push eax
push esi
call fcn.0055d520
add esp, 0xc
mov eax, dword [esp + 0x14]
lea ecx, [eax - 0xc]
cmp ecx, 0x56dff0
jne 0x4397ed
mov eax, dword [esp + 0x3c]
lea ecx, [eax - 0xc]
cmp ecx, 0x56dff0
jne 0x43980a
mov ecx, esp
call fcn.004ce390
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], ebx
jmp 0x4397a5
mov edi, 4
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], edi
mov eax, 0xffffffff
jmp 0x438ab4
mov ecx, ebx
mov edx, dword [ebp + 0x10]
add ecx, 4
mov dword [esp + 0x1c], ecx
mov ecx, dword [ebp + 0xc]
jmp 0x438a0a
test eax, eax
jne 0x4397d9
push str.ReadConsoleInputA_returned_0
call fcn.004113e0
push str.ReadConsoleInputA_did_not_return_one_input_record
call fcn.004113e0
push str.ReadConsoleInputA_returned_a_key_event_with_zero_repeat_count
call fcn.004113e0
mov edx, 0xffffffff
lock xadd dword [eax - 4], edx
test edx, edx
jg 0x439780
lea eax, [esp + 0x18]
push eax
call fcn.00533980
jmp 0x439780
mov edx, 0xffffffff
lock xadd dword [eax - 4], edx
test edx, edx
jg 0x43978f
lea eax, [esp + 0x18]
push eax
call fcn.00533980
jmp 0x43978f