Function at 0x1004473d
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x10081222]
cdq
push edx
push eax
call fcn.10003b11
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 1
jne 0x10044a99
mov dword [ebp - 4], esp
push 0x1b
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 4], esp
je 0x1004478e
push 0x7f
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 8], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 8]
push 2
mov ebx, 0xc4
call fcn.10056510
add esp, 0x1c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jne 0x100447cb
call fcn.1004616d
mov ebx, dword [0x1008127a]
add ebx, 0x78
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
cmp dword [ebx], 0
je 0x100449ab
mov dword [ebp - 4], esp
push 0x43
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 4], esp
je 0x10044811
push 0x135
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x1004482d
mov dword [0x100812ea], 1
jmp 0x100449ab
mov dword [ebp - 4], esp
push 0x56
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 4], esp
je 0x1004485b
push 0x1a0
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x10044877
mov dword [0x100812ea], 2
jmp 0x100449ab
mov dword [ebp - 4], esp
push 0x47
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 4], esp
je 0x100448a5
push 0x20b
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x100448c1
mov dword [0x100812ea], 5
jmp 0x100449ab
mov dword [ebp - 4], esp
push 0x42
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 4], esp
je 0x100448ef
push 0x276
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x1004490b
mov dword [0x100812ea], 4
jmp 0x100449ab
mov dword [ebp - 4], esp
push 0x58
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 4], esp
je 0x10044939
push 0x2f3
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x10044985
mov dword [ebp - 0x14], esp
push 0x54
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 0x14], esp
je 0x10044974
push 0x327
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x10044985
xor eax, eax
jmp 0x1004498a
mov eax, 1
test eax, eax
je 0x100449a1
mov dword [0x100812ea], 6
jmp 0x100449ab
mov dword [0x100812ea], 3
mov dword [ebp - 4], esp
push 0x23
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 4], esp
je 0x100449d9
push 0x3f3
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 8], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 8]
push 2
mov ebx, 0xc4
call fcn.10056510
add esp, 0x1c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jne 0x10044a99
push 0x80000501
push 0
push dword [0x10081306]
push 1
mov ebx, 0x168
call fcn.10055e90
add esp, 0x10
mov dword [ebp - 4], eax
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push 0x80000501
push 0
push 0x10081306
push 0x80000004
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x10044a64
mov eax, 0x100712d8
push eax
push 0
push 0
push 0
push 0x80000004
push 0
push 0x10080a94
push 6
mov ebx, 0x2fc
call fcn.100568a0
add esp, 0x4c
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x10044a99
push ebx
call fcn.100554c7
add esp, 4
mov eax, dword [0x10081222]
cdq
push edx
push eax
call fcn.10003b11
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 1
je 0x10044b1e
mov dword [ebp - 4], esp
push 0x11
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 4], esp
je 0x10044ae1
push 0x513
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 8], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 8]
push 2
mov ebx, 0xc4
call fcn.10056510
add esp, 0x1c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jne 0x10044b1e
call fcn.10046257
call fcn.10046c3d
mov dword [ebp - 4], eax
push str.None
push dword [ebp - 4]
call fcn.10003727
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x10044b54
push ebx
call fcn.100554c7
add esp, 4
cmp dword [ebp - 8], 0
jne 0x10044ba2
call fcn.10046c3d
mov dword [ebp - 0xc], eax
push str.PlayerController
push dword [ebp - 0xc]
call fcn.10003727
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x10044b94
push ebx
call fcn.100554c7
add esp, 4
cmp dword [ebp - 0x10], 0
jne 0x10044ba2
xor eax, eax
jmp 0x10044ba7
mov eax, 1
test eax, eax
je 0x10044c04
mov ebx, dword [0x1008127a]
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
cmp dword [ebx], 0
je 0x10044bed
mov ebx, dword [0x1008127a]
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
mov dword [ebx], 0
cmp dword [0x1008130a], 0
jne 0x10044bed
mov dword [0x1008130a], 1
cmp dword [0x1008130e], 0
jne 0x10044c04
mov dword [0x1008130e], 1
cmp dword [0x1008130e], 0
je 0x10044ce5
call fcn.10046c3d
mov dword [ebp - 4], eax
push str.None
push dword [ebp - 4]
call fcn.10003727
add esp, 8
cmp eax, 0
mov eax, 0
setne al
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x10044c47
push ebx
call fcn.100554c7
add esp, 4
cmp dword [ebp - 8], 0
je 0x10044c98
call fcn.10046c3d
mov dword [ebp - 0xc], eax
push str.PlayerController
push dword [ebp - 0xc]
call fcn.10003727
add esp, 8
cmp eax, 0
mov eax, 0
setne al
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x10044c87
push ebx
call fcn.100554c7
add esp, 4
cmp dword [ebp - 0x10], 0
je 0x10044c98
mov eax, 1
jmp 0x10044c9d
mov eax, 0
test eax, eax
je 0x10044ce5
cmp dword [0x1008130a], 0
je 0x10044cce
mov ebx, dword [0x1008127a]
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
mov dword [ebx], 1
mov dword [0x1008130a], 0
cmp dword [0x1008130e], 0
je 0x10044ce5
mov dword [0x1008130e], 0
cmp dword [0x1008130e], 0
jne 0x10044d6d
mov dword [ebp - 4], esp
push 0x24
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 4], esp
je 0x10044d20
push 0x928
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 8], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 8]
push 2
mov ebx, 0xc4
call fcn.10056510
add esp, 0x1c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jne 0x10044d6d
mov ebx, dword [0x1008127a]
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
and dword [ebx], 1
mov ebx, dword [ebp - 4]
xor dword [ebx], 1
mov ebx, dword [0x1008127a]
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
cmp dword [ebx], 0
je 0x10046169
mov ebx, dword [0x100812de]
call fcn.1000793b
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jle 0x10044e52
mov dword [ebp - 4], esp
push 0x2e
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 4], esp
je 0x10044dc8
push 0xa67
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 8], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 8]
push 2
mov ebx, 0xc4
call fcn.10056510
add esp, 0x1c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jne 0x10044e52
mov ebx, dword [0x100812de]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x10044e21
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x10044e1d
imul eax, dword [ebx]
jmp 0x10044e12
mov ecx, eax
test ecx, ecx
je 0x10044e40
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x10044e39
push ebx
push eax
call fcn.100554c7
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x10044e27
call fcn.100554c7
add esp, 4
mov eax, 0x100712d9
mov dword [0x100812de], eax
mov ebx, dword [0x1008127a]
add ebx, 0xdc
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
cmp dword [ebx], 0
je 0x10044fc5
mov dword [ebp - 4], esp
push 0x12
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 4], esp
je 0x10044e9b
push 0xb31
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x10044f15
mov dword [ebp - 0x14], esp
push 0x31
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 0x14], esp
je 0x10044ed6
push 0xb77
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 0x18], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 0x18]
push 2
mov ebx, 0xc4
call fcn.10056510
add esp, 0x1c
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 1
jne 0x10044f15
mov eax, 1
jmp 0x10044f1a
mov eax, 0
test eax, eax
je 0x10044fc5
mov ebx, dword [0x1008127a]
add ebx, 0xe0
mov dword [ebp - 4], ebx
push 0x80000501
push 0
mov ebx, dword [ebp - 4]
push dword [ebx]
push 1
mov ebx, 0x168
call fcn.10055e90
add esp, 0x10
mov dword [ebp - 8], eax
mov ebx, dword [0x1008127a]
add ebx, 0xe0
mov dword [ebp - 0xc], ebx
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push 0x80000501
push 0
push dword [ebp - 0xc]
push 0x80000004
push 0
mov eax, dword [ebp - 8]
test eax, eax
jne 0x10044f90
mov eax, 0x100712d8
push eax
push 0x80000004
push 0
push 0x10080aab
push 0
push 0
push 0
push 6
mov ebx, 0x2fc
call fcn.100568a0
add esp, 0x4c
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x10044fc5
push ebx
call fcn.100554c7
add esp, 4
mov ebx, dword [0x1008127a]
add ebx, 0x38
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
cmp dword [ebx], 0
jne 0x10044ff9
mov ebx, dword [0x1008127a]
add ebx, 0x3c
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
cmp dword [ebx], 0
jne 0x10044ff9
xor eax, eax
jmp 0x10044ffe
mov eax, 1
test eax, eax
je 0x10045161
mov ebx, dword [0x10081282]
add ebx, 0x38
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
cmp dword [ebx], 5
jne 0x1004501e
cmp dword [ebx + 4], 0
jne 0x10045161
mov dword [ebp - 4], esp
push 0x12
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 4], esp
je 0x10045052
push 0xcf1
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x100450cc
mov dword [ebp - 0x14], esp
push 0x32
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 0x14], esp
je 0x1004508d
push 0xd37
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 0x18], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 0x18]
push 2
mov ebx, 0xc4
call fcn.10056510
add esp, 0x1c
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 1
jne 0x100450cc
mov eax, 1
jmp 0x100450d1
mov eax, 0
test eax, eax
je 0x10045161
push 0x80000301
push 0
push dword [0x10081296]
push 1
mov ebx, 0x168
call fcn.10055e90
add esp, 0x10
mov dword [ebp - 4], eax
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push 0x80000301
push 0
push 0x10081296
push 0x80000004
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x1004512c
mov eax, 0x100712d8
push eax
push 0x80000004
push 0
push 0x10080abc
push 0
push 0
push 0
push 6
mov ebx, 0x2fc
call fcn.100568a0
add esp, 0x4c
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x10045161
push ebx
call fcn.100554c7
add esp, 4
mov ebx, dword [0x1008127a]
add ebx, 0x3c
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
cmp dword [ebx], 0
je 0x100452e3
mov dword [ebp - 4], esp
push 0x12
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 4], esp
je 0x100451a7
push 0xe52
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x10045221
mov dword [ebp - 0x14], esp
push 0x33
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 0x14], esp
je 0x100451e2
push 0xe98
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 0x18], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 0x18]
push 2
mov ebx, 0xc4
call fcn.10056510
add esp, 0x1c
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 1
jne 0x10045221
mov eax, 1
jmp 0x10045226
mov eax, 0
test eax, eax
je 0x100452e3
push 0x80000501
push 0
push dword [0x1008129a]
push 1
mov ebx, 0x168
call fcn.10055e90
add esp, 0x10
mov dword [ebp - 4], eax
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push 0x80000501
push 0
push 0x1008129a
push 0x80000004
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x10045281
mov eax, 0x100712d8
push eax
push 0x80000004
push 0
push 0x10080acd
push 0
push 0
push 0
push 6
mov ebx, 0x2fc
call fcn.100568a0
add esp, 0x4c
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x100452b6
push ebx
call fcn.100554c7
add esp, 4
fld dword [0x1008129a]
fstp qword [ebp - 8]
fld qword [ebp - 8]
fsub qword [0x100716a7]
fcomp qword [0x10071afd]
fnstsw ax
test ah, 0x41
je 0x100452e3
mov dword [0x1008129a], 0x3f800000
mov ebx, dword [0x1008127a]
add ebx, 0x110
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
cmp dword [ebx], 0
je 0x10045691
mov dword [ebp - 4], esp
push 0x72
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 4], esp
je 0x1004532c
push 0x1006
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 8], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 8]
push 2
mov ebx, 0xc4
call fcn.10056510
add esp, 0x1c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jne 0x1004537f
mov ebx, dword [0x1008127a]
add ebx, 0x10c
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
and dword [ebx], 1
mov ebx, dword [ebp - 4]
xor dword [ebx], 1
mov dword [ebp - 4], esp
push 0x77
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 4], esp
je 0x100453ad
push 0x10b1
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 8], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 8]
push 2
mov ebx, 0xc4
call fcn.10056510
add esp, 0x1c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jne 0x10045691
mov ebx, dword [0x100812e2]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
mov eax, 0
shl eax, 2
add ebx, eax
mov dword [ebp - 4], ebx
mov eax, 0x100712d8
push eax
mov ebx, dword [ebp - 4]
mov ebx, dword [ebx]
test ebx, ebx
je 0x10045418
push ebx
call fcn.100554c7
add esp, 4
pop eax
mov ebx, dword [ebp - 4]
mov dword [ebx], eax
mov ebx, dword [0x100812e2]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
mov eax, 1
shl eax, 2
add ebx, eax
mov dword [ebp - 4], ebx
mov eax, 0x100712d8
push eax
mov ebx, dword [ebp - 4]
mov ebx, dword [ebx]
test ebx, ebx
je 0x10045451
push ebx
call fcn.100554c7
add esp, 4
pop eax
mov ebx, dword [ebp - 4]
mov dword [ebx], eax
mov ebx, dword [0x100812e2]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
mov eax, 2
shl eax, 2
add ebx, eax
mov dword [ebp - 4], ebx
mov eax, 0x100712d8
push eax
mov ebx, dword [ebp - 4]
mov ebx, dword [ebx]
test ebx, ebx
je 0x1004548a
push ebx
call fcn.100554c7
add esp, 4
pop eax
mov ebx, dword [ebp - 4]
mov dword [ebx], eax
mov ebx, dword [0x100812e2]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
mov eax, 3
shl eax, 2
add ebx, eax
mov dword [ebp - 4], ebx
mov eax, 0x100712d8
push eax
mov ebx, dword [ebp - 4]
mov ebx, dword [ebx]
test ebx, ebx
je 0x100454c3
push ebx
call fcn.100554c7
add esp, 4
pop eax
mov ebx, dword [ebp - 4]
mov dword [ebx], eax
mov ebx, dword [0x100812e2]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
mov eax, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 4], ebx
mov eax, 0x100712d8
push eax
mov ebx, dword [ebp - 4]
mov ebx, dword [ebx]
test ebx, ebx
je 0x100454fc
push ebx
call fcn.100554c7
add esp, 4
pop eax
mov ebx, dword [ebp - 4]
mov dword [ebx], eax
mov ebx, dword [0x100812e2]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
mov eax, 5
shl eax, 2
add ebx, eax
mov dword [ebp - 4], ebx
mov eax, 0x100712d8
push eax
mov ebx, dword [ebp - 4]
mov ebx, dword [ebx]
test ebx, ebx
je 0x10045535
push ebx
call fcn.100554c7
add esp, 4
pop eax
mov ebx, dword [ebp - 4]
mov dword [ebx], eax
mov ebx, dword [0x100812e2]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
mov eax, 6
shl eax, 2
add ebx, eax
mov dword [ebp - 4], ebx
mov eax, 0x100712d8
push eax
mov ebx, dword [ebp - 4]
mov ebx, dword [ebx]
test ebx, ebx
je 0x1004556e
push ebx
call fcn.100554c7
add esp, 4
pop eax
mov ebx, dword [ebp - 4]
mov dword [ebx], eax
mov ebx, dword [0x100812e2]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
mov eax, 7
shl eax, 2
add ebx, eax
mov dword [ebp - 4], ebx
mov eax, 0x100712d8
push eax
mov ebx, dword [ebp - 4]
mov ebx, dword [ebx]
test ebx, ebx
je 0x100455a7
push ebx
call fcn.100554c7
add esp, 4
pop eax
mov ebx, dword [ebp - 4]
mov dword [ebx], eax
mov ebx, dword [0x100812e2]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
mov eax, 8
shl eax, 2
add ebx, eax
mov dword [ebp - 4], ebx
mov eax, 0x100712d8
push eax
mov ebx, dword [ebp - 4]
mov ebx, dword [ebx]
test ebx, ebx
je 0x100455e0
push ebx
call fcn.100554c7
add esp, 4
pop eax
mov ebx, dword [ebp - 4]
mov dword [ebx], eax
mov ebx, dword [0x100812e2]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
mov eax, 9
shl eax, 2
add ebx, eax
mov dword [ebp - 4], ebx
mov eax, 0x100712d8
push eax
mov ebx, dword [ebp - 4]
mov ebx, dword [ebx]
test ebx, ebx
je 0x10045619
push ebx
call fcn.100554c7
add esp, 4
pop eax
mov ebx, dword [ebp - 4]
mov dword [ebx], eax
mov ebx, dword [0x100812e2]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
mov eax, 0xa
shl eax, 2
add ebx, eax
mov dword [ebp - 4], ebx
mov eax, 0x100712d8
push eax
mov ebx, dword [ebp - 4]
mov ebx, dword [ebx]
test ebx, ebx
je 0x10045652
push ebx
call fcn.100554c7
add esp, 4
pop eax
mov ebx, dword [ebp - 4]
mov dword [ebx], eax
mov ebx, dword [0x100812e2]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
mov eax, 0xb
shl eax, 2
add ebx, eax
mov dword [ebp - 4], ebx
mov eax, 0x100712d8
push eax
mov ebx, dword [ebp - 4]
mov ebx, dword [ebx]
test ebx, ebx
je 0x1004568b
push ebx
call fcn.100554c7
add esp, 4
pop eax
mov ebx, dword [ebp - 4]
mov dword [ebx], eax
mov ebx, dword [0x1008127a]
add ebx, 0xb0
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
cmp dword [ebx], 0
je 0x1004572d
mov dword [ebp - 4], esp
push 0xc0
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 4], esp
je 0x100456da
push 0x1329
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 8], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 8]
push 2
mov ebx, 0xc4
call fcn.10056510
add esp, 0x1c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jne 0x1004572d
mov ebx, dword [0x1008127a]
add ebx, 0xb4
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
and dword [ebx], 1
mov ebx, dword [ebp - 4]
xor dword [ebx], 1
mov ebx, dword [0x1008127a]
add ebx, 0xd0
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
cmp dword [ebx], 0
je 0x10045a04
cmp dword [0x10081292], 0
jne 0x10045802
mov dword [ebp - 4], esp
push 0x71
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 4], esp
je 0x10045783
push 0x144f
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 8], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 8]
push 2
mov ebx, 0xc4
call fcn.10056510
add esp, 0x1c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jne 0x10045802
mov ebx, dword [0x1008127a]
add ebx, 0xd4
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
dec dword [ebx]
mov ebx, dword [0x1008127a]
add ebx, 0xd4
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
cmp dword [ebx], 0
jge 0x10045802
mov ebx, dword [0x1008127a]
add ebx, 0xd4
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
mov dword [ebx], 1
mov dword [ebp - 4], esp
push 0x21
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 4], esp
je 0x10045830
push 0x1598
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 8], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 8]
push 2
mov ebx, 0xc4
call fcn.10056510
add esp, 0x1c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jne 0x10045903
mov ebx, dword [0x1008127a]
add ebx, 0xd8
mov dword [ebp - 4], ebx
push 0x80000501
push 0
mov ebx, dword [ebp - 4]
push dword [ebx]
push 1
mov ebx, 0x168
call fcn.10055e90
add esp, 0x10
mov dword [ebp - 8], eax
mov ebx, dword [0x1008127a]
add ebx, 0xd8
mov dword [ebp - 0xc], ebx
mov ebx, 6
call fcn.100425bb
push 0x80000501
push 0
push dword [ebp - 0xc]
push 0x80000004
push 0
mov eax, dword [ebp - 8]
test eax, eax
jne 0x100458ce
mov eax, 0x100712d8
push eax
push 0x80000004
push 0
push 0x10080ad8
push 0
push 0
push 0
push 6
mov ebx, 0x2fc
call fcn.100568a0
add esp, 0x4c
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x10045903
push ebx
call fcn.100554c7
add esp, 4
mov dword [ebp - 4], esp
push 0x22
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 4], esp
je 0x10045931
push 0x1658
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 8], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 8]
push 2
mov ebx, 0xc4
call fcn.10056510
add esp, 0x1c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jne 0x10045a04
mov ebx, dword [0x1008127a]
add ebx, 0xd8
mov dword [ebp - 4], ebx
push 0x80000501
push 0
mov ebx, dword [ebp - 4]
push dword [ebx]
push 1
mov ebx, 0x168
call fcn.10055e90
add esp, 0x10
mov dword [ebp - 8], eax
mov ebx, dword [0x1008127a]
add ebx, 0xd8
mov dword [ebp - 0xc], ebx
mov ebx, 6
call fcn.100425bb
push 0x80000501
push 0
push dword [ebp - 0xc]
push 0x80000004
push 0
mov eax, dword [ebp - 8]
test eax, eax
jne 0x100459cf
mov eax, 0x100712d8
push eax
push 0x80000004
push 0
push 0x10080ad8
push 0
push 0
push 0
push 6
mov ebx, 0x2fc
call fcn.100568a0
add esp, 0x4c
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x10045a04
push ebx
call fcn.100554c7
add esp, 4
mov ebx, dword [0x1008127a]
add ebx, 0xa8
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
cmp dword [ebx], 0
je 0x10045bef
mov dword [ebp - 4], esp
push 0x70
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 4], esp
je 0x10045a4d
push 0x1763
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 8], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 8]
push 2
mov ebx, 0xc4
call fcn.10056510
add esp, 0x1c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jne 0x10045a9d
mov ebx, dword [0x1008128e]
add ebx, 0x1c
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
and dword [ebx], 1
mov ebx, dword [ebp - 4]
xor dword [ebx], 1
mov dword [ebp - 4], esp
push 0x12
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 4], esp
je 0x10045acb
push 0x180e
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x10045b45
mov dword [ebp - 0x14], esp
push 0x34
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 0x14], esp
je 0x10045b06
push 0x1854
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 0x18], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 0x18]
push 2
mov ebx, 0xc4
call fcn.10056510
add esp, 0x1c
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 1
jne 0x10045b45
mov eax, 1
jmp 0x10045b4a
mov eax, 0
test eax, eax
je 0x10045bef
mov ebx, dword [0x1008128e]
add ebx, 4
mov dword [ebp - 4], ebx
push 0x80000501
push 0
mov ebx, dword [ebp - 4]
push dword [ebx]
push 1
mov ebx, 0x168
call fcn.10055e90
add esp, 0x10
mov dword [ebp - 8], eax
mov ebx, dword [0x1008128e]
add ebx, 4
mov dword [ebp - 0xc], ebx
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push 0x80000501
push 0
push dword [ebp - 0xc]
push 0x80000004
push 0
mov eax, dword [ebp - 8]
test eax, eax
jne 0x10045bba
mov eax, 0x100712d8
push eax
push 0x80000004
push 0
push 0x10080ae5
push 0
push 0
push 0
push 6
mov ebx, 0x2fc
call fcn.100568a0
add esp, 0x4c
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x10045bef
push ebx
call fcn.100554c7
add esp, 4
mov ebx, dword [0x1008127a]
add ebx, 0xec
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
cmp dword [ebx], 0
je 0x10045f11
mov dword [ebp - 4], esp
push 0x12
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 4], esp
je 0x10045c38
push 0x196c
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x10045cb2
mov dword [ebp - 0x14], esp
push 0x35
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 0x14], esp
je 0x10045c73
push 0x19b2
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 0x18], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 0x18]
push 2
mov ebx, 0xc4
call fcn.10056510
add esp, 0x1c
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 1
jne 0x10045cb2
mov eax, 1
jmp 0x10045cb7
mov eax, 0
test eax, eax
je 0x10045cd7
mov ebx, dword [0x100812ee]
add ebx, 0xc
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
and dword [ebx], 1
mov ebx, dword [ebp - 4]
xor dword [ebx], 1
mov ebx, dword [0x10081282]
add ebx, 0x40
mov dword [ebp - 4], ebx
push 0x10071d0f
mov ebx, dword [ebp - 4]
push dword [ebx]
call fcn.10003727
add esp, 8
cmp eax, 0
jne 0x10045f11
mov dword [ebp - 4], esp
push 0x12
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 4], esp
je 0x10045d2c
push 0x1aac
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x10045da6
mov dword [ebp - 0x14], esp
push 0x36
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 0x14], esp
je 0x10045d67
push 0x1af2
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 0x18], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 0x18]
push 2
mov ebx, 0xc4
call fcn.10056510
add esp, 0x1c
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 1
jne 0x10045da6
mov eax, 1
jmp 0x10045dab
mov eax, 0
test eax, eax
je 0x10045e06
mov ebx, dword [0x100812ee]
add ebx, 0x10
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
inc dword [ebx]
mov ebx, dword [0x100812ee]
add ebx, 0x14
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
mov dword [ebx], 0
mov ebx, dword [0x100812ee]
add ebx, 0x10
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
cmp dword [ebx], 3
jle 0x10045e06
mov ebx, dword [0x100812ee]
add ebx, 0x10
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
mov dword [ebx], 0
mov dword [ebp - 4], esp
push 0x12
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 4], esp
je 0x10045e34
push 0x1c53
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x10045eae
mov dword [ebp - 0x14], esp
push 0x37
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 0x14], esp
je 0x10045e6f
push 0x1c99
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 0x18], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 0x18]
push 2
mov ebx, 0xc4
call fcn.10056510
add esp, 0x1c
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 1
jne 0x10045eae
mov eax, 1
jmp 0x10045eb3
mov eax, 0
test eax, eax
je 0x10045f11
mov ebx, dword [0x100812ee]
add ebx, 0x10
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
cmp dword [ebx], 2
jge 0x10045f11
mov ebx, dword [0x100812ee]
add ebx, 0x14
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
inc dword [ebx]
mov ebx, dword [0x100812ee]
add ebx, 0x14
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
cmp dword [ebx], 2
jle 0x10045f11
mov ebx, dword [0x100812ee]
add ebx, 0x14
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
mov dword [ebx], 0
mov ebx, dword [0x1008127a]
add ebx, 0x68
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
cmp dword [ebx], 0
je 0x10045ff9
mov dword [ebp - 4], esp
push 0x12
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 4], esp
je 0x10045f57
push 0x1e82
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x10045fd1
mov dword [ebp - 0x14], esp
push 0x38
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 0x14], esp
je 0x10045f92
push 0x1ec8
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 0x18], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 0x18]
push 2
mov ebx, 0xc4
call fcn.10056510
add esp, 0x1c
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 1
jne 0x10045fd1
mov eax, 1
jmp 0x10045fd6
mov eax, 0
test eax, eax
je 0x10045ff9
mov ebx, dword [0x1008127a]
add ebx, 0x104
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
and dword [ebx], 1
mov ebx, dword [ebp - 4]
xor dword [ebx], 1
mov ebx, dword [0x1008127a]
add ebx, 0xf4
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
cmp dword [ebx], 0
je 0x10046169
mov dword [ebp - 4], esp
push 0x12
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 4], esp
je 0x10046042
push 0x1fbf
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x100460bc
mov dword [ebp - 0x14], esp
push 0x39
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
nop
nop
cmp dword [ebp - 0x14], esp
je 0x1004607d
push 0x2005
push 0x4015be2
push 6
call fcn.100554cd
add esp, 0xc
mov dword [ebp - 0x18], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 0x18]
push 2
mov ebx, 0xc4
call fcn.10056510
add esp, 0x1c
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 1
jne 0x100460bc
mov eax, 1
jmp 0x100460c1
mov eax, 0
test eax, eax
je 0x10046169
call fcn.10005897
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
fild qword [ebp - 0x10]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fadd qword [0x10071c19]
fstp qword [ebp - 0x18]
fld qword [ebp - 0x18]
call fcn.100011a0
push edx
push eax
call fcn.10003b11
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x10046138
call fcn.10005897
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
fild qword [ebp - 0x10]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fadd qword [0x10071c19]
fstp qword [ebp - 0x18]
push 0
fld qword [ebp - 0x18]
call fcn.100011a0
push edx
push eax
call fcn.100044c8
jmp 0x10046169
call fcn.10005897
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
fild qword [ebp - 0x10]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fadd qword [0x10071c19]
fstp qword [ebp - 0x18]
push 1
fld qword [ebp - 0x18]
call fcn.100011a0
push edx
push eax
call fcn.100044c8
mov esp, ebp
pop ebp
ret