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

Disassembly:
push ebp
sub esp, 0x6c
mov eax, 0x6bf985
call fcn.00664608
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 0x5cc74e
je 0x5cc708
lea eax, [ecx - 0x2f]
cmp eax, 9
ja case.0x5cc6dd.48
movzx eax, byte [eax + 0x5cdd18]
jmp dword [eax*4 + 0x5cdd08]
push dword [edi + 4]
call fcn.005fcf13
jmp 0x5cdceb
call fcn.005feac6
jmp 0x5cdceb
push ecx
mov ecx, edi
call fcn.005ce53b
jmp 0x5cdceb
mov esi, dword [edi + 0xf4]
xor ebx, ebx
lea ecx, [esi + 0x44]
cmp dword [esi + 0x54], ebx
je 0x5cc743
mov eax, dword [esi + 0x50]
mov dword [ebp], ecx
lea ecx, [ebp]
mov dword [ebp + 4], eax
call fcn.00425182
mov ecx, esi
push dword [eax]
call fcn.00600da1
cmp byte [eax + 0x28], 0x11
jne 0x5cc743
lea ebx, [eax + 0x2c]
cmp dword [ebx + 0x14], 8
jb 0x5cc743
mov ebx, dword [ebx]
push ebx
call fcn.0059114b
jmp 0x5cdceb
mov eax, 0x2b81
cmp ecx, eax
jg 0x5cc825
je 0x5cc819
mov eax, ecx
sub eax, 0x2b73
je 0x5cc80d
sub eax, 3
je 0x5cc801
sub eax, 6
je 0x5cc7a6
sub eax, 4
jne case.0x5cc6dd.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.005ce9f0
jmp 0x5cdceb
mov esi, dword [edi + 0xf4]
xor ebx, ebx
lea ecx, [esi + 0x44]
cmp dword [esi + 0x54], ebx
jbe 0x5cc7f5
mov eax, dword [esi + 0x50]
add eax, ebx
mov dword [ebp], ecx
lea ecx, [ebp]
mov dword [ebp + 4], eax
call fcn.00425182
mov ecx, dword [edi + 0xf4]
push dword [eax]
call fcn.00600da1
test eax, eax
je 0x5cc7ec
cmp byte [eax + 0x28], 0x17
jne 0x5cc7ec
mov ecx, dword [edi + 0xf4]
push eax
call fcn.006018b6
inc ebx
lea ecx, [esi + 0x44]
cmp ebx, dword [esi + 0x54]
jb 0x5cc7b6
mov ecx, edi
call fcn.005d344a
jmp 0x5cdceb
mov ecx, edi
call fcn.005ce9d2
jmp 0x5cdceb
mov ecx, edi
call fcn.005ce9e1
jmp 0x5cdceb
mov ecx, edi
call fcn.005cea08
jmp 0x5cdceb
mov eax, ecx
sub eax, 0x2b82
je 0x5cdce4
sub eax, 1
je 0x5cdcdb
dec eax
sub eax, 1
je 0x5cdcb8
xor ebx, ebx
mov byte [ebp + 0x6f], bl
cmp ecx, 0x28
jne 0x5cc85f
mov eax, dword [0x7b6140]
cmp eax, 4
jae 0x5cc85f
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 0x5cc887
imul eax, ecx, 0xc
call fcn.00664c40
mov dword [ebp + 0x64], esp
jmp 0x5cc8a0
call edi
mov esi, dword [ebp + 0x58]
mov dword [0x7ba6a0], 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 0x5cc8be
mov eax, ecx
shl eax, 2
call fcn.00664c40
mov edi, dword [ebp + 0x58]
mov dword [ebp + 0x54], esp
jmp 0x5cc8d7
call edi
mov edi, dword [ebp + 0x58]
mov dword [0x7ba6a0], 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 0x5cca53
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 0x5cca53
add edi, 0x154
push esi
mov ecx, edi
call fcn.006306e9
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 0x5cc9d8
lea ecx, [ebp - 0x64]
call fcn.004b2140
push esi
mov ecx, edi
mov dword [ebp - 4], ebx
call fcn.006306e9
push dword [eax + 0xe8]
call fcn.004b4e9b
mov edx, eax
mov ecx, ebx
mov dword [ebp + 0x20], edx
mov dword [ebp + 0x24], ecx
cmp dword [edx + 0x40], ebx
jbe 0x5cc9c9
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.006306e9
mov ecx, dword [ebp + 0x40]
add eax, 0x24
push eax
add ecx, 0x18
call fcn.00436ddd
test al, al
je 0x5cc9b2
push esi
mov ecx, edi
call fcn.006306e9
mov ecx, dword [ebp + 0x40]
add eax, 0xec
push eax
lea ecx, [ecx + 0x30]
call fcn.0041114d
test al, al
jne 0x5cc9c3
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
inc ecx
mov dword [ebp + 0x24], ecx
cmp ecx, dword [edx + 0x40]
jb 0x5cc963
jmp 0x5cc9c9
mov eax, dword [ebp + 0x40]
mov dword [ebp + 0x48], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64]
call fcn.00481222
mov ecx, dword [ebp + 0x48]
mov eax, dword [ebp + 0x4c]
push esi
mov dword [eax + 8], ecx
mov ecx, edi
call fcn.006306e9
cmp dword [eax + 0x20], ebx
jne 0x5cc9fb
push esi
mov ecx, edi
call fcn.006306e9
mov ecx, dword [eax + 0xe4]
jmp 0x5cc9fd
mov ecx, ebx
mov eax, dword [ebp + 0x4c]
mov dword [eax + 4], ecx
cmp dword [eax], ebx
jne 0x5cca25
push esi
mov ecx, edi
call fcn.006306e9
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 0x5cc900
mov eax, dword [ebp + 0x78]
mov ecx, dword [ebp + 0x60]
mov esi, dword [ebp + 0x7c]
cmp eax, 0x25
je 0x5ccbda
cmp eax, 0x2c
je 0x5ccabb
cmp eax, 0x6a
jne 0x5ccb50
cmp ecx, 0xa
jbe 0x5ccb50
test esi, esi
je 0x5cca8f
cmp byte [esi], 0
je 0x5cca8f
mov byte [esi], bl
call fcn.0046bce8
mov ecx, dword [ebp + 0x60]
push ecx
push 0x25
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x28], 4
call fcn.00599084
push eax
lea eax, [ebp + 0x28]
push eax
call fcn.004577f2
add esp, 0xc
mov dword [ebp - 4], 3
jmp 0x5ccb01
cmp ecx, 0xa
jbe 0x5ccb50
test esi, esi
je 0x5ccad7
cmp byte [esi], 0
je 0x5ccad7
mov byte [esi], bl
call fcn.0046bce8
mov ecx, dword [ebp + 0x60]
push ecx
push 0x26
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x28], 4
call fcn.00599084
push eax
lea eax, [ebp + 0x28]
push eax
call fcn.004577f2
add esp, 0xc
mov dword [ebp - 4], 1
cmp dword [eax + 0x14], 8
jb 0x5ccb09
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.00599ee6
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
lea ecx, [ebp + 0x28]
mov dword [ebp + 0x7c], eax
call fcn.00427afc
test esi, esi
je 0x5ccb35
cmp byte [esi], 0
jne 0x5ccb35
mov byte [esi], 1
call fcn.0046bca7
mov eax, dword [ebp + 0x7c]
cmp eax, 7
je 0x5cdceb
cmp eax, 2
je 0x5cdceb
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 0x5cdceb
test ecx, ecx
je 0x5cccca
cmp eax, 0x17
je 0x5ccb82
cmp eax, 0x18
je 0x5ccb82
cmp eax, 0x19
je 0x5ccb82
cmp eax, 0x1a
jne 0x5cccca
cmp byte [0x7b5e51], 0
je 0x5ccc8f
mov eax, dword [ebp + 0x54]
mov dword [ebp - 0x28], 0x24
mov dword [ebp - 0x2c], 1
mov ecx, dword [eax]
test ecx, ecx
je 0x5ccc8f
mov eax, dword [ecx]
call dword [eax + 0x170]
test al, al
je 0x5ccc25
cmp byte [0x7b61a7], 0
je 0x5ccc8f
mov eax, dword [ebp + 0x54]
push dword [eax]
call fcn.006412b0
test al, al
je 0x5cdceb
jmp 0x5ccc8f
cmp ecx, 0xa
jbe 0x5ccb50
test esi, esi
je 0x5ccbf6
cmp byte [esi], 0
je 0x5ccbf6
mov byte [esi], bl
call fcn.0046bce8
mov ecx, dword [ebp + 0x60]
push ecx
push 0x24
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x28], 4
call fcn.00599084
push eax
lea eax, [ebp + 0x28]
push eax
call fcn.004577f2
add esp, 0xc
mov dword [ebp - 4], 2
jmp 0x5ccb01
mov eax, dword [ebp + 0x54]
cmp dword [eax], ebx
je 0x5ccc8f
test esi, esi
je 0x5ccc3c
cmp byte [esi], 0
je 0x5ccc3c
mov byte [esi], bl
call fcn.0046bce8
mov eax, dword [ebp + 0x60]
push eax
push ebx
lea eax, [ebp + 0x28]
push eax
call fcn.005cfe3c
cmp dword [eax + 0x14], 8
mov dword [ebp - 4], 4
jb 0x5ccc59
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.00599ee6
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
lea ecx, [ebp + 0x28]
mov dword [ebp + 0x7c], eax
call fcn.00427afc
test esi, esi
je 0x5ccc85
cmp byte [esi], 0
jne 0x5ccc85
mov byte [esi], 1
call fcn.0046bca7
cmp dword [ebp + 0x7c], 6
jne 0x5cdceb
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.005a500d
mov byte [ebp + 0x5f], bl
mov dword [ebp - 4], 6
test esi, esi
jne 0x5ccce4
lea esi, [ebp + 0x5f]
mov byte [ebp + 0x5f], 1
call fcn.0046bca7
cmp dword [ebp + 0x78], 0x22
jne 0x5ccd53
mov eax, dword [ebp + 0x60]
mov edi, ebx
test eax, eax
je 0x5ccd4a
mov ecx, dword [ebp + 0x54]
dec eax
lea eax, [ecx + eax*4]
mov dword [ebp + 0x7c], eax
jmp 0x5ccd02
mov ecx, dword [ebp + 0x54]
mov eax, dword [ecx + edi*4]
mov ecx, dword [ebp + 0x58]
push eax
call fcn.005d0316
test eax, eax
jne 0x5ccd2c
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 0x5ccd45
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax + edi*4]
mov eax, dword [ecx]
call dword [eax + 0x15c]
test al, 0x20
je 0x5ccdd2
mov eax, dword [ebp + 0x60]
inc edi
cmp edi, eax
jb 0x5cccff
mov dword [ebp + 0x78], 0x23
jmp 0x5ccdd2
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 0x5ccdb8
cmp dword [0x7c8ac0], 0
mov dword [ebp + 0x60], edi
mov dword [ebp + 0x78], eax
je 0x5ccdd2
push dword [0x7ab790]
lea eax, [ebp + 0x78]
push eax
call fcn.00483fb4
push ecx
mov ecx, dword [eax]
mov edx, esp
mov byte [ebp - 4], 7
mov dword [edx], ecx
test ecx, ecx
je 0x5ccd96
mov eax, dword [ecx]
call dword [eax]
push 0xb
call fcn.0047cf49
mov ecx, dword [ebp + 0x78]
mov byte [ebp - 4], 8
test ecx, ecx
je 0x5ccdad
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp + 0x68]
mov dword [ebp + 0x60], edi
mov dword [ebp + 0x78], ecx
jmp 0x5ccdd2
mov eax, edx
cmp edx, 0x1c
je 0x5cdc3a
mov dword [ebp + 0x60], ecx
mov dword [ebp + 0x78], edx
cmp eax, 0x1b
je 0x5cdc3a
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 0x5cdb50
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 0x5cd9bd
test edi, edi
je 0x5cdafd
mov ecx, dword [ebp + 0x58]
push edi
call fcn.005d0316
test eax, eax
je case.0x5cce8b.27
mov edx, dword [ebp + 0x78]
lea eax, [edx - 0x2710]
mov dword [ebp + 0x7c], eax
cmp eax, 0x3e7
ja 0x5cce70
cmp byte [esi], 0
je 0x5cce59
mov byte [esi], bl
call fcn.0046bce8
mov eax, dword [ebp + 0x7c]
push eax
push edi
call fcn.0059fc71
cmp byte [esi], 0
jne 0x5cce6d
mov byte [esi], 1
call fcn.0046bca7
mov edx, dword [ebp + 0x78]
cmp edx, 0x25
jg 0x5ccfe0
je 0x5ccfc1
lea eax, [edx - 0x13]
cmp eax, 0x11
ja case.0x5cce8b.27
jmp dword [eax*4 + 0x5cdd24]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x54]
mov byte [ebp + 0x6f], 1
jmp case.0x5cce8b.27
mov ecx, edi
call fcn.004a8200
jmp 0x5cce99
mov ecx, edi
call fcn.004ae055
jmp 0x5cce99
mov ecx, edi
call fcn.004acd6d
jmp 0x5cce99
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x15c]
test al, 0x40
jne 0x5cce99
push 1
mov ecx, edi
call fcn.004a8595
jmp 0x5cce99
cmp dword [edi + 0x504], ebx
je 0x5ccee2
mov byte [ebp + 0x53], 1
movzx ecx, byte [0x7b6182]
lea eax, [edx - 0x17]
neg ecx
push 1
sbb ecx, ecx
and ecx, 4
or ecx, eax
push ecx
mov ecx, edi
call fcn.004a8dec
mov eax, dword [ebp + 0x58]
cmp edi, dword [eax + 0x248]
jne 0x5ccf15
push ebx
mov ecx, eax
call fcn.005d8860
mov eax, dword [ebp + 0x58]
cmp edi, dword [eax + 0x1c8]
jne case.0x5cce8b.27
mov eax, dword [eax + 0x250]
push ebx
push 0xffffffffffffffff
push 0x1076
push dword [eax + 0xc]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x5cce99
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.0049804b
mov ecx, 0x7bb320
call fcn.005049c1
jmp case.0x5cce8b.27
cmp dword [0x7c8ac0], 0
je case.0x5cce8b.27
mov eax, dword [ebp + 0x58]
push ebx
push 0xe
mov ecx, dword [eax + 0x250]
call fcn.005a47dd
mov ecx, dword [0x7c8ac0]
push ebx
push 0xffffffffffffffff
push esi
push edi
call fcn.005f7b0f
mov ecx, dword [0x7c8ac0]
cmp byte [ecx + 0x80], 0
je case.0x5cce8b.27
push esi
push ebx
push ebx
call fcn.005f7fe3
jmp case.0x5cce8b.27
mov ecx, edi
call fcn.004a9677
jmp case.0x5cce8b.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.0059f112
jmp case.0x5cce8b.27
cmp edx, 0x6a
jg 0x5cd994
je 0x5cd905
cmp edx, 0x2d
jg 0x5cd409
je 0x5cd3c3
mov eax, edx
sub eax, 0x26
je 0x5cd059
sub eax, 1
je 0x5cd04d
dec eax
sub eax, 1
je 0x5cd041
sub eax, 1
je 0x5cd03d
sub eax, 1
je 0x5cd031
sub eax, 1
jne case.0x5cce8b.27
push ebx
push 0xffffffffffffffff
push edi
call fcn.0059f04b
jmp case.0x5cce8b.27
push ebx
push edi
call fcn.0060bf35
jmp case.0x5cce8b.27
push 1
jmp 0x5cd032
mov ecx, edi
call fcn.004957d3
jmp case.0x5cce8b.27
mov ecx, edi
call fcn.004a93b6
jmp case.0x5cce8b.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.00488c17
push eax
lea eax, [ebp - 0xac]
push eax
push ebx
push edi
call fcn.0058d965
test al, al
sete byte [ebp + 0x7f]
test al, al
jne 0x5cd375
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.00427ba3
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.00427a37
lea eax, [ebp - 0x24]
push eax
call fcn.004516a9
lea ecx, [ebp - 0xac]
cmp ecx, eax
je 0x5cd13b
mov byte [ebp + 0x20], bl
push dword [ebp + 0x20]
push eax
call fcn.00427ad3
lea ecx, [ebp - 0x24]
call fcn.00427afc
mov eax, dword [ebp + 0x3c]
cmp eax, 8
jb 0x5cd17e
mov ecx, dword [ebp + 0x28]
lea eax, [eax*2 + 2]
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x48], ecx
cmp eax, 0x1000
jb 0x5cd175
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x48]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x48]
push eax
push ecx
call fcn.006643a9
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 0x5cd209
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x5cd209
cmp byte [ecx + 0x89], 0
je 0x5cd209
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x4c]
test al, al
je 0x5cd209
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.00427a37
lea eax, [ebp + 0x28]
push eax
call fcn.004516a9
lea ecx, [ebp - 0x7c]
cmp ecx, eax
je 0x5cd1ff
mov byte [ebp - 0xb0], bl
push dword [ebp - 0xb0]
push eax
call fcn.00427ad3
lea ecx, [ebp + 0x28]
call fcn.00427afc
jmp 0x5cd22d
cmp dword [ebp - 0x98], 8
lea eax, [ebp - 0xac]
jb 0x5cd21e
mov eax, dword [ebp - 0xac]
push dword [ebp - 0x9c]
lea ecx, [ebp - 0x7c]
push eax
call fcn.00427bc8
cmp dword [ebp - 0x68], 8
lea eax, [ebp - 0x7c]
jb 0x5cd239
mov eax, dword [ebp - 0x7c]
push eax
call fcn.0045270f
test al, al
je 0x5cd2ce
cmp byte [esi], 0
je 0x5cd253
mov byte [esi], bl
call fcn.0046bce8
cmp dword [ebp - 0x68], 8
lea eax, [ebp - 0x7c]
jb 0x5cd25f
mov eax, dword [ebp - 0x7c]
push eax
push 0x365
call fcn.00599084
push eax
lea eax, [ebp + 0x28]
push eax
call fcn.004577f2
add esp, 0xc
cmp dword [eax + 0x14], 8
mov ecx, eax
mov byte [ebp - 4], 0x10
jb 0x5cd285
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp + 8]
call fcn.00427b45
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 0xf
call fcn.00427afc
cmp dword [ebp + 0x1c], 8
lea eax, [ebp + 8]
jb 0x5cd2a9
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0xf0]
push eax
call fcn.00599ee6
cmp eax, 6
pop ecx
sete al
cmp byte [esi], 0
pop ecx
mov byte [ebp + 0x7f], al
jne 0x5cd2d1
mov byte [esi], 1
call fcn.0046bca7
mov al, byte [ebp + 0x7f]
test al, al
je 0x5cd2ef
push ebx
push ebx
lea eax, [ebp - 0xac]
mov ecx, edi
push eax
call fcn.004a2803
mov ecx, 0x7bb320
call fcn.005049c1
mov eax, dword [ebp - 0x68]
cmp eax, 8
jb 0x5cd32a
mov ecx, dword [ebp - 0x7c]
lea eax, [eax*2 + 2]
mov dword [ebp + 0x7c], eax
mov dword [ebp + 0x68], ecx
cmp eax, 0x1000
jb 0x5cd321
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x68]
push eax
push ecx
call fcn.006643a9
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 0x5cd375
mov ecx, dword [ebp + 8]
lea eax, [eax*2 + 2]
mov dword [ebp + 0x7c], eax
mov dword [ebp + 0x68], ecx
cmp eax, 0x1000
jb 0x5cd36c
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x68]
push eax
push ecx
call fcn.006643a9
pop ecx
pop ecx
mov eax, dword [ebp - 0x98]
mov byte [ebp - 4], 9
cmp eax, 8
jb case.0x5cce8b.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 0x5cd3b5
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x68]
push eax
push ecx
call fcn.006643a9
pop ecx
pop ecx
jmp case.0x5cce8b.27
lea ecx, [ebp + 0xc]
call fcn.0044074b
cmp byte [esi], 0
mov byte [ebp - 4], 0x1e
je 0x5cd3db
mov byte [esi], bl
call fcn.0046bce8
push edi
lea eax, [ebp + 0xc]
push eax
call fcn.00606349
cmp byte [esi], 0
jne 0x5cd3f2
mov byte [esi], 1
call fcn.0046bca7
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 9
call fcn.004696aa
mov eax, dword [ebp + 0xc]
push 8
mov dword [ebp + 0xc], ebx
push eax
jmp 0x5cd3b7
mov eax, edx
sub eax, 0x2e
je 0x5cdbdb
sub eax, 0xb
je 0x5cd89d
sub eax, 1
je case.0x5cce8b.22
sub eax, 3
je 0x5cd44a
sub eax, 1
je 0x5cdbc6
sub eax, 1
jne case.0x5cce8b.27
mov ecx, dword [ebp + 0x58]
call fcn.005cc548
jmp 0x5cdbf6
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.00427a37
cmp dword [ebp - 0x4c], 0
mov byte [ebp - 4], 0x12
jne 0x5cd4ba
cmp dword [0x7b5f98], 8
mov eax, 0x7b5f84
jb 0x5cd4ab
mov eax, dword [0x7b5f84]
push dword [0x7b5f94]
lea ecx, [ebp - 0x5c]
push eax
call fcn.00427bc8
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 0x5cd598
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x130]
push eax
lea ecx, [ebp - 0x44]
call fcn.00427ba3
cmp dword [ebp - 0x48], 8
lea eax, [ebp - 0x5c]
jb 0x5cd500
mov eax, dword [ebp - 0x5c]
push 0x5c
push eax
call fcn.00667e5b
mov dword [ebp + 0x68], eax
pop ecx
pop ecx
test eax, eax
je 0x5cd5b7
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.00427a37
cmp dword [ebp - 0x48], 8
lea edx, [ebp - 0x5c]
mov byte [ebp - 4], 0x14
jb 0x5cd53a
mov edx, dword [ebp - 0x5c]
cmp dword [ebp - 0x10], 8
lea ecx, [ebp - 0x24]
jb 0x5cd546
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.00427bc8
mov eax, dword [ebp - 0x10]
mov byte [ebp - 4], 0x13
cmp eax, 8
jb 0x5cd5b7
mov ecx, dword [ebp - 0x24]
lea eax, [eax*2 + 2]
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x48], ecx
cmp eax, 0x1000
jb 0x5cd58d
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x48]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x48]
push eax
push ecx
call fcn.006643a9
pop ecx
pop ecx
jmp 0x5cd5b7
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x44]
add eax, 0x38
cmp ecx, eax
je 0x5cd5b7
mov byte [ebp - 0xb4], bl
push dword [ebp - 0xb4]
push eax
call fcn.00427ab9
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x130]
push eax
push 0x480
call fcn.00599084
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.004577f2
lea ecx, [ebp - 0xd0]
add esp, 0xc
cmp ecx, eax
je 0x5cd5f5
mov byte [ebp - 0xb8], bl
push dword [ebp - 0xb8]
push eax
call fcn.00427ad3
lea ecx, [ebp - 0x24]
call fcn.00427afc
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.00427a37
cmp byte [esi], 0
mov byte [ebp - 4], 0x15
je 0x5cd622
mov byte [esi], bl
call fcn.0046bce8
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0xd0]
push eax
lea ecx, [ebp - 0x150]
call fcn.00637607
push 1
push ebx
push 0x150
mov byte [ebp - 4], 0x16
call fcn.0059a05f
push eax
lea ecx, [ebp - 0x150]
call fcn.0059b8d4
cmp dword [ebp - 0x110], 0
jne 0x5cd68b
cmp dword [ebp - 0x30], 8
lea ecx, [ebp - 0x44]
jb 0x5cd66a
mov ecx, dword [ebp - 0x44]
cmp dword [ebp + 0x1c], 8
lea eax, [ebp + 8]
jb 0x5cd676
mov eax, dword [ebp + 8]
push dword [ebp - 0x34]
push ecx
push dword [ebp + 0x18]
push eax
call fcn.004287e6
test al, al
jne 0x5cd68b
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.00427a37
lea eax, [ebp + 0x28]
push eax
call fcn.004516a9
cmp byte [ebp + 0x7f], 0
mov byte [ebp - 4], 0x17
je 0x5cd700
cmp dword [ebp + 0x3c], 8
lea eax, [ebp + 0x28]
jb 0x5cd6c6
mov eax, dword [ebp + 0x28]
push eax
call fcn.0045270f
test al, al
je 0x5cd700
push 0x366
mov dword [ebp - 0xf0], 1
mov dword [ebp - 0xec], 0x30
call fcn.00599084
push eax
lea eax, [ebp - 0xf0]
push eax
call fcn.00599ee6
pop ecx
pop ecx
mov byte [ebp + 0x7f], bl
cmp byte [esi], 0
jne 0x5cd70d
mov byte [esi], 1
call fcn.0046bca7
cmp byte [ebp + 0x7f], 0
je 0x5cd77f
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.00427a37
mov ecx, dword [ebp + 0x40]
mov byte [ebp - 4], 0x17
call fcn.004fc095
mov eax, dword [ebp + 0x40]
cmp dword [eax + 0x38], ebx
je 0x5cd778
cmp dword [ebp + 0x3c], 8
lea ecx, [ebp + 0x28]
jb 0x5cd761
mov ecx, dword [ebp + 0x28]
cmp dword [ebp - 0x30], 8
lea eax, [ebp - 0x44]
jb 0x5cd76d
mov eax, dword [ebp - 0x44]
push ecx
push eax
call fcn.0058cd46
test al, al
je 0x5cd77f
or byte [edi + 0x151], 1
lea ecx, [ebp + 0x28]
call fcn.00427afc
lea ecx, [ebp - 0x150]
call fcn.0059acb8
mov eax, dword [ebp + 0x1c]
cmp eax, 8
jb 0x5cd7cd
mov ecx, dword [ebp + 8]
lea eax, [eax*2 + 2]
mov dword [ebp + 0x7c], eax
mov dword [ebp + 0x68], ecx
cmp eax, 0x1000
jb 0x5cd7c4
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x68]
push eax
push ecx
call fcn.006643a9
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 0x5cd818
mov ecx, dword [ebp - 0x44]
lea eax, [eax*2 + 2]
mov dword [ebp + 0x7c], eax
mov dword [ebp + 0x68], ecx
cmp eax, 0x1000
jb 0x5cd80f
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x68]
push eax
push ecx
call fcn.006643a9
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 0x5cd863
mov ecx, dword [ebp - 0x5c]
lea eax, [eax*2 + 2]
mov dword [ebp + 0x7c], eax
mov dword [ebp + 0x68], ecx
cmp eax, 0x1000
jb 0x5cd85a
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x68]
push eax
push ecx
call fcn.006643a9
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.0x5cce8b.27
mov ecx, dword [ebp - 0xd0]
jmp 0x5cd38e
mov ecx, edi
call fcn.004a842f
jmp 0x5cce99
cmp dword [ebp - 0x84], 0
je 0x5cd8b6
push 0x6d8d28
lea ecx, [ebp - 0x94]
call fcn.00437714
lea eax, [ebp - 0x24]
mov ecx, edi
push eax
call fcn.0049c9a7
push eax
lea eax, [ebp + 0x28]
mov byte [ebp - 4], 0x1c
push eax
call fcn.0043bbba
cmp dword [eax + 0x14], 8
mov ecx, eax
mov byte [ebp - 4], 0x1d
jb 0x5cd8dd
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp - 0x94]
call fcn.00427b45
lea ecx, [ebp + 0x28]
call fcn.00427afc
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 9
call fcn.00410858
jmp case.0x5cce8b.27
mov eax, dword [edi + 0xd4]
mov ecx, edi
mov dword [ebp + 0x7c], eax
call fcn.0049b65e
cmp dword [eax + 0x14], 8
jb 0x5cd91d
mov eax, dword [eax]
mov ecx, dword [ebp + 0x7c]
push eax
lea eax, [ebp + 0x28]
push eax
call fcn.00516857
cmp byte [esi], 0
mov byte [ebp - 4], 0x1a
je 0x5cd93a
mov byte [esi], bl
call fcn.0046bce8
cmp dword [ebp + 0x3c], 8
lea eax, [ebp + 0x28]
jb 0x5cd946
mov eax, dword [ebp + 0x28]
push eax
lea eax, [ebp - 0x24]
push str.__s_
push eax
call fcn.004577f2
add esp, 0xc
cmp dword [eax + 0x14], 8
mov byte [ebp - 4], 0x1b
jb 0x5cd964
mov eax, dword [eax]
push eax
call fcn.004550b3
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x1a
call fcn.00427afc
cmp byte [esi], 0
jne 0x5cd983
mov byte [esi], 1
call fcn.0046bca7
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 9
call fcn.00427afc
jmp case.0x5cce8b.27
cmp edx, 0x6c
jne case.0x5cce8b.27
add edi, 0x4d4
cmp dword [edi + 0x14], 0x10
jb 0x5cd9ab
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.0x5cce8b.27
cmp eax, 1
jne 0x5cdafd
cmp byte [esi], 0
je 0x5cd9d2
mov byte [esi], bl
call fcn.0046bce8
lea ecx, [ebp - 0x64]
call fcn.004b2140
mov edi, dword [ebp + 0x7c]
mov byte [ebp - 4], 0x20
push dword [edi + 0x78]
call fcn.004b4e9b
mov ecx, dword [ebp + 0x78]
sub ecx, 0x16
je 0x5cda0a
sub ecx, 0x1a
je 0x5cda59
sub ecx, 1
je 0x5cda49
dec ecx
sub ecx, 1
je 0x5cda1b
sub ecx, 8
jne 0x5cdad9
cmp dword [ebp + 4], 1
jbe 0x5cda73
push edi
call fcn.004b692a
jmp 0x5cdad9
lea ecx, [edi + 0x30]
cmp dword [ecx + 0x14], 0x10
jb 0x5cda26
mov ecx, dword [ecx]
add edi, 0x18
cmp dword [edi + 0x14], 8
jb 0x5cda31
mov edi, dword [edi]
add eax, 0xc
cmp dword [eax + 0x14], 8
jb 0x5cda3c
mov eax, dword [eax]
push ecx
push edi
push eax
call fcn.004b432d
jmp 0x5cdad9
push edi
call fcn.004b346d
call fcn.005feac6
jmp 0x5cdad9
lea eax, [edi + 0x30]
cmp dword [eax + 0x14], 0x10
jb 0x5cda64
mov eax, dword [eax]
push 1
push ebx
push ebx
push eax
push ebx
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
jmp 0x5cdad9
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.004b436c
mov eax, dword [ebp + 0x3c]
mov byte [ebp - 4], 0x20
cmp eax, 8
jb 0x5cdad9
mov ecx, dword [ebp + 0x28]
lea eax, [eax*2 + 2]
mov dword [ebp + 0x7c], eax
mov dword [ebp + 0x68], ecx
cmp eax, 0x1000
jb 0x5cdad0
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x68]
push eax
push ecx
call fcn.006643a9
pop ecx
pop ecx
lea ecx, [ebp - 0x64]
call fcn.004b87b8
cmp byte [esi], 0
jne 0x5cdaee
mov byte [esi], 1
call fcn.0046bca7
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 9
call fcn.00481222
mov edx, dword [ebp + 0x64]
mov ecx, dword [ebp + 0x4c]
inc ecx
mov dword [ebp + 0x4c], ecx
cmp ecx, dword [ebp + 0x44]
jb 0x5cce05
cmp dword [ebp - 0x84], 0
je 0x5cdb34
cmp dword [ebp - 0x80], 8
lea eax, [ebp - 0x94]
jb 0x5cdb28
mov eax, dword [ebp - 0x94]
push dword [ebp - 0x84]
push eax
call fcn.00455a32
cmp byte [ebp + 0x53], 0
je 0x5cdb4d
push ebx
push ebx
push 0x8017
push dword [0x7ed500]
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [ebp - 0x80]
mov byte [ebp - 4], 6
cmp eax, 8
jb 0x5cdc82
mov ecx, dword [ebp - 0x94]
lea eax, [eax*2 + 2]
mov dword [ebp + 0x78], eax
mov dword [ebp + 0x7c], ecx
cmp eax, 0x1000
jb 0x5cdb8a
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x78]
mov ecx, dword [ebp + 0x7c]
push eax
push ecx
call fcn.006643a9
pop ecx
pop ecx
jmp 0x5cdc82
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 0x5cdbb7
call fcn.0059fb14
jmp 0x5cdbbc
call fcn.006238d1
mov ecx, dword [ebp + 0x58]
call fcn.005dc096
jmp 0x5cdbf6
mov eax, dword [ebp + 0x58]
push ebx
push edi
push 0x8065
push dword [eax + 4]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x5cdbf6
mov al, byte [esi]
test al, al
je 0x5cdbee
mov byte [esi], bl
call fcn.0046bce8
mov al, byte [esi]
test al, al
jne 0x5cdbf6
mov byte [esi], 1
call fcn.0046bca7
mov eax, dword [ebp - 0x80]
cmp eax, 8
jb 0x5cdca4
mov ecx, dword [ebp - 0x94]
lea eax, [eax*2 + 2]
mov dword [ebp + 0x78], eax
mov dword [ebp + 0x7c], ecx
cmp eax, 0x1000
jb 0x5cdc2f
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x78]
mov ecx, dword [ebp + 0x7c]
push eax
push ecx
call fcn.006643a9
pop ecx
pop ecx
jmp 0x5cdca4
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 0x5cdc5b
or eax, 2
push eax
mov eax, dword [ebp + 0x60]
push eax
push dword [ebp + 0x54]
call fcn.00481c32
mov ecx, 0x7bb320
call fcn.005049c1
mov dword [0x7bb040], ebx
mov dword [0x7bb044], ebx
mov byte [ebp + 0x6f], 1
cmp byte [esi], 0
je 0x5cdc8e
mov byte [esi], bl
call fcn.0046bce8
cmp byte [ebp + 0x6f], 0
je 0x5cdc9c
mov ecx, dword [ebp + 0x58]
call fcn.005d62f4
mov ecx, dword [ebp + 0x58]
call fcn.005dc444
cmp byte [ebp + 0x5f], 0
mov dword [ebp - 4], 0x22
je 0x5cdceb
call fcn.0046bce8
jmp 0x5cdceb
push 0
mov ecx, edi
call fcn.005e7aaa
call fcn.005bda8d
push eax
call fcn.005be54e
push eax
push 0x14
push 0x7222d0
call fcn.006a3b05
jmp 0x5cdceb
mov ecx, edi
call fcn.005ce506
jmp 0x5cdceb
mov ecx, edi
call fcn.005ce9b2
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