Function at 0x4301f0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c8
mov eax, dword [0x55d68c]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x4bc], ecx
mov byte [ebp - 0x34d], 0
mov eax, dword [ebp + 0x14]
mov dword [eax], 0
lea ecx, [ebp - 0x34c]
call fcn.00402b30
cmp dword [ebp + 8], 0xffffffff
je 0x431079
mov byte [ebp - 0x34d], 1
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x4c0], ecx
mov edx, dword [ebp - 0x4c0]
sub edx, 1
mov dword [ebp - 0x4c0], edx
cmp dword [ebp - 0x4c0], 0x1d
ja case.0x430267.5
mov eax, dword [ebp - 0x4c0]
movzx ecx, byte [eax + 0x431138]
jmp dword [ecx*4 + 0x4310ec]
mov ecx, dword [ebp - 0x4bc]
add ecx, 0x44
call fcn.004324d0
test eax, eax
je 0x4302d5
mov ecx, dword [ebp - 0x4bc]
add ecx, 0xd4
call fcn.004324d0
test eax, eax
je 0x4302d5
lea edx, [ebp - 0x34c]
push edx
mov ecx, dword [ebp - 0x4bc]
call fcn.0042e5a0
push 2
lea eax, [ebp - 0x34c]
push eax
lea ecx, [ebp - 0x20]
push ecx
mov ecx, dword [ebp - 0x4bc]
add ecx, 0x3c
call fcn.0040f320
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004063a0
lea ecx, [ebp - 0x20]
call fcn.00402c40
jmp 0x4302dc
mov byte [ebp - 0x34d], 0
jmp 0x431079
mov ecx, dword [ebp - 0x4bc]
add ecx, 0xd4
call fcn.004324d0
test eax, eax
je 0x43038f
lea edx, [ebp - 0x34c]
push edx
mov ecx, dword [ebp - 0x4bc]
call fcn.0042e5a0
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x4c4], eax
cmp dword [ebp - 0x4c4], 1
je 0x430329
cmp dword [ebp - 0x4c4], 2
je 0x43035c
jmp 0x43038d
mov ecx, dword [ebp - 0x4bc]
movzx edx, byte [ecx + 0x3c]
push edx
push 1
lea eax, [ebp - 0x34c]
push eax
lea ecx, [ebp - 0x3c]
push ecx
call fcn.0042e600
add esp, 0x10
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004063a0
lea ecx, [ebp - 0x3c]
call fcn.00402c40
jmp 0x43038d
mov edx, dword [ebp - 0x4bc]
movzx eax, byte [edx + 0x3c]
push eax
push 1
lea ecx, [ebp - 0x34c]
push ecx
lea edx, [ebp - 0x58]
push edx
call fcn.0040f1b0
add esp, 0x10
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004063a0
lea ecx, [ebp - 0x58]
call fcn.00402c40
jmp 0x430396
mov byte [ebp - 0x34d], 0
jmp 0x431079
mov ecx, dword [ebp - 0x4bc]
add ecx, 0xd4
call fcn.004324d0
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.00433d60
add esp, 8
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004063a0
lea ecx, [ebp - 0x74]
call fcn.00402c40
jmp 0x431079
mov dword [ebp - 0x358], 0
lea ecx, [ebp - 0x468]
push ecx
mov ecx, dword [ebp - 0x4bc]
add ecx, 0xd4
call fcn.00411730
mov edx, dword [eax]
mov dword [ebp - 0x354], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x4c8], eax
cmp dword [ebp - 0x4c8], 0
je 0x43041d
cmp dword [ebp - 0x4c8], 1
je 0x43053b
jmp 0x43062f
lea ecx, [ebp - 0x46c]
push ecx
mov ecx, dword [ebp - 0x4bc]
add ecx, 0xd4
call fcn.00411760
push eax
lea ecx, [ebp - 0x354]
call fcn.00429760
movzx edx, al
test edx, edx
je 0x43050c
lea ecx, [ebp - 0x354]
call fcn.00417d40
movsx eax, byte [eax]
push eax
call fcn.0042fcd0
add esp, 4
mov byte [ebp - 0x359], al
movsx ecx, byte [ebp - 0x359]
cmp ecx, 0x30
jl 0x430492
movsx edx, byte [ebp - 0x359]
cmp edx, 0x39
jg 0x430492
mov eax, dword [ebp - 0x358]
or eax, 1
mov dword [ebp - 0x358], eax
jmp 0x4304f3
movsx ecx, byte [ebp - 0x359]
cmp ecx, 0x61
jl 0x4304bb
movsx edx, byte [ebp - 0x359]
cmp edx, 0x7a
jg 0x4304bb
mov eax, dword [ebp - 0x358]
or eax, 2
mov dword [ebp - 0x358], eax
jmp 0x4304f3
movsx ecx, byte [ebp - 0x359]
cmp ecx, 0x41
jl 0x4304e4
movsx edx, byte [ebp - 0x359]
cmp edx, 0x5a
jg 0x4304e4
mov eax, dword [ebp - 0x358]
or eax, 2
mov dword [ebp - 0x358], eax
jmp 0x4304f3
mov ecx, dword [ebp - 0x358]
or ecx, 4
mov dword [ebp - 0x358], ecx
push 0
lea edx, [ebp - 0x470]
push edx
lea ecx, [ebp - 0x354]
call fcn.00411950
jmp 0x43041d
mov eax, dword [ebp - 0x358]
and eax, 1
mov ecx, dword [ebp - 0x358]
shr ecx, 1
and ecx, 1
add eax, ecx
mov edx, dword [ebp - 0x358]
shr edx, 2
and edx, 1
add eax, edx
mov dword [ebp - 0x358], eax
jmp 0x430748
lea eax, [ebp - 0x474]
push eax
mov ecx, dword [ebp - 0x4bc]
add ecx, 0xd4
call fcn.00411760
push eax
lea ecx, [ebp - 0x354]
call fcn.00429760
movzx ecx, al
test ecx, ecx
je 0x43062a
lea ecx, [ebp - 0x354]
call fcn.00417d40
movsx edx, byte [eax]
push edx
call fcn.0042fcd0
add esp, 4
mov byte [ebp - 0x35a], al
movsx eax, byte [ebp - 0x35a]
cmp eax, 0x30
jl 0x4305b0
movsx ecx, byte [ebp - 0x35a]
cmp ecx, 0x39
jg 0x4305b0
mov edx, dword [ebp - 0x358]
or edx, 1
mov dword [ebp - 0x358], edx
jmp 0x430611
movsx eax, byte [ebp - 0x35a]
cmp eax, 0x61
jl 0x4305d9
movsx ecx, byte [ebp - 0x35a]
cmp ecx, 0x7a
jg 0x4305d9
mov edx, dword [ebp - 0x358]
or edx, 2
mov dword [ebp - 0x358], edx
jmp 0x430611
movsx eax, byte [ebp - 0x35a]
cmp eax, 0x41
jl 0x430602
movsx ecx, byte [ebp - 0x35a]
cmp ecx, 0x5a
jg 0x430602
mov edx, dword [ebp - 0x358]
or edx, 4
mov dword [ebp - 0x358], edx
jmp 0x430611
mov eax, dword [ebp - 0x358]
or eax, 8
mov dword [ebp - 0x358], eax
push 0
lea ecx, [ebp - 0x478]
push ecx
lea ecx, [ebp - 0x354]
call fcn.00411950
jmp 0x43053b
jmp 0x430748
lea edx, [ebp - 0x47c]
push edx
mov ecx, dword [ebp - 0x4bc]
add ecx, 0xd4
call fcn.00411760
push eax
lea ecx, [ebp - 0x354]
call fcn.00429760
movzx eax, al
test eax, eax
je 0x43071e
lea ecx, [ebp - 0x354]
call fcn.00417d40
movsx ecx, byte [eax]
push ecx
call fcn.0042fcd0
add esp, 4
mov byte [ebp - 0x35b], al
movsx edx, byte [ebp - 0x35b]
cmp edx, 0x30
jl 0x4306a4
movsx eax, byte [ebp - 0x35b]
cmp eax, 0x39
jg 0x4306a4
mov ecx, dword [ebp - 0x358]
or ecx, 1
mov dword [ebp - 0x358], ecx
jmp 0x430705
movsx edx, byte [ebp - 0x35b]
cmp edx, 0x61
jl 0x4306cd
movsx eax, byte [ebp - 0x35b]
cmp eax, 0x7a
jg 0x4306cd
mov ecx, dword [ebp - 0x358]
or ecx, 2
mov dword [ebp - 0x358], ecx
jmp 0x430705
movsx edx, byte [ebp - 0x35b]
cmp edx, 0x41
jl 0x4306f6
movsx eax, byte [ebp - 0x35b]
cmp eax, 0x5a
jg 0x4306f6
mov ecx, dword [ebp - 0x358]
or ecx, 2
mov dword [ebp - 0x358], ecx
jmp 0x430705
mov edx, dword [ebp - 0x358]
or edx, 4
mov dword [ebp - 0x358], edx
push 0
lea eax, [ebp - 0x480]
push eax
lea ecx, [ebp - 0x354]
call fcn.00411950
jmp 0x43062f
mov ecx, dword [ebp - 0x358]
and ecx, 1
mov edx, dword [ebp - 0x358]
shr edx, 1
and edx, 1
add ecx, edx
mov eax, dword [ebp - 0x358]
shr eax, 2
and eax, 1
add ecx, eax
mov dword [ebp - 0x358], ecx
mov ecx, dword [ebp - 0x358]
push ecx
lea edx, [ebp - 0x90]
push edx
call fcn.00433d60
add esp, 8
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004063a0
lea ecx, [ebp - 0x90]
call fcn.00402c40
jmp 0x431079
mov ecx, dword [ebp - 0x4bc]
add ecx, 0x110
call fcn.004324d0
test eax, eax
je 0x430850
push 1
mov eax, dword [ebp - 0x4bc]
add eax, 0x110
push eax
lea ecx, [ebp - 0x3a4]
call fcn.004128f0
lea ecx, [ebp - 0x394]
call fcn.004119d0
lea ecx, [ebp - 0x34c]
push ecx
mov ecx, dword [ebp - 0x4bc]
call fcn.0042e5a0
push 0
lea edx, [ebp - 0x3a4]
push edx
lea eax, [ebp - 0x394]
push eax
lea ecx, [ebp - 0x34c]
push ecx
call fcn.00412950
add esp, 0x10
movzx edx, al
test edx, edx
je 0x430813
push 0
lea eax, [ebp - 0xac]
push eax
call fcn.00433d60
add esp, 8
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004063a0
lea ecx, [ebp - 0xac]
call fcn.00402c40
jmp 0x430838
push 1
lea ecx, [ebp - 0xc8]
push ecx
call fcn.00433d60
add esp, 8
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004063a0
lea ecx, [ebp - 0xc8]
call fcn.00402c40
lea ecx, [ebp - 0x394]
call fcn.0040ee90
lea ecx, [ebp - 0x3a4]
call fcn.004119b0
jmp 0x430857
mov byte [ebp - 0x34d], 0
jmp 0x431079
mov ecx, dword [ebp - 0x4bc]
add ecx, 0xd4
call fcn.004324d0
test eax, eax
je 0x4308db
lea edx, [ebp - 0x34c]
push edx
mov ecx, dword [ebp - 0x4bc]
call fcn.0042e5a0
lea ecx, [ebp - 0x34c]
call fcn.00402c60
push eax
lea ecx, [ebp - 0xe4]
call fcn.00402b60
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0xe4]
push ecx
lea edx, [ebp - 0x100]
push edx
mov ecx, dword [ebp - 0x4bc]
add ecx, 0x3c
call fcn.0040f320
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004063a0
lea ecx, [ebp - 0x100]
call fcn.00402c40
lea ecx, [ebp - 0xe4]
call fcn.00402c40
jmp 0x4308e2
mov byte [ebp - 0x34d], 0
jmp 0x431079
lea eax, [ebp - 0x11c]
push eax
call fcn.004283e0
add esp, 4
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004063a0
lea ecx, [ebp - 0x11c]
call fcn.00402c40
lea ecx, [ebp - 0x484]
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.00432390
mov ecx, eax
call fcn.00432660
movsx edx, byte [eax]
cmp edx, 0x3b
jne 0x430965
push 1
lea eax, [ebp - 0x490]
push eax
lea ecx, [ebp - 0x48c]
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.00411760
mov ecx, eax
call fcn.00432630
mov edx, dword [eax]
mov dword [ebp - 0x488], edx
mov eax, dword [ebp - 0x488]
push eax
lea ecx, [ebp - 0x494]
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.00432300
cmp dword [ebp + 0xc], 0x15b3
je 0x43099f
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x138]
push ecx
mov ecx, dword [ebp - 0x4bc]
add ecx, 0x3c
call fcn.0040f320
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004063a0
lea ecx, [ebp - 0x138]
call fcn.00402c40
jmp 0x431079
jmp 0x431079
push 0x551840
lea ecx, [ebp - 0x3dc]
call fcn.00402b60
lea edx, [ebp - 0x34c]
push edx
mov ecx, dword [ebp - 0x4bc]
call fcn.0042e5a0
lea eax, [ebp - 0x34c]
push eax
lea ecx, [ebp - 0x3c0]
call fcn.00405b10
lea ecx, [ebp - 0x3c0]
call fcn.004324d0
cmp eax, 6
jb 0x430ad2
lea ecx, [ebp - 0x3c0]
call fcn.004324d0
cmp eax, 0xc
ja 0x430ad2
mov dword [ebp - 0x3e0], 0
mov dword [ebp - 0x3e4], 0
jmp 0x430a2a
mov ecx, dword [ebp - 0x3e4]
add ecx, 1
mov dword [ebp - 0x3e4], ecx
lea ecx, [ebp - 0x3c0]
call fcn.004324d0
cmp dword [ebp - 0x3e4], eax
jae 0x430ab9
mov edx, dword [ebp - 0x3e4]
push edx
lea ecx, [ebp - 0x3c0]
call fcn.0040d420
movsx eax, byte [eax]
cmp eax, 0x61
jl 0x430a71
mov ecx, dword [ebp - 0x3e4]
push ecx
lea ecx, [ebp - 0x3c0]
call fcn.0040d420
movsx edx, byte [eax]
cmp edx, 0x7a
jle 0x430aa5
mov eax, dword [ebp - 0x3e4]
push eax
lea ecx, [ebp - 0x3c0]
call fcn.0040d420
movsx ecx, byte [eax]
cmp ecx, 0x41
jl 0x430ab4
mov edx, dword [ebp - 0x3e4]
push edx
lea ecx, [ebp - 0x3c0]
call fcn.0040d420
movsx eax, byte [eax]
cmp eax, 0x5a
jg 0x430ab4
mov ecx, dword [ebp - 0x3e0]
add ecx, 1
mov dword [ebp - 0x3e0], ecx
jmp 0x430a1b
cmp dword [ebp - 0x3e0], 2
jl 0x430ad2
push 0x551844
lea ecx, [ebp - 0x3dc]
call fcn.00408070
mov dword [ebp - 0x498], 0
lea edx, [ebp - 0x498]
push edx
lea eax, [ebp - 0x49c]
push eax
lea ecx, [ebp - 0x3c0]
call fcn.00411760
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0x4a0]
push edx
lea ecx, [ebp - 0x3c0]
call fcn.00411730
mov eax, dword [eax]
push eax
call fcn.00412820
add esp, 0xc
lea ecx, [ebp - 0x3dc]
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.004045f0
lea ecx, [ebp - 0x3c0]
call fcn.00402c40
lea ecx, [ebp - 0x3dc]
call fcn.00402c40
jmp 0x431079
cmp dword [ebp + 0xc], 0x15b3
jne 0x430b6d
lea edx, [ebp - 0x154]
push edx
call fcn.004293d0
add esp, 4
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004063a0
lea ecx, [ebp - 0x154]
call fcn.00402c40
jmp 0x430bb5
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x170]
push ecx
call fcn.004293d0
add esp, 4
push eax
lea edx, [ebp - 0x18c]
push edx
mov ecx, dword [ebp - 0x4bc]
add ecx, 0x3c
call fcn.0040f320
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004063a0
lea ecx, [ebp - 0x18c]
call fcn.00402c40
lea ecx, [ebp - 0x170]
call fcn.00402c40
jmp 0x431079
lea ecx, [ebp - 0x3f4]
call fcn.00427440
lea ecx, [ebp - 0x404]
call fcn.00427440
lea eax, [ebp - 0x404]
push eax
lea ecx, [ebp - 0x3f4]
push ecx
call fcn.0042f960
add esp, 8
mov dword [ebp - 0x408], eax
lea ecx, [ebp - 0x424]
call fcn.00402b30
lea edx, [ebp - 0x428]
push edx
lea ecx, [ebp - 0x3f4]
call fcn.004274f0
jmp 0x430c1f
push 0
lea eax, [ebp - 0x4a4]
push eax
lea ecx, [ebp - 0x428]
call fcn.00432690
lea ecx, [ebp - 0x4a8]
push ecx
lea ecx, [ebp - 0x3f4]
call fcn.00427520
push eax
lea ecx, [ebp - 0x428]
call fcn.00429760
movzx edx, al
test edx, edx
je 0x430c6d
lea ecx, [ebp - 0x428]
call fcn.00427920
push eax
lea ecx, [ebp - 0x424]
call fcn.00409610
push 0x551848
lea ecx, [ebp - 0x424]
call fcn.00409640
jmp 0x430c0b
lea ecx, [ebp - 0x424]
call fcn.004324d0
test eax, eax
jbe 0x430cb6
lea ecx, [ebp - 0x424]
call fcn.004324d0
sub eax, 1
push eax
push 0
lea eax, [ebp - 0x1a8]
push eax
lea ecx, [ebp - 0x424]
call fcn.00411820
push eax
lea ecx, [ebp - 0x424]
call fcn.004063a0
lea ecx, [ebp - 0x1a8]
call fcn.00402c40
cmp dword [ebp + 0xc], 0x15b3
jne 0x430cd0
lea ecx, [ebp - 0x424]
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.004045f0
jmp 0x430d04
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x424]
push eax
lea ecx, [ebp - 0x1c4]
push ecx
mov ecx, dword [ebp - 0x4bc]
add ecx, 0x3c
call fcn.0040f320
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004063a0
lea ecx, [ebp - 0x1c4]
call fcn.00402c40
lea ecx, [ebp - 0x424]
call fcn.00402c40
lea ecx, [ebp - 0x404]
call fcn.004037c0
lea ecx, [ebp - 0x3f4]
call fcn.004037c0
jmp 0x431079
cmp dword [ebp + 0xc], 0x15b3
jne 0x430d58
lea edx, [ebp - 0x1e0]
push edx
call fcn.00427260
add esp, 4
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004063a0
lea ecx, [ebp - 0x1e0]
call fcn.00402c40
jmp 0x430da0
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x1fc]
push ecx
call fcn.00427260
add esp, 4
push eax
lea edx, [ebp - 0x218]
push edx
mov ecx, dword [ebp - 0x4bc]
add ecx, 0x3c
call fcn.0040f320
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004063a0
lea ecx, [ebp - 0x218]
call fcn.00402c40
lea ecx, [ebp - 0x1fc]
call fcn.00402c40
jmp 0x431079
lea eax, [ebp - 0x444]
push eax
call fcn.00427050
add esp, 4
cmp dword [ebp + 0xc], 0x15b3
jne 0x430dce
lea ecx, [ebp - 0x444]
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.004045f0
jmp 0x430e02
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x444]
push eax
lea ecx, [ebp - 0x234]
push ecx
mov ecx, dword [ebp - 0x4bc]
add ecx, 0x3c
call fcn.0040f320
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004063a0
lea ecx, [ebp - 0x234]
call fcn.00402c40
lea ecx, [ebp - 0x444]
call fcn.00402c40
jmp 0x431079
push 0x55184c
mov ecx, dword [ebp + 0x10]
call fcn.00408070
jmp 0x431079
mov ecx, dword [ebp - 0x4bc]
call fcn.004318f0
push eax
lea edx, [ebp - 0x250]
push edx
call fcn.00433d60
add esp, 8
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004063a0
lea ecx, [ebp - 0x250]
call fcn.00402c40
jmp 0x431079
push 0x14
call dword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 1
je 0x430e8d
push 1
lea ecx, [ebp - 0x26c]
push ecx
call fcn.00433d60
add esp, 8
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004063a0
lea ecx, [ebp - 0x26c]
call fcn.00402c40
jmp 0x430eb2
push 0
lea edx, [ebp - 0x288]
push edx
call fcn.00433d60
add esp, 8
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004063a0
lea ecx, [ebp - 0x288]
call fcn.00402c40
jmp 0x431079
lea eax, [ebp - 0x464]
push eax
lea ecx, [ebp - 0x445]
call fcn.0042f700
cmp dword [ebp + 0xc], 0x15b3
jne 0x430ee3
lea ecx, [ebp - 0x464]
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.004045f0
jmp 0x430f17
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x464]
push eax
lea ecx, [ebp - 0x2a4]
push ecx
mov ecx, dword [ebp - 0x4bc]
add ecx, 0x3c
call fcn.0040f320
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004063a0
lea ecx, [ebp - 0x2a4]
call fcn.00402c40
lea ecx, [ebp - 0x464]
call fcn.00402c40
cmp dword [ebp + 0xc], 0x15b3
jne 0x430f53
lea edx, [ebp - 0x2c0]
push edx
mov ecx, dword [ebp - 0x4bc]
call fcn.00431b40
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004063a0
lea ecx, [ebp - 0x2c0]
call fcn.00402c40
jmp 0x430f9e
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x2dc]
push ecx
mov ecx, dword [ebp - 0x4bc]
call fcn.00431b40
push eax
lea edx, [ebp - 0x2f8]
push edx
mov ecx, dword [ebp - 0x4bc]
add ecx, 0x3c
call fcn.0040f320
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004063a0
lea ecx, [ebp - 0x2f8]
call fcn.00402c40
lea ecx, [ebp - 0x2dc]
call fcn.00402c40
jmp 0x431079
cmp dword [ebp + 8], 0x320
jl 0x431008
cmp dword [ebp + 8], 0x384
jge 0x431008
lea eax, [ebp - 0x34c]
push eax
mov ecx, dword [ebp - 0x4bc]
call fcn.0042e5a0
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0x34c]
push edx
mov eax, dword [ebp + 8]
sub eax, 0x320
push eax
lea ecx, [ebp - 0x314]
push ecx
mov ecx, dword [ebp - 0x4bc]
add ecx, 0x3c
call fcn.00411240
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004063a0
lea ecx, [ebp - 0x314]
call fcn.00402c40
jmp 0x431079
cmp dword [ebp + 8], 0x384
jl 0x431072
cmp dword [ebp + 8], 0x38e
jge 0x431072
lea edx, [ebp - 0x34c]
push edx
mov ecx, dword [ebp - 0x4bc]
call fcn.0042e5a0
mov eax, dword [ebp - 0x4bc]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0x34c]
push edx
mov eax, dword [ebp + 8]
sub eax, 0x384
push eax
lea ecx, [ebp - 0x330]
push ecx
mov ecx, dword [ebp - 0x4bc]
add ecx, 0x3c
call fcn.004115d0
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004063a0
lea ecx, [ebp - 0x330]
call fcn.00402c40
jmp 0x431079
mov byte [ebp - 0x34d], 0
mov dword [ebp - 0x4ac], 0
lea edx, [ebp - 0x4ac]
push edx
lea eax, [ebp - 0x4b0]
push eax
lea ecx, [ebp - 0x34c]
call fcn.00411760
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0x4b4]
push edx
lea ecx, [ebp - 0x34c]
call fcn.00411730
mov eax, dword [eax]
push eax
call fcn.00412820
add esp, 0xc
mov cl, byte [ebp - 0x34d]
mov byte [ebp - 0x4b5], cl
lea ecx, [ebp - 0x34c]
call fcn.00402c40
mov al, byte [ebp - 0x4b5]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00455328
mov esp, ebp
pop ebp
ret 0x10