Function at 0x43b100
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
call fcn.005231a0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp], 0
call fcn.0050e142
sub esp, 4
test eax, eax
jne 0x43b6b6
call fcn.005232e0
mov dword [esp], 0
call fcn.0050e126
sub esp, 4
mov ebx, eax
call fcn.005232e0
mov dword [esp], 0x684c14
call fcn.00523370
sub esp, 4
mov eax, dword [0x694130]
imul eax, dword [0x693dcc]
mov edx, dword [0x69412c]
mov eax, dword [edx + eax*4 + 0x84]
mov dword [esp], eax
call fcn.00523370
sub esp, 4
call fcn.005233c0
call fcn.005232b0
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], 0xc80006
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x8a
mov dword [esp + 0xc], 0xfa
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x2a
call fcn.0050ddd2
sub esp, 0x20
call fcn.00523250
mov dword [esp + 0x10], 0x8c
mov dword [esp + 0xc], 0xfa
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0xc7
call fcn.005067b3
sub esp, 0x14
mov dword [esp + 8], 0xff
mov dword [esp + 4], 0xff
mov dword [esp], 0xff
call fcn.005133f4
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp + 4], 2
mov dword [esp], 0xc7
call fcn.005067d0
sub esp, 0xc
call fcn.005232e0
call fcn.005232e0
mov eax, dword [0x694130]
imul eax, dword [0x693dcc]
mov edx, dword [0x69412c]
mov eax, dword [edx + eax*4 + 0x4c]
mov dword [esp], eax
call fcn.00523370
sub esp, 4
mov dword [esp], 0x68480c
call fcn.00523370
sub esp, 4
call fcn.005233c0
call fcn.005232b0
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x14
mov dword [esp + 0xc], 0x37
mov dword [esp + 8], 0x19
mov dword [esp + 4], 0x19
mov dword [esp], 0xc8
call fcn.00506a9e
sub esp, 0x18
call fcn.00523250
mov dword [esp + 8], 0xff
mov dword [esp + 4], 0xff
mov dword [esp], 0xff
call fcn.005133f4
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp + 4], 2
mov dword [esp], 0xc8
call fcn.005067d0
sub esp, 0xc
mov dword [esp + 0x18], 0x10000
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x16
mov dword [esp + 0xc], 0x46
mov dword [esp + 8], 0x19
mov dword [esp + 4], 0x55
mov dword [esp], 0xc9
call fcn.00506f85
sub esp, 0x1c
mov dword [esp + 8], 0xb9
mov dword [esp + 4], 0xfc
mov dword [esp], 0xfd
call fcn.005133f4
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp + 4], 2
mov dword [esp], 0xc9
call fcn.005067d0
sub esp, 0xc
mov dword [esp + 0x14], str.Val.:
mov dword [esp + 0x10], 0x14
mov dword [esp + 0xc], 0x28
mov dword [esp + 8], 0x43
mov dword [esp + 4], 0x19
mov dword [esp], 0xca
call fcn.00506a9e
sub esp, 0x18
mov dword [esp + 8], 0xff
mov dword [esp + 4], 0xff
mov dword [esp], 0xff
call fcn.005133f4
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp + 4], 2
mov dword [esp], 0xca
call fcn.005067d0
sub esp, 0xc
mov dword [esp + 0x18], 0x100
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x16
mov dword [esp + 0xc], 0x46
mov dword [esp + 8], 0x41
mov dword [esp + 4], 0x55
mov dword [esp], 0xcb
call fcn.00506f85
sub esp, 0x1c
mov dword [esp + 8], 0xb9
mov dword [esp + 4], 0xfc
mov dword [esp], 0xfd
call fcn.005133f4
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp + 4], 2
mov dword [esp], 0xcb
call fcn.005067d0
sub esp, 0xc
mov eax, dword [0x694130]
imul eax, dword [0x693dcc]
mov edx, dword [0x69412c]
mov eax, dword [edx + eax*4 + 0x88]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x16
mov dword [esp + 0xc], 0x3c
mov dword [esp + 8], 0x41
mov dword [esp + 4], 0xaf
mov dword [esp], 0xcd
call fcn.005073b3
sub esp, 0x18
mov dword [esp + 0x18], 0x801
mov dword [esp + 0x14], 0x694178
mov dword [esp + 0x10], 0x14
mov dword [esp + 0xc], 0x3c
mov dword [esp + 8], 0x19
mov dword [esp + 4], 0xaf
mov dword [esp], 0xce
call fcn.005075d5
sub esp, 0x1c
mov eax, dword [0x694130]
imul eax, dword [0x693dcc]
mov edx, dword [0x69412c]
mov eax, dword [edx + eax*4 + 0xc4]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x14
mov dword [esp + 0xc], 0x46
mov dword [esp + 8], 0x69
mov dword [esp + 4], 0x55
mov dword [esp], 0x3e8
call fcn.005073b3
sub esp, 0x18
movzx eax, word [0x693f80]
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp], 0xc9
call fcn.0050631f
sub esp, 0xc
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx esi, word [0x693f80]
xor edi, edi
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005233c0
call fcn.005232b0
mov dword [esp + 4], eax
mov dword [esp], 0xc9
call fcn.005063c3
sub esp, 8
call fcn.00523250
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
sub esp, 4
mov dword [esp + 4], eax
sar eax, 0x1f
mov dword [esp + 8], eax
mov dword [esp], 0xcb
call fcn.0050631f
sub esp, 0xc
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
sub esp, 4
mov ebx, eax
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], ebx
sar ebx, 0x1f
mov dword [esp + 4], ebx
call fcn.005209c0
sub esp, 0xc
call fcn.005233c0
call fcn.005232b0
mov dword [esp + 4], eax
mov dword [esp], 0xcb
call fcn.005063c3
sub esp, 8
call fcn.00523250
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 4], eax
mov dword [esp], 0xc9
call fcn.0050635b
sub esp, 8
call fcn.005232b0
mov dword [esp], eax
call fcn.00521000
sub esp, 4
mov ebp, eax
call fcn.00523250
mov word [esp + 0x30], bp
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 4], eax
mov dword [esp], 0xcb
call fcn.0050635b
sub esp, 8
call fcn.005232b0
mov dword [esp], eax
call fcn.00521000
sub esp, 4
mov edi, eax
call fcn.00523250
mov dword [esp + 0x34], 0
jmp 0x43bf10
mov dword [esp + 4], 1
mov dword [esp], 0
call fcn.0050e154
sub esp, 8
jmp 0x43b133
movzx eax, word [esp + 0x30]
lea ebx, [eax + 1]
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 8], eax
movzx esi, bx
mov dword [esp], esi
mov dword [esp + 4], 0
call fcn.005209c0
sub esp, 0xc
call fcn.005233c0
call fcn.005232b0
mov dword [esp + 4], eax
mov dword [esp], 0xc9
call fcn.005063c3
sub esp, 8
call fcn.00523250
mov dword [esp], esi
call fcn.004010a0
sub esp, 4
mov edi, eax
mov dword [esp + 4], 0x68296c
mov dword [esp], 0xce
call fcn.005063c3
sub esp, 8
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], edi
mov eax, edi
sar eax, 0x1f
mov dword [esp + 4], eax
call fcn.005209c0
sub esp, 0xc
call fcn.005233c0
call fcn.005232b0
mov dword [esp + 4], eax
mov dword [esp], 0xcb
call fcn.005063c3
sub esp, 8
call fcn.00523250
mov dword [esp], 0xc9
call fcn.00507786
sub esp, 4
mov dword [esp], 0xc9
call fcn.00505022
sub esp, 4
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0
mov dword [esp + 4], 0xb1
mov dword [esp], eax
call sub.USER32.dll_SendMessageW
sub esp, 0x10
call fcn.00511b7b
cmp eax, 5
je 0x43b998
mov word [esp + 0x30], bx
cmp ebp, 0xc9
jne 0x43bf3f
cmp dword [esp + 0x2c], 0x332c
jne 0x43bf3f
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 4], eax
mov dword [esp], 0xc9
call fcn.0050635b
sub esp, 8
call fcn.00523210
mov dword [esp + 4], eax
lea eax, [esp + 0x48]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.00521990
sub esp, 8
call fcn.00523210
mov dword [esp + 4], eax
lea eax, [esp + 0x48]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 4], eax
mov dword [esp], 0xc9
call fcn.0050635b
sub esp, 8
call fcn.005232b0
mov dword [esp], eax
call fcn.00521000
sub esp, 4
mov ebx, eax
call fcn.00523250
mov word [esp + 0x30], bx
mov dword [esp + 4], 0x68296c
mov dword [esp], 0xce
call fcn.005063c3
sub esp, 8
mov dword [esp + 4], 0x694178
lea eax, [esp + 0x4c]
mov dword [esp], eax
call fcn.00523110
sub esp, 8
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.00521190
sub esp, 4
mov esi, eax
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.00520e60
sub esp, 0xc
call fcn.005233c0
call fcn.00523280
mov dword [esp + 4], eax
mov dword [esp], 0x684b88
call fcn.005233e0
test eax, eax
je 0x43bab0
cmp esi, 1
jle 0x43be1e
mov ebx, 2
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x34]
mov dword [esp + 0x3c], ebp
mov ebp, esi
jmp 0x43bd67
call fcn.00511b7b
cmp eax, 5
jne 0x43b7f6
cmp ebp, 0xc9
jne 0x43bf3f
sub word [esp + 0x30], 1
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 8], eax
movzx ebx, word [esp + 0x30]
mov dword [esp], ebx
mov dword [esp + 4], 0
call fcn.005209c0
sub esp, 0xc
call fcn.005233c0
call fcn.005232b0
mov dword [esp + 4], eax
mov dword [esp], 0xc9
call fcn.005063c3
sub esp, 8
call fcn.00523250
mov dword [esp], ebx
call fcn.004010a0
sub esp, 4
mov edi, eax
mov dword [esp + 4], 0x68296c
mov dword [esp], 0xce
call fcn.005063c3
sub esp, 8
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], edi
mov eax, edi
sar eax, 0x1f
mov dword [esp + 4], eax
call fcn.005209c0
sub esp, 0xc
call fcn.005233c0
call fcn.005232b0
mov dword [esp + 4], eax
mov dword [esp], 0xcb
call fcn.005063c3
sub esp, 8
call fcn.00523250
mov dword [esp], 0xc9
call fcn.00507786
sub esp, 4
mov dword [esp], 0xc9
call fcn.00505022
sub esp, 4
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0
mov dword [esp + 4], 0xb1
mov dword [esp], eax
call sub.USER32.dll_SendMessageW
sub esp, 0x10
cmp dword [esp + 0x2c], 0x332c
jne 0x43bf3f
jmp 0x43b810
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.00520e60
sub esp, 0xc
call fcn.005233c0
call fcn.00523280
mov dword [esp + 4], eax
mov dword [esp], 0x684b88
call fcn.005233e0
test eax, eax
jne 0x43be28
test esi, esi
jle 0x43be1e
mov ebx, 1
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x34]
mov dword [esp + 0x38], ebp
mov ebp, esi
lea esi, [esi]
nop
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.00521190
sub esp, 4
cmp eax, 5
jg 0x43be7e
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.005211c0
sub esp, 0x10
call fcn.005232b0
mov dword [esp], eax
call fcn.00521300
sub esp, 4
mov esi, eax
call fcn.00523250
cmp esi, 0x2f
jle 0x43be7e
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.005211c0
sub esp, 0x10
call fcn.005232b0
mov dword [esp], eax
call fcn.00521300
sub esp, 4
mov esi, eax
call fcn.00523250
cmp esi, 0x39
jg 0x43be7e
call fcn.005232e0
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.005211c0
sub esp, 0x10
call fcn.00523210
call fcn.00523210
mov dword [esp + 4], eax
lea eax, [esp + 0x4c]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.00521000
sub esp, 4
mov edi, eax
add ebx, 1
cmp ebp, ebx
jge 0x43bb20
mov dword [esp + 0x34], eax
mov edi, dword [esp + 0x30]
mov ebp, dword [esp + 0x38]
jmp 0x43be1e
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.005211c0
sub esp, 0x10
call fcn.005232b0
mov dword [esp], eax
call fcn.00521300
sub esp, 4
mov esi, eax
call fcn.00523250
cmp esi, 0x40
jle 0x43be59
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.005211c0
sub esp, 0x10
call fcn.005232b0
mov dword [esp], eax
call fcn.00521300
sub esp, 4
mov esi, eax
call fcn.00523250
cmp esi, 0x46
jg 0x43be59
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp + 4], 0x684b88
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.00521970
sub esp, 0xc
call fcn.005232b0
mov dword [esp], eax
call fcn.00415c20
sub esp, 4
mov edi, eax
call fcn.00523250
add ebx, 1
cmp ebp, ebx
jl 0x43be12
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.005211c0
sub esp, 0x10
call fcn.005232b0
mov dword [esp], eax
call fcn.00521300
sub esp, 4
mov esi, eax
call fcn.00523250
cmp esi, 0x2f
jle 0x43bc70
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.005211c0
sub esp, 0x10
call fcn.005232b0
mov dword [esp], eax
call fcn.00521300
sub esp, 4
mov esi, eax
call fcn.00523250
cmp esi, 0x39
jg 0x43bc70
jmp 0x43bd16
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x38]
mov ebp, dword [esp + 0x3c]
movzx eax, word [esp + 0x34]
mov word [esp + 0x30], ax
call fcn.00511b7b
cmp eax, 4
jne 0x43bea8
lea esi, [esi]
call fcn.00511b7b
cmp eax, 5
jne 0x43bed0
cmp dword [esp + 0x2c], 0x332c
jne 0x43bede
jmp 0x43c3bc
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x38]
mov ebp, dword [esp + 0x3c]
mov dword [esp + 4], 0x68296c
mov dword [esp], 0xce
call fcn.005063c3
sub esp, 8
jmp 0x43bede
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x30]
mov ebp, dword [esp + 0x38]
xor eax, eax
mov word [esp + 0x30], ax
jmp 0x43be65
xor ebx, ebx
xor esi, esi
xor edi, edi
jmp 0x43bf6f
call fcn.00511b7b
cmp eax, 5
jne 0x43bed0
cmp ebp, 0xcb
jne 0x43be46
jmp 0x43c01e
mov ebx, edi
mov esi, edi
sar esi, 0x1f
jmp 0x43c033
cmp dword [esp + 0x2c], 0x332c
je 0x43c3b0
cmp ebp, 0x3e8
je 0x43c3d8
cmp dword [esp + 0x2c], 0x333c
je 0x43c3d8
mov dword [esp], 0x1b
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test ah, 0x80
jne 0x43c3d8
call fcn.0050e2aa
mov dword [esp + 0x2c], eax
call fcn.00511b8a
mov ebp, eax
call fcn.00511b7b
cmp eax, 4
jne 0x43b978
cmp ebp, 0xc9
je 0x43b6d8
call fcn.00511b7b
call fcn.00511b7b
cmp eax, 4
jne 0x43bea8
cmp ebp, 0xcb
jne 0x43be38
add edi, 1
cmp edi, 0x100
je 0x43be98
mov ebx, edi
mov esi, edi
sar esi, 0x1f
mov dword [esp + 4], 0x68296c
mov dword [esp], 0xce
call fcn.005063c3
sub esp, 8
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], ebx
mov dword [esp + 4], esi
call fcn.005209c0
sub esp, 0xc
call fcn.005233c0
call fcn.005232b0
mov dword [esp + 4], eax
mov dword [esp], 0xcb
call fcn.005063c3
sub esp, 8
call fcn.00523250
mov dword [esp], 0xcb
call fcn.00507786
sub esp, 4
mov dword [esp], 0xcb
call fcn.00505022
sub esp, 4
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0
mov dword [esp + 4], 0xb1
mov dword [esp], eax
call sub.USER32.dll_SendMessageW
sub esp, 0x10
call fcn.00511b7b
cmp eax, 5
jne 0x43c820
sub edi, 1
jns 0x43bebf
mov ebx, 0xff
xor esi, esi
mov edi, 0xff
mov dword [esp + 4], 0x68296c
mov dword [esp], 0xce
call fcn.005063c3
sub esp, 8
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], ebx
mov dword [esp + 4], esi
call fcn.005209c0
sub esp, 0xc
call fcn.005233c0
call fcn.005232b0
mov dword [esp + 4], eax
mov dword [esp], 0xcb
call fcn.005063c3
sub esp, 8
call fcn.00523250
mov dword [esp], 0xcb
call fcn.00507786
sub esp, 4
mov dword [esp], 0xcb
call fcn.00505022
sub esp, 4
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0
mov dword [esp + 4], 0xb1
mov dword [esp], eax
call sub.USER32.dll_SendMessageW
sub esp, 0x10
cmp dword [esp + 0x2c], 0x332c
jne 0x43beea
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 4], eax
mov dword [esp], 0xcb
call fcn.0050635b
sub esp, 8
call fcn.00523210
mov dword [esp + 4], eax
lea eax, [esp + 0x48]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.00521990
sub esp, 8
call fcn.00523210
mov dword [esp + 4], eax
lea eax, [esp + 0x48]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 4], eax
mov dword [esp], 0xcb
call fcn.0050635b
sub esp, 8
call fcn.005232b0
mov dword [esp], eax
call fcn.00521000
sub esp, 4
mov edi, eax
call fcn.00523250
mov dword [esp + 4], 0x68296c
mov dword [esp], 0xce
call fcn.005063c3
sub esp, 8
mov dword [esp + 4], 0x694178
lea eax, [esp + 0x4c]
mov dword [esp], eax
call fcn.00523110
sub esp, 8
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.00521190
sub esp, 4
mov esi, eax
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.00520e60
sub esp, 0xc
call fcn.005233c0
call fcn.00523280
mov dword [esp + 4], eax
mov dword [esp], 0x684b88
call fcn.005233e0
test eax, eax
jne 0x43c460
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.00520e60
sub esp, 0xc
call fcn.005233c0
call fcn.00523280
mov dword [esp + 4], eax
mov dword [esp], 0x684b88
call fcn.005233e0
mov ebx, eax
test eax, eax
jne 0x43bef8
test esi, esi
js 0x43bef8
mov dword [esp + 0x38], ebp
mov ebp, esi
lea esi, [esi]
nop
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.005211c0
sub esp, 0x10
call fcn.005232b0
mov dword [esp], eax
call fcn.00521300
sub esp, 4
mov esi, eax
call fcn.00523250
cmp esi, 0x2f
jle 0x43c815
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.005211c0
sub esp, 0x10
call fcn.005232b0
mov dword [esp], eax
call fcn.00521300
sub esp, 4
mov esi, eax
call fcn.00523250
cmp esi, 0x39
jg 0x43c815
call fcn.005232e0
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.005211c0
sub esp, 0x10
call fcn.00523210
call fcn.00523210
mov dword [esp + 4], eax
lea eax, [esp + 0x4c]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.00521000
sub esp, 4
mov edi, eax
add ebx, 1
cmp ebp, ebx
jge 0x43c280
jmp 0x43bef8
cmp ebp, 0xcb
je 0x43c0e2
cmp ebp, 0xcd
je 0x43c640
cmp ebp, 0x3e8
jne 0x43bef8
lea esi, [esi]
mov dword [esp], 0x2a
call fcn.0050e2b2
sub esp, 4
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0050e154
sub esp, 8
mov dword [esp], 0
call fcn.0050e126
sub esp, 4
mov dword [esp], eax
call fcn.00507896
sub esp, 4
xor ebx, ebx
lea esi, [esi]
mov dword [esp], ebx
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
add ebx, 1
cmp ebx, 0x100
jne 0x43c420
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.00523470
sub esp, 4
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.00523470
sub esp, 4
xor eax, eax
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret 4
mov ebp, esi
cmp esi, 1
jle 0x43bef8
mov esi, 2
jmp 0x43c53f
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], esi
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.005211c0
sub esp, 0x10
call fcn.005232b0
mov dword [esp], eax
call fcn.00521300
sub esp, 4
mov ebx, eax
call fcn.00523250
cmp ebx, 0x39
jg 0x43c592
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp + 4], 0x684b88
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.00521970
sub esp, 0xc
call fcn.005232b0
mov dword [esp], eax
call fcn.00415c20
sub esp, 4
mov edi, eax
call fcn.00523250
jmp 0x43c534
mov dword [esp + 4], 0x68296c
mov dword [esp], 0xce
call fcn.005063c3
sub esp, 8
mov edi, 0x100
add esi, 1
cmp ebp, esi
jl 0x43bef8
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], esi
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.005211c0
sub esp, 0x10
call fcn.005232b0
mov dword [esp], eax
call fcn.00521300
sub esp, 4
mov ebx, eax
call fcn.00523250
cmp ebx, 0x2f
jg 0x43c478
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], esi
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.005211c0
sub esp, 0x10
call fcn.005232b0
mov dword [esp], eax
call fcn.00521300
sub esp, 4
mov ebx, eax
call fcn.00523250
cmp ebx, 0x40
jle 0x43c518
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], esi
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.005211c0
sub esp, 0x10
call fcn.005232b0
mov dword [esp], eax
call fcn.00521300
sub esp, 4
mov ebx, eax
call fcn.00523250
cmp ebx, 0x46
jg 0x43c518
jmp 0x43c4cb
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.00520e60
sub esp, 0xc
call fcn.005233c0
call fcn.00523280
mov dword [esp + 4], eax
mov dword [esp], 0x684b88
call fcn.005233e0
test eax, eax
je 0x43c74e
cmp word [esp + 0x30], 0x3fff
jbe 0x43bef8
test edi, edi
js 0x43bef8
cmp edi, 0xff
jg 0x43bef8
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 8], eax
movzx ebx, word [esp + 0x30]
mov dword [esp], ebx
mov dword [esp + 4], 0
call fcn.005209c0
sub esp, 0xc
mov dword [esp], 0x6849d0
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], edi
mov eax, edi
sar eax, 0x1f
mov dword [esp + 4], eax
call fcn.005209c0
sub esp, 0xc
call fcn.00523210
call fcn.005233c0
call fcn.005232b0
mov dword [esp + 4], eax
mov dword [esp], 0xce
call fcn.005063c3
sub esp, 8
call fcn.00523250
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.004015c0
sub esp, 8
jmp 0x43bef8
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.005211c0
sub esp, 0x10
call fcn.005232b0
mov dword [esp], eax
call fcn.00521300
sub esp, 4
mov ebx, eax
call fcn.00523250
cmp ebx, 0x2f
jg 0x43c7bd
mov dword [esp + 4], 0x68296c
mov dword [esp], 0xce
call fcn.005063c3
sub esp, 8
jmp 0x43bef8
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.005211c0
sub esp, 0x10
call fcn.005232b0
mov dword [esp], eax
call fcn.00521300
sub esp, 4
mov ebx, eax
call fcn.00523250
cmp ebx, 0x39
jg 0x43c7a1
jmp 0x43c68c
mov ebp, dword [esp + 0x38]
jmp 0x43be65
cmp dword [esp + 0x2c], 0x332c
jne 0x43beea
jmp 0x43c0e2