Function at 0x5d494c
Capabilities:
Create process on windows
Log keystrokes via polling
Resolve function by parsing pe exports

Disassembly:
push ebp
sub esp, 0x6c
mov eax, 0x6c8c66
call fcn.0066bd6c
sub esp, 0x144
push ebx
push esi
push edi
mov edi, ecx
mov ecx, dword [ebp + 0x78]
mov dword [ebp + 0x58], edi
cmp ecx, 0x41
jg 0x5d49fa
je 0x5d49b4
lea eax, [ecx - 0x2f]
cmp eax, 9
ja case.0x5d4989.48
movzx eax, byte [eax + 0x5d5fc4]
jmp dword [eax*4 + 0x5d5fb4]
push dword [edi + 4]
call fcn.0060450d
jmp 0x5d5f97
call fcn.006060c0
jmp 0x5d5f97
push ecx
mov ecx, edi
call fcn.005d67e7
jmp 0x5d5f97
mov esi, dword [edi + 0xf4]
xor ebx, ebx
lea ecx, [esi + 0x44]
cmp dword [esi + 0x54], ebx
je 0x5d49ef
mov eax, dword [esi + 0x50]
mov dword [ebp], ecx
lea ecx, [ebp]
mov dword [ebp + 4], eax
call fcn.00424bf2
mov ecx, esi
push dword [eax]
call fcn.0060839b
cmp byte [eax + 0x28], 0x11
jne 0x5d49ef
lea ebx, [eax + 0x2c]
cmp dword [ebx + 0x14], 8
jb 0x5d49ef
mov ebx, dword [ebx]
push ebx
call fcn.0059951b
jmp 0x5d5f97
mov eax, 0x2b81
cmp ecx, eax
jg 0x5d4ad1
je 0x5d4ac5
mov eax, ecx
sub eax, 0x2b73
je 0x5d4ab9
sub eax, 3
je 0x5d4aad
sub eax, 6
je 0x5d4a52
sub eax, 4
jne case.0x5d4989.48
xor ebx, ebx
push ebx
push ebx
push 0x8070
push dword [edi + 0x1f0]
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, edi
call fcn.005d6c9c
jmp 0x5d5f97
mov esi, dword [edi + 0xf4]
xor ebx, ebx
lea ecx, [esi + 0x44]
cmp dword [esi + 0x54], ebx
jbe 0x5d4aa1
mov eax, dword [esi + 0x50]
add eax, ebx
mov dword [ebp], ecx
lea ecx, [ebp]
mov dword [ebp + 4], eax
call fcn.00424bf2
mov ecx, dword [edi + 0xf4]
push dword [eax]
call fcn.0060839b
test eax, eax
je 0x5d4a98
cmp byte [eax + 0x28], 0x17
jne 0x5d4a98
mov ecx, dword [edi + 0xf4]
push eax
call fcn.00608eb0
inc ebx
lea ecx, [esi + 0x44]
cmp ebx, dword [esi + 0x54]
jb 0x5d4a62
mov ecx, edi
call fcn.005db312
jmp 0x5d5f97
mov ecx, edi
call fcn.005d6c7e
jmp 0x5d5f97
mov ecx, edi
call fcn.005d6c8d
jmp 0x5d5f97
mov ecx, edi
call fcn.005d6cb4
jmp 0x5d5f97
mov eax, ecx
sub eax, 0x2b82
je 0x5d5f90
sub eax, 1
je 0x5d5f87
dec eax
sub eax, 1
je 0x5d5f64
xor ebx, ebx
mov byte [ebp + 0x6f], bl
cmp ecx, 0x28
jne 0x5d4b0b
mov eax, dword [0x7c0e10]
cmp eax, 4
jae 0x5d4b0b
lea ecx, [eax + 0x17]
mov dword [ebp + 0x78], ecx
mov esi, dword [edi + 0x250]
mov edi, dword [sym.imp.KERNEL32.DLL_GetLastError]
mov dword [ebp + 0x68], ecx
mov ecx, dword [esi + 0x18]
mov eax, ecx
shr eax, 0x1f
test al, al
jne 0x5d4b33
imul eax, ecx, 0xc
call fcn.0066c3f0
mov dword [ebp + 0x64], esp
jmp 0x5d4b4c
call edi
mov esi, dword [ebp + 0x58]
mov dword [0x7c5370], eax
mov dword [0], ebx
mov dword [ebp + 0x64], ebx
mov esi, dword [esi + 0x250]
mov ecx, dword [esi + 0x18]
mov eax, ecx
shr eax, 0x1f
test al, al
jne 0x5d4b6a
mov eax, ecx
shl eax, 2
call fcn.0066c3f0
mov edi, dword [ebp + 0x58]
mov dword [ebp + 0x54], esp
jmp 0x5d4b83
call edi
mov edi, dword [ebp + 0x58]
mov dword [0x7c5370], eax
mov dword [0], ebx
mov dword [ebp + 0x54], ebx
mov esi, dword [edi + 0x250]
push 2
push 0xffffffffffffffff
push 0x100c
push dword [esi + 0xc]
mov dword [ebp + 0x44], ebx
mov dword [ebp + 0x60], ebx
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, eax
cmp esi, 0xffffffff
je 0x5d4cff
mov eax, dword [ebp + 0x64]
mov dword [ebp + 0x4c], eax
mov eax, dword [edi + 0x250]
mov ecx, dword [ebp + 0x44]
cmp ecx, dword [eax + 0x18]
jae 0x5d4cff
add edi, 0x154
push esi
mov ecx, edi
call fcn.00637c4d
mov ecx, dword [ebp + 0x4c]
mov eax, dword [eax + 0x20]
mov dword [ecx], eax
mov ecx, ebx
mov dword [ebp + 0x48], ecx
cmp eax, 1
jne 0x5d4c84
lea ecx, [ebp - 0x64]
call fcn.004bf00f
push esi
mov ecx, edi
mov dword [ebp - 4], ebx
call fcn.00637c4d
push dword [eax + 0xe8]
call fcn.004c1d6a
mov edx, eax
mov ecx, ebx
mov dword [ebp + 0x20], edx
mov dword [ebp + 0x24], ecx
cmp dword [edx + 0x40], ebx
jbe 0x5d4c75
mov eax, dword [edx + 0x3c]
add ecx, eax
mov dword [ebp + 4], eax
mov eax, dword [edx + 0x38]
dec eax
and ecx, eax
mov eax, dword [edx + 0x34]
push esi
mov eax, dword [eax + ecx*4]
mov ecx, edi
mov dword [ebp + 0x40], eax
call fcn.00637c4d
mov ecx, dword [ebp + 0x40]
add eax, 0x24
push eax
add ecx, 0x18
call fcn.004368cc
test al, al
je 0x5d4c5e
push esi
mov ecx, edi
call fcn.00637c4d
mov ecx, dword [ebp + 0x40]
add eax, 0xec
push eax
lea ecx, [ecx + 0x30]
call fcn.00410bbd
test al, al
jne 0x5d4c6f
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
inc ecx
mov dword [ebp + 0x24], ecx
cmp ecx, dword [edx + 0x40]
jb 0x5d4c0f
jmp 0x5d4c75
mov eax, dword [ebp + 0x40]
mov dword [ebp + 0x48], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64]
call fcn.0048e109
mov ecx, dword [ebp + 0x48]
mov eax, dword [ebp + 0x4c]
push esi
mov dword [eax + 8], ecx
mov ecx, edi
call fcn.00637c4d
cmp dword [eax + 0x20], ebx
jne 0x5d4ca7
push esi
mov ecx, edi
call fcn.00637c4d
mov ecx, dword [eax + 0xe4]
jmp 0x5d4ca9
mov ecx, ebx
mov eax, dword [ebp + 0x4c]
mov dword [eax + 4], ecx
cmp dword [eax], ebx
jne 0x5d4cd1
push esi
mov ecx, edi
call fcn.00637c4d
mov ecx, dword [ebp + 0x60]
mov edx, dword [ebp + 0x54]
mov eax, dword [eax + 0xe4]
mov dword [edx + ecx*4], eax
inc ecx
mov eax, dword [ebp + 0x4c]
mov dword [ebp + 0x60], ecx
mov edi, dword [ebp + 0x58]
add eax, 0xc
inc dword [ebp + 0x44]
push 2
mov dword [ebp + 0x4c], eax
mov eax, dword [edi + 0x250]
push esi
push 0x100c
push dword [eax + 0xc]
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x5d4bac
mov eax, dword [ebp + 0x78]
mov ecx, dword [ebp + 0x60]
mov esi, dword [ebp + 0x7c]
cmp eax, 0x25
je 0x5d4e86
cmp eax, 0x2c
je 0x5d4d67
cmp eax, 0x6a
jne 0x5d4dfc
cmp ecx, 0xa
jbe 0x5d4dfc
test esi, esi
je 0x5d4d3b
cmp byte [esi], 0
je 0x5d4d3b
mov byte [esi], bl
call fcn.00478be7
mov ecx, dword [ebp + 0x60]
push ecx
push 0x25
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x28], 4
call fcn.005a1454
push eax
lea eax, [ebp + 0x28]
push eax
call fcn.004646d1
add esp, 0xc
mov dword [ebp - 4], 3
jmp 0x5d4dad
cmp ecx, 0xa
jbe 0x5d4dfc
test esi, esi
je 0x5d4d83
cmp byte [esi], 0
je 0x5d4d83
mov byte [esi], bl
call fcn.00478be7
mov ecx, dword [ebp + 0x60]
push ecx
push 0x26
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x28], 4
call fcn.005a1454
push eax
lea eax, [ebp + 0x28]
push eax
call fcn.004646d1
add esp, 0xc
mov dword [ebp - 4], 1
cmp dword [eax + 0x14], 8
jb 0x5d4db5
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.005a22b6
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
lea ecx, [ebp + 0x28]
mov dword [ebp + 0x7c], eax
call fcn.0042756c
test esi, esi
je 0x5d4de1
cmp byte [esi], 0
jne 0x5d4de1
mov byte [esi], 1
call fcn.00478ba6
mov eax, dword [ebp + 0x7c]
cmp eax, 7
je 0x5d5f97
cmp eax, 2
je 0x5d5f97
mov eax, dword [ebp + 0x78]
mov ecx, dword [ebp + 0x60]
mov edx, dword [ebp + 0x44]
sub edx, ecx
cmp dword [ebp + 0x44], 0
mov dword [ebp + 4], edx
je 0x5d5f97
test ecx, ecx
je 0x5d4f76
cmp eax, 0x17
je 0x5d4e2e
cmp eax, 0x18
je 0x5d4e2e
cmp eax, 0x19
je 0x5d4e2e
cmp eax, 0x1a
jne 0x5d4f76
cmp byte [0x7c0b21], 0
je 0x5d4f3b
mov eax, dword [ebp + 0x54]
mov dword [ebp - 0x28], 0x24
mov dword [ebp - 0x2c], 1
mov ecx, dword [eax]
test ecx, ecx
je 0x5d4f3b
mov eax, dword [ecx]
call dword [eax + 0x170]
test al, al
je 0x5d4ed1
cmp byte [0x7c0e77], 0
je 0x5d4f3b
mov eax, dword [ebp + 0x54]
push dword [eax]
call fcn.006489d2
test al, al
je 0x5d5f97
jmp 0x5d4f3b
cmp ecx, 0xa
jbe 0x5d4dfc
test esi, esi
je 0x5d4ea2
cmp byte [esi], 0
je 0x5d4ea2
mov byte [esi], bl
call fcn.00478be7
mov ecx, dword [ebp + 0x60]
push ecx
push 0x24
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x28], 4
call fcn.005a1454
push eax
lea eax, [ebp + 0x28]
push eax
call fcn.004646d1
add esp, 0xc
mov dword [ebp - 4], 2
jmp 0x5d4dad
mov eax, dword [ebp + 0x54]
cmp dword [eax], ebx
je 0x5d4f3b
test esi, esi
je 0x5d4ee8
cmp byte [esi], 0
je 0x5d4ee8
mov byte [esi], bl
call fcn.00478be7
mov eax, dword [ebp + 0x60]
push eax
push ebx
lea eax, [ebp + 0x28]
push eax
call fcn.005d80e8
cmp dword [eax + 0x14], 8
mov dword [ebp - 4], 4
jb 0x5d4f05
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.005a22b6
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
lea ecx, [ebp + 0x28]
mov dword [ebp + 0x7c], eax
call fcn.0042756c
test esi, esi
je 0x5d4f31
cmp byte [esi], 0
jne 0x5d4f31
mov byte [esi], 1
call fcn.00478ba6
cmp dword [ebp + 0x7c], 6
jne 0x5d5f97
push 0x1b
push dword [edi + 4]
mov dword [ebp - 0xfc], 3
mov dword [ebp - 0x100], ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
lea ecx, [ebp - 0x10c]
push ecx
push 0xffffffffffffffff
push 0x102b
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [edi + 0x250]
call fcn.005ad3da
mov byte [ebp + 0x5f], bl
mov dword [ebp - 4], 6
test esi, esi
jne 0x5d4f90
lea esi, [ebp + 0x5f]
mov byte [ebp + 0x5f], 1
call fcn.00478ba6
cmp dword [ebp + 0x78], 0x22
jne 0x5d4fff
mov eax, dword [ebp + 0x60]
mov edi, ebx
test eax, eax
je 0x5d4ff6
mov ecx, dword [ebp + 0x54]
dec eax
lea eax, [ecx + eax*4]
mov dword [ebp + 0x7c], eax
jmp 0x5d4fae
mov ecx, dword [ebp + 0x54]
mov eax, dword [ecx + edi*4]
mov ecx, dword [ebp + 0x58]
push eax
call fcn.005d85a5
test eax, eax
jne 0x5d4fd8
mov ecx, dword [ebp + 0x7c]
mov edx, dword [ebp + 0x54]
mov eax, dword [ecx]
mov dword [edx + edi*4], eax
mov eax, dword [ebp + 0x60]
dec eax
sub ecx, 4
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x7c], ecx
jmp 0x5d4ff1
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax + edi*4]
mov eax, dword [ecx]
call dword [eax + 0x15c]
test al, 0x20
je 0x5d507e
mov eax, dword [ebp + 0x60]
inc edi
cmp edi, eax
jb 0x5d4fab
mov dword [ebp + 0x78], 0x23
jmp 0x5d507e
mov eax, dword [ebp + 0x68]
mov edx, eax
mov edi, dword [ebp + 0x60]
mov ecx, edi
mov dword [ebp + 0x60], edi
cmp eax, 0x13
jne 0x5d5064
cmp dword [0x7d36f8], 0
mov dword [ebp + 0x60], edi
mov dword [ebp + 0x78], eax
je 0x5d507e
push dword [0x7b65b8]
lea eax, [ebp + 0x78]
push eax
call fcn.00490e9b
push ecx
mov ecx, dword [eax]
mov edx, esp
mov byte [ebp - 4], 7
mov dword [edx], ecx
test ecx, ecx
je 0x5d5042
mov eax, dword [ecx]
call dword [eax]
push 0xb
call fcn.00489e48
mov ecx, dword [ebp + 0x78]
mov byte [ebp - 4], 8
test ecx, ecx
je 0x5d5059
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp + 0x68]
mov dword [ebp + 0x60], edi
mov dword [ebp + 0x78], ecx
jmp 0x5d507e
mov eax, edx
cmp edx, 0x1c
je 0x5d5ee6
mov dword [ebp + 0x60], ecx
mov dword [ebp + 0x78], edx
cmp eax, 0x1b
je 0x5d5ee6
push 7
pop eax
xor ecx, ecx
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], eax
mov word [ebp - 0x94], cx
mov ecx, ebx
mov byte [ebp - 4], 9
mov byte [ebp + 0x53], bl
mov dword [ebp + 0x4c], ebx
cmp dword [ebp + 0x44], ecx
jbe 0x5d5dfc
mov edx, dword [ebp + 0x64]
imul eax, ecx, 0xc
mov ecx, dword [eax + edx + 8]
mov edi, dword [eax + edx + 4]
mov eax, dword [eax + edx]
mov dword [ebp + 0x7c], ecx
test eax, eax
jne 0x5d5c69
test edi, edi
je 0x5d5da9
mov ecx, dword [ebp + 0x58]
push edi
call fcn.005d85a5
test eax, eax
je case.0x5d5137.27
mov edx, dword [ebp + 0x78]
lea eax, [edx - 0x2710]
mov dword [ebp + 0x7c], eax
cmp eax, 0x3e7
ja 0x5d511c
cmp byte [esi], 0
je 0x5d5105
mov byte [esi], bl
call fcn.00478be7
mov eax, dword [ebp + 0x7c]
push eax
push edi
call fcn.005a8041
cmp byte [esi], 0
jne 0x5d5119
mov byte [esi], 1
call fcn.00478ba6
mov edx, dword [ebp + 0x78]
cmp edx, 0x25
jg 0x5d528c
je 0x5d526d
lea eax, [edx - 0x13]
cmp eax, 0x11
ja case.0x5d5137.27
jmp dword [eax*4 + 0x5d5fd0]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x54]
mov byte [ebp + 0x6f], 1
jmp case.0x5d5137.27
mov ecx, edi
call fcn.004b50cf
jmp 0x5d5145
mov ecx, edi
call fcn.004baf24
jmp 0x5d5145
mov ecx, edi
call fcn.004b9c3c
jmp 0x5d5145
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x15c]
test al, 0x40
jne 0x5d5145
push 1
mov ecx, edi
call fcn.004b5464
jmp 0x5d5145
cmp dword [edi + 0x504], ebx
je 0x5d518e
mov byte [ebp + 0x53], 1
movzx ecx, byte [0x7c0e52]
lea eax, [edx - 0x17]
neg ecx
push 1
sbb ecx, ecx
and ecx, 4
or ecx, eax
push ecx
mov ecx, edi
call fcn.004b5cbb
mov eax, dword [ebp + 0x58]
cmp edi, dword [eax + 0x248]
jne 0x5d51c1
push ebx
mov ecx, eax
call fcn.005e05ed
mov eax, dword [ebp + 0x58]
cmp edi, dword [eax + 0x1c8]
jne case.0x5d5137.27
mov eax, dword [eax + 0x250]
push ebx
push 0xffffffffffffffff
push 0x1076
push dword [eax + 0xc]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x5d5145
mov eax, dword [ebp + 0x78]
mov ecx, edi
mov edx, dword [edi]
add eax, 0xffffffe3
push eax
call dword [edx + 0x5c]
push ebx
push 0x20000
mov ecx, edi
call fcn.004a4f1a
mov ecx, 0x7c5ff0
call fcn.0051177d
jmp case.0x5d5137.27
cmp dword [0x7d36f8], 0
je case.0x5d5137.27
mov eax, dword [ebp + 0x58]
push ebx
push 0xe
mov ecx, dword [eax + 0x250]
call fcn.005acbaa
mov ecx, dword [0x7d36f8]
push ebx
push 0xffffffffffffffff
push esi
push edi
call fcn.005ff109
mov ecx, dword [0x7d36f8]
cmp byte [ecx + 0x80], 0
je case.0x5d5137.27
push esi
push ebx
push ebx
call fcn.005ff5dd
jmp case.0x5d5137.27
mov ecx, edi
call fcn.004b6546
jmp case.0x5d5137.27
mov eax, dword [edi + 0xd8]
xor ecx, ecx
push esi
cmp byte [eax + 0x89], cl
sete cl
dec ecx
push ecx
push edi
call fcn.005a74e2
jmp case.0x5d5137.27
cmp edx, 0x6a
jg 0x5d5c40
je 0x5d5bb1
cmp edx, 0x2d
jg 0x5d56b5
je 0x5d566f
mov eax, edx
sub eax, 0x26
je 0x5d5305
sub eax, 1
je 0x5d52f9
dec eax
sub eax, 1
je 0x5d52ed
sub eax, 1
je 0x5d52e9
sub eax, 1
je 0x5d52dd
sub eax, 1
jne case.0x5d5137.27
push ebx
push 0xffffffffffffffff
push edi
call fcn.005a741b
jmp case.0x5d5137.27
push ebx
push edi
call fcn.0061352f
jmp case.0x5d5137.27
push 1
jmp 0x5d52de
mov ecx, edi
call fcn.004a26a2
jmp case.0x5d5137.27
mov ecx, edi
call fcn.004b6285
jmp case.0x5d5137.27
xor eax, eax
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x98], 7
mov word [ebp - 0xac], ax
push esi
mov byte [ebp - 4], 0xc
mov dword [ebp - 0xf0], 1
mov dword [ebp - 0xec], 0x23
call fcn.00495ae6
push eax
lea eax, [ebp - 0xac]
push eax
push ebx
push edi
call fcn.00595d5a
test al, al
sete byte [ebp + 0x7f]
test al, al
jne 0x5d5621
mov eax, dword [edi + 0xd8]
mov dword [ebp + 0x24], eax
xor eax, eax
mov dword [ebp + 8], ebx
mov dword [ebp + 0x18], ebx
mov dword [ebp + 0x1c], 7
mov word [ebp + 8], ax
mov eax, dword [edi]
mov ecx, edi
mov byte [ebp - 4], 0xd
call dword [eax + 0x130]
xor ecx, ecx
mov dword [ebp + 0x28], ebx
mov word [ebp + 0x28], cx
lea ecx, [ebp + 0x28]
push eax
mov dword [ebp + 0x38], ebx
mov dword [ebp + 0x3c], 7
call fcn.00427613
push 1
lea eax, [ebp + 0x28]
mov byte [ebp - 4], 0xe
push eax
sub esp, 0x18
lea eax, [ebp - 0xac]
mov ecx, esp
push eax
mov dword [ecx], ebx
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.004274a7
lea eax, [ebp - 0x24]
push eax
call fcn.0045e5a4
lea ecx, [ebp - 0xac]
cmp ecx, eax
je 0x5d53e7
mov byte [ebp + 0x20], bl
push dword [ebp + 0x20]
push eax
call fcn.00427543
lea ecx, [ebp - 0x24]
call fcn.0042756c
mov eax, dword [ebp + 0x3c]
cmp eax, 8
jb 0x5d542a
mov ecx, dword [ebp + 0x28]
lea eax, [eax*2 + 2]
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x48], ecx
cmp eax, 0x1000
jb 0x5d5421
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x48]
push eax
call fcn.0042741e
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x48]
push eax
push ecx
call fcn.0066bb0a
pop ecx
pop ecx
xor eax, eax
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], 7
mov word [ebp - 0x7c], ax
mov ecx, dword [ebp + 0x24]
mov byte [ebp - 4], 0xf
test ecx, ecx
je 0x5d54b5
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x5d54b5
cmp byte [ecx + 0x89], 0
je 0x5d54b5
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x4c]
test al, al
je 0x5d54b5
mov eax, dword [ebp + 0x24]
push 1
mov eax, dword [eax + 4]
add eax, 0x38
push eax
sub esp, 0x18
lea eax, [ebp - 0xac]
mov ecx, esp
push eax
mov dword [ecx], ebx
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.004274a7
lea eax, [ebp + 0x28]
push eax
call fcn.0045e5a4
lea ecx, [ebp - 0x7c]
cmp ecx, eax
je 0x5d54ab
mov byte [ebp - 0xb0], bl
push dword [ebp - 0xb0]
push eax
call fcn.00427543
lea ecx, [ebp + 0x28]
call fcn.0042756c
jmp 0x5d54d9
cmp dword [ebp - 0x98], 8
lea eax, [ebp - 0xac]
jb 0x5d54ca
mov eax, dword [ebp - 0xac]
push dword [ebp - 0x9c]
lea ecx, [ebp - 0x7c]
push eax
call fcn.00427638
cmp dword [ebp - 0x68], 8
lea eax, [ebp - 0x7c]
jb 0x5d54e5
mov eax, dword [ebp - 0x7c]
push eax
call fcn.00458d4c
test al, al
je 0x5d557a
cmp byte [esi], 0
je 0x5d54ff
mov byte [esi], bl
call fcn.00478be7
cmp dword [ebp - 0x68], 8
lea eax, [ebp - 0x7c]
jb 0x5d550b
mov eax, dword [ebp - 0x7c]
push eax
push 0x364
call fcn.005a1454
push eax
lea eax, [ebp + 0x28]
push eax
call fcn.004646d1
add esp, 0xc
cmp dword [eax + 0x14], 8
mov ecx, eax
mov byte [ebp - 4], 0x10
jb 0x5d5531
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp + 8]
call fcn.004275b5
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 0xf
call fcn.0042756c
cmp dword [ebp + 0x1c], 8
lea eax, [ebp + 8]
jb 0x5d5555
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0xf0]
push eax
call fcn.005a22b6
cmp eax, 6
pop ecx
sete al
cmp byte [esi], 0
pop ecx
mov byte [ebp + 0x7f], al
jne 0x5d557d
mov byte [esi], 1
call fcn.00478ba6
mov al, byte [ebp + 0x7f]
test al, al
je 0x5d559b
push ebx
push ebx
lea eax, [ebp - 0xac]
mov ecx, edi
push eax
call fcn.004af6d2
mov ecx, 0x7c5ff0
call fcn.0051177d
mov eax, dword [ebp - 0x68]
cmp eax, 8
jb 0x5d55d6
mov ecx, dword [ebp - 0x7c]
lea eax, [eax*2 + 2]
mov dword [ebp + 0x7c], eax
mov dword [ebp + 0x68], ecx
cmp eax, 0x1000
jb 0x5d55cd
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042741e
mov eax, dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x68]
push eax
push ecx
call fcn.0066bb0a
pop ecx
pop ecx
xor eax, eax
mov dword [ebp - 0x6c], ebx
mov word [ebp - 0x7c], ax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x68], 7
cmp eax, 8
jb 0x5d5621
mov ecx, dword [ebp + 8]
lea eax, [eax*2 + 2]
mov dword [ebp + 0x7c], eax
mov dword [ebp + 0x68], ecx
cmp eax, 0x1000
jb 0x5d5618
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042741e
mov eax, dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x68]
push eax
push ecx
call fcn.0066bb0a
pop ecx
pop ecx
mov eax, dword [ebp - 0x98]
mov byte [ebp - 4], 9
cmp eax, 8
jb case.0x5d5137.27
mov ecx, dword [ebp - 0xac]
lea eax, [eax*2 + 2]
mov dword [ebp + 0x68], ecx
mov dword [ebp + 0x7c], eax
cmp eax, 0x1000
jb 0x5d5661
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042741e
mov eax, dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x68]
push eax
push ecx
call fcn.0066bb0a
pop ecx
pop ecx
jmp case.0x5d5137.27
lea ecx, [ebp + 0xc]
call fcn.0044023a
cmp byte [esi], 0
mov byte [ebp - 4], 0x1e
je 0x5d5687
mov byte [esi], bl
call fcn.00478be7
push edi
lea eax, [ebp + 0xc]
push eax
call fcn.0060d943
cmp byte [esi], 0
jne 0x5d569e
mov byte [esi], 1
call fcn.00478ba6
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 9
call fcn.00476589
mov eax, dword [ebp + 0xc]
push 8
mov dword [ebp + 0xc], ebx
push eax
jmp 0x5d5663
mov eax, edx
sub eax, 0x2e
je 0x5d5e87
sub eax, 0xb
je 0x5d5b49
sub eax, 1
je case.0x5d5137.22
sub eax, 3
je 0x5d56f6
sub eax, 1
je 0x5d5e72
sub eax, 1
jne case.0x5d5137.27
mov ecx, dword [ebp + 0x58]
call fcn.005d47f4
jmp 0x5d5ea2
xor eax, eax
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xbc], 7
mov word [ebp - 0xd0], ax
mov eax, dword [edi + 0xd8]
lea ecx, [ebp - 0x5c]
mov dword [ebp + 0x40], eax
add eax, 0x28
push eax
mov byte [ebp - 4], 0x11
mov byte [ebp + 0x7f], bl
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
call fcn.004274a7
cmp dword [ebp - 0x4c], 0
mov byte [ebp - 4], 0x12
jne 0x5d5766
cmp dword [0x7c0c68], 8
mov eax, 0x7c0c54
jb 0x5d5757
mov eax, dword [0x7c0c54]
push dword [0x7c0c64]
lea ecx, [ebp - 0x5c]
push eax
call fcn.00427638
xor eax, eax
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
mov eax, dword [ebp + 0x40]
mov byte [ebp - 4], 0x13
cmp byte [eax + 0x89], 0
je 0x5d5844
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x130]
push eax
lea ecx, [ebp - 0x44]
call fcn.00427613
cmp dword [ebp - 0x48], 8
lea eax, [ebp - 0x5c]
jb 0x5d57ac
mov eax, dword [ebp - 0x5c]
push 0x5c
push eax
call fcn.0066f61b
mov dword [ebp + 0x68], eax
pop ecx
pop ecx
test eax, eax
je 0x5d5863
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x24], ebx
push eax
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], ebx
call fcn.004274a7
cmp dword [ebp - 0x48], 8
lea edx, [ebp - 0x5c]
mov byte [ebp - 4], 0x14
jb 0x5d57e6
mov edx, dword [ebp - 0x5c]
cmp dword [ebp - 0x10], 8
lea ecx, [ebp - 0x24]
jb 0x5d57f2
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp + 0x68]
sub eax, edx
sar eax, 1
push eax
push ecx
lea ecx, [ebp - 0x5c]
call fcn.00427638
mov eax, dword [ebp - 0x10]
mov byte [ebp - 4], 0x13
cmp eax, 8
jb 0x5d5863
mov ecx, dword [ebp - 0x24]
lea eax, [eax*2 + 2]
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x48], ecx
cmp eax, 0x1000
jb 0x5d5839
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x48]
push eax
call fcn.0042741e
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x48]
push eax
push ecx
call fcn.0066bb0a
pop ecx
pop ecx
jmp 0x5d5863
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x44]
add eax, 0x38
cmp ecx, eax
je 0x5d5863
mov byte [ebp - 0xb4], bl
push dword [ebp - 0xb4]
push eax
call fcn.00427529
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x130]
push eax
push 0x47f
call fcn.005a1454
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.004646d1
lea ecx, [ebp - 0xd0]
add esp, 0xc
cmp ecx, eax
je 0x5d58a1
mov byte [ebp - 0xb8], bl
push dword [ebp - 0xb8]
push eax
call fcn.00427543
lea ecx, [ebp - 0x24]
call fcn.0042756c
lea eax, [ebp - 0x44]
mov dword [ebp + 8], ebx
push eax
lea ecx, [ebp + 8]
mov dword [ebp + 0x18], ebx
mov dword [ebp + 0x1c], ebx
call fcn.004274a7
cmp byte [esi], 0
mov byte [ebp - 4], 0x15
je 0x5d58ce
mov byte [esi], bl
call fcn.00478be7
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0xd0]
push eax
lea ecx, [ebp - 0x150]
call fcn.0063eb3a
push 1
push ebx
push pe_nt_image_headers32
mov byte [ebp - 4], 0x16
call fcn.005a242f
push eax
lea ecx, [ebp - 0x150]
call fcn.005a3ca4
cmp dword [ebp - 0x110], 0
jne 0x5d5937
cmp dword [ebp - 0x30], 8
lea ecx, [ebp - 0x44]
jb 0x5d5916
mov ecx, dword [ebp - 0x44]
cmp dword [ebp + 0x1c], 8
lea eax, [ebp + 8]
jb 0x5d5922
mov eax, dword [ebp + 8]
push dword [ebp - 0x34]
push ecx
push dword [ebp + 0x18]
push eax
call fcn.00428256
test al, al
jne 0x5d5937
mov byte [ebp + 0x7f], 1
push 1
lea eax, [ebp + 8]
push eax
sub esp, 0x18
lea eax, [ebp - 0x5c]
mov ecx, esp
push eax
mov dword [ecx], ebx
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.004274a7
lea eax, [ebp + 0x28]
push eax
call fcn.0045e5a4
cmp byte [ebp + 0x7f], 0
mov byte [ebp - 4], 0x17
je 0x5d59ac
cmp dword [ebp + 0x3c], 8
lea eax, [ebp + 0x28]
jb 0x5d5972
mov eax, dword [ebp + 0x28]
push eax
call fcn.00458d4c
test al, al
je 0x5d59ac
push 0x365
mov dword [ebp - 0xf0], 1
mov dword [ebp - 0xec], 0x30
call fcn.005a1454
push eax
lea eax, [ebp - 0xf0]
push eax
call fcn.005a22b6
pop ecx
pop ecx
mov byte [ebp + 0x7f], bl
cmp byte [esi], 0
jne 0x5d59b9
mov byte [esi], 1
call fcn.00478ba6
cmp byte [ebp + 0x7f], 0
je 0x5d5a2b
sub esp, 0x18
mov eax, esp
mov dword [ebp + 0x7c], esp
mov dword [eax], ebx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], 7
sub esp, 0x18
mov byte [ebp - 4], 0x18
mov ecx, esp
lea eax, [ebp + 0x28]
push eax
mov dword [ecx], ebx
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.004274a7
mov ecx, dword [ebp + 0x40]
mov byte [ebp - 4], 0x17
call fcn.00508e71
mov eax, dword [ebp + 0x40]
cmp dword [eax + 0x38], ebx
je 0x5d5a24
cmp dword [ebp + 0x3c], 8
lea ecx, [ebp + 0x28]
jb 0x5d5a0d
mov ecx, dword [ebp + 0x28]
cmp dword [ebp - 0x30], 8
lea eax, [ebp - 0x44]
jb 0x5d5a19
mov eax, dword [ebp - 0x44]
push ecx
push eax
call fcn.0059513b
test al, al
je 0x5d5a2b
or byte [edi + 0x151], 1
lea ecx, [ebp + 0x28]
call fcn.0042756c
lea ecx, [ebp - 0x150]
call fcn.005a3088
mov eax, dword [ebp + 0x1c]
cmp eax, 8
jb 0x5d5a79
mov ecx, dword [ebp + 8]
lea eax, [eax*2 + 2]
mov dword [ebp + 0x7c], eax
mov dword [ebp + 0x68], ecx
cmp eax, 0x1000
jb 0x5d5a70
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042741e
mov eax, dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x68]
push eax
push ecx
call fcn.0066bb0a
pop ecx
pop ecx
xor eax, eax
mov dword [ebp + 0x18], ebx
mov word [ebp + 8], ax
mov eax, dword [ebp - 0x30]
mov dword [ebp + 0x1c], 7
cmp eax, 8
jb 0x5d5ac4
mov ecx, dword [ebp - 0x44]
lea eax, [eax*2 + 2]
mov dword [ebp + 0x7c], eax
mov dword [ebp + 0x68], ecx
cmp eax, 0x1000
jb 0x5d5abb
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042741e
mov eax, dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x68]
push eax
push ecx
call fcn.0066bb0a
pop ecx
pop ecx
xor eax, eax
mov dword [ebp - 0x34], ebx
mov word [ebp - 0x44], ax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x30], 7
cmp eax, 8
jb 0x5d5b0f
mov ecx, dword [ebp - 0x5c]
lea eax, [eax*2 + 2]
mov dword [ebp + 0x7c], eax
mov dword [ebp + 0x68], ecx
cmp eax, 0x1000
jb 0x5d5b06
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042741e
mov eax, dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x68]
push eax
push ecx
call fcn.0066bb0a
pop ecx
pop ecx
xor eax, eax
mov dword [ebp - 0x4c], ebx
mov word [ebp - 0x5c], ax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x48], 7
mov byte [ebp - 4], 9
cmp eax, 8
jb case.0x5d5137.27
mov ecx, dword [ebp - 0xd0]
jmp 0x5d563a
mov ecx, edi
call fcn.004b52fe
jmp 0x5d5145
cmp dword [ebp - 0x84], 0
je 0x5d5b62
push 0x6e2f84
lea ecx, [ebp - 0x94]
call fcn.00437203
lea eax, [ebp - 0x24]
mov ecx, edi
push eax
call fcn.004a9876
push eax
lea eax, [ebp + 0x28]
mov byte [ebp - 4], 0x1c
push eax
call fcn.0043b6a9
cmp dword [eax + 0x14], 8
mov ecx, eax
mov byte [ebp - 4], 0x1d
jb 0x5d5b89
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp - 0x94]
call fcn.004275b5
lea ecx, [ebp + 0x28]
call fcn.0042756c
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 9
call fcn.004102c8
jmp case.0x5d5137.27
mov eax, dword [edi + 0xd4]
mov ecx, edi
mov dword [ebp + 0x7c], eax
call fcn.004a852d
cmp dword [eax + 0x14], 8
jb 0x5d5bc9
mov eax, dword [eax]
mov ecx, dword [ebp + 0x7c]
push eax
lea eax, [ebp + 0x28]
push eax
call fcn.00523613
cmp byte [esi], 0
mov byte [ebp - 4], 0x1a
je 0x5d5be6
mov byte [esi], bl
call fcn.00478be7
cmp dword [ebp + 0x3c], 8
lea eax, [ebp + 0x28]
jb 0x5d5bf2
mov eax, dword [ebp + 0x28]
push eax
lea eax, [ebp - 0x24]
push str.__s_
push eax
call fcn.004646d1
add esp, 0xc
cmp dword [eax + 0x14], 8
mov byte [ebp - 4], 0x1b
jb 0x5d5c10
mov eax, dword [eax]
push eax
call fcn.00461f92
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x1a
call fcn.0042756c
cmp byte [esi], 0
jne 0x5d5c2f
mov byte [esi], 1
call fcn.00478ba6
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 9
call fcn.0042756c
jmp case.0x5d5137.27
cmp edx, 0x6c
jne case.0x5d5137.27
add edi, 0x4d4
cmp dword [edi + 0x14], 0x10
jb 0x5d5c57
mov edi, dword [edi]
push 1
push ebx
push ebx
push edi
push ebx
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
jmp case.0x5d5137.27
cmp eax, 1
jne 0x5d5da9
cmp byte [esi], 0
je 0x5d5c7e
mov byte [esi], bl
call fcn.00478be7
lea ecx, [ebp - 0x64]
call fcn.004bf00f
mov edi, dword [ebp + 0x7c]
mov byte [ebp - 4], 0x20
push dword [edi + 0x78]
call fcn.004c1d6a
mov ecx, dword [ebp + 0x78]
sub ecx, 0x16
je 0x5d5cb6
sub ecx, 0x1a
je 0x5d5d05
sub ecx, 1
je 0x5d5cf5
dec ecx
sub ecx, 1
je 0x5d5cc7
sub ecx, 8
jne 0x5d5d85
cmp dword [ebp + 4], 1
jbe 0x5d5d1f
push edi
call fcn.004c37f9
jmp 0x5d5d85
lea ecx, [edi + 0x30]
cmp dword [ecx + 0x14], 0x10
jb 0x5d5cd2
mov ecx, dword [ecx]
add edi, 0x18
cmp dword [edi + 0x14], 8
jb 0x5d5cdd
mov edi, dword [edi]
add eax, 0xc
cmp dword [eax + 0x14], 8
jb 0x5d5ce8
mov eax, dword [eax]
push ecx
push edi
push eax
call fcn.004c11fc
jmp 0x5d5d85
push edi
call fcn.004c033c
call fcn.006060c0
jmp 0x5d5d85
lea eax, [edi + 0x30]
cmp dword [eax + 0x14], 0x10
jb 0x5d5d10
mov eax, dword [eax]
push 1
push ebx
push ebx
push eax
push ebx
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
jmp 0x5d5d85
xor eax, eax
mov dword [ebp + 0x28], ebx
mov dword [ebp + 0x38], ebx
mov dword [ebp + 0x3c], 7
mov word [ebp + 0x28], ax
push ebx
lea eax, [ebp + 0x28]
mov byte [ebp - 4], 0x21
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
push edi
call fcn.004c123b
mov eax, dword [ebp + 0x3c]
mov byte [ebp - 4], 0x20
cmp eax, 8
jb 0x5d5d85
mov ecx, dword [ebp + 0x28]
lea eax, [eax*2 + 2]
mov dword [ebp + 0x7c], eax
mov dword [ebp + 0x68], ecx
cmp eax, 0x1000
jb 0x5d5d7c
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042741e
mov eax, dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x68]
push eax
push ecx
call fcn.0066bb0a
pop ecx
pop ecx
lea ecx, [ebp - 0x64]
call fcn.004c5687
cmp byte [esi], 0
jne 0x5d5d9a
mov byte [esi], 1
call fcn.00478ba6
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 9
call fcn.0048e109
mov edx, dword [ebp + 0x64]
mov ecx, dword [ebp + 0x4c]
inc ecx
mov dword [ebp + 0x4c], ecx
cmp ecx, dword [ebp + 0x44]
jb 0x5d50b1
cmp dword [ebp - 0x84], 0
je 0x5d5de0
cmp dword [ebp - 0x80], 8
lea eax, [ebp - 0x94]
jb 0x5d5dd4
mov eax, dword [ebp - 0x94]
push dword [ebp - 0x84]
push eax
call fcn.00462911
cmp byte [ebp + 0x53], 0
je 0x5d5df9
push ebx
push ebx
push 0x8017
push dword [0x7f8134]
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [ebp - 0x80]
mov byte [ebp - 4], 6
cmp eax, 8
jb 0x5d5f2e
mov ecx, dword [ebp - 0x94]
lea eax, [eax*2 + 2]
mov dword [ebp + 0x78], eax
mov dword [ebp + 0x7c], ecx
cmp eax, 0x1000
jb 0x5d5e36
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.0042741e
mov eax, dword [ebp + 0x78]
mov ecx, dword [ebp + 0x7c]
push eax
push ecx
call fcn.0066bb0a
pop ecx
pop ecx
jmp 0x5d5f2e
push 0xa3
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
push esi
test ax, ax
mov eax, dword [ebp + 0x60]
push eax
push dword [ebp + 0x54]
jns 0x5d5e63
call fcn.005a7ee4
jmp 0x5d5e68
call fcn.0062ae95
mov ecx, dword [ebp + 0x58]
call fcn.005e3dcd
jmp 0x5d5ea2
mov eax, dword [ebp + 0x58]
push ebx
push edi
push 0x8065
push dword [eax + 4]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x5d5ea2
mov al, byte [esi]
test al, al
je 0x5d5e9a
mov byte [esi], bl
call fcn.00478be7
mov al, byte [esi]
test al, al
jne 0x5d5ea2
mov byte [esi], 1
call fcn.00478ba6
mov eax, dword [ebp - 0x80]
cmp eax, 8
jb 0x5d5f50
mov ecx, dword [ebp - 0x94]
lea eax, [eax*2 + 2]
mov dword [ebp + 0x78], eax
mov dword [ebp + 0x7c], ecx
cmp eax, 0x1000
jb 0x5d5edb
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.0042741e
mov eax, dword [ebp + 0x78]
mov ecx, dword [ebp + 0x7c]
push eax
push ecx
call fcn.0066bb0a
pop ecx
pop ecx
jmp 0x5d5f50
xor eax, eax
cmp edx, 0x1b
push 0x10
sete al
add eax, 4
mov dword [ebp + 0x78], eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
mov eax, dword [ebp + 0x78]
jns 0x5d5f07
or eax, 2
push eax
mov eax, dword [ebp + 0x60]
push eax
push dword [ebp + 0x54]
call fcn.0048eb19
mov ecx, 0x7c5ff0
call fcn.0051177d
mov dword [0x7c5d10], ebx
mov dword [0x7c5d14], ebx
mov byte [ebp + 0x6f], 1
cmp byte [esi], 0
je 0x5d5f3a
mov byte [esi], bl
call fcn.00478be7
cmp byte [ebp + 0x6f], 0
je 0x5d5f48
mov ecx, dword [ebp + 0x58]
call fcn.005de104
mov ecx, dword [ebp + 0x58]
call fcn.005e417b
cmp byte [ebp + 0x5f], 0
mov dword [ebp - 4], 0x22
je 0x5d5f97
call fcn.00478be7
jmp 0x5d5f97
push 0
mov ecx, edi
call fcn.005ef103
call fcn.005c6088
push eax
call fcn.005c6b49
push eax
push 0x14
push str.http:__utclient.utorrent.com_pro_utorrent_index.html
call fcn.006ab70a
jmp 0x5d5f97
mov ecx, edi
call fcn.005d67b2
jmp 0x5d5f97
mov ecx, edi
call fcn.005d6c5e
lea esp, [ebp - 0x15c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add ebp, 0x70
leave
ret 8