Function at 0x10016420
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push ecx
cmp dword [0x103a0310], 1
push ebx
push esi
mov esi, dword [sym.imp.OPENGL32.dll_glColor4f]
jne 0x100175c2
cmp dword [0xe61e58], 0x550
jl 0x10016d1c
cmp dword [0xe609e8], 4
jne 0x10017e99
mov eax, 0x482b70
call eax
cmp byte [eax + 0x849c], 0
je 0x10016aa1
fld dword [0x100d9648]
fadd qword [0x100d23a8]
fstp dword [0x100d9648]
fld dword [0x100d2754]
fcom dword [0x100d9648]
fnstsw ax
test ah, 0x41
jp 0x10016497
fstp dword [0x100d9648]
jmp 0x10016499
fstp st(0)
fldz
push ecx
fst dword [esp]
mov ecx, 0x637c60
fld1
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x100d2360]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100d232c]
fstp dword [esp + 0xc]
fld dword [0x100d2290]
fstp dword [esp + 8]
fld dword [0x100d9648]
fstp dword [esp + 4]
fld dword [0x100d2498]
fstp dword [esp]
push 0x17
call ecx
fldz
fst dword [esp + 0x2c]
add esp, 0x2c
fld dword [0x100d2314]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
mov edx, 0x637c60
fld dword [0x100d2360]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100d21d8]
fstp dword [esp + 0xc]
fld dword [0x100d2290]
fstp dword [esp + 8]
fld dword [0x100d9648]
fadd qword [0x100d2e38]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x100d2498]
fstp dword [esp]
push 0x18
call edx
fld dword [0x100d9648]
fadd qword [0x100d2e30]
add esp, 0x30
push 0x14
push 0x13
call fcn.100c10b0
push eax
push 0x171
mov eax, 0x790b10
call eax
add esp, 0x10
test al, al
je 0x1001663a
push 1
mov ecx, 0x791070
call ecx
add esp, 4
test eax, eax
je 0x1001663a
mov eax, dword [0x103a041c]
mov ecx, dword [0x10310508]
cmp eax, ecx
jb 0x100165ae
cmp eax, 1
jle 0x100165b7
cmp eax, 1
jl 0x100165c2
cmp eax, ecx
ja 0x100165c2
dec eax
mov dword [0x103a041c], eax
call fcn.100163d0
push 0
push 0
push 0x19
mov edx, 0x6d6c20
call edx
fldz
fst dword [esp + 8]
add esp, 8
fld dword [0x100d2e28]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
mov eax, 0x637c60
fld dword [0x100d2e24]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100d1de4]
fstp dword [esp + 0xc]
fld dword [0x100d2560]
fstp dword [esp + 8]
fld dword [0x100d9648]
fadd qword [0x100d2e30]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x100d2e20]
fstp dword [esp]
push 0x1a
call eax
add esp, 0x30
fld dword [0x100d9648]
push 0x14
fadd qword [0x100d2e30]
push 0x13
call fcn.100c10b0
push eax
push 0x1d2
mov ecx, 0x790b10
call ecx
add esp, 0x10
test al, al
je 0x1001671d
push 1
mov edx, 0x791070
call edx
add esp, 4
test eax, eax
je 0x1001671d
mov eax, dword [0x103a041c]
mov ecx, dword [0x10310508]
test eax, eax
js 0x10016691
lea edx, [ecx - 1]
cmp eax, edx
jbe 0x1001669a
dec ecx
cmp eax, ecx
jb 0x100166a5
test eax, eax
jg 0x100166a5
inc eax
mov dword [0x103a041c], eax
call fcn.100163d0
push 0
push 0
push 0x19
mov eax, 0x6d6c20
call eax
fldz
fst dword [esp + 8]
add esp, 8
fld dword [0x100d2e28]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
mov ecx, 0x637c60
fld dword [0x100d2e24]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100d1de4]
fstp dword [esp + 0xc]
fld dword [0x100d2560]
fstp dword [esp + 8]
fld dword [0x100d9648]
fadd qword [0x100d2e30]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x100d1fd4]
fstp dword [esp]
push 0x1b
call ecx
add esp, 0x30
mov eax, dword [0x103a041c]
cmp eax, 6
ja case.default.0x1001672b
jmp dword [eax*4 + 0x10017ea0]
push 1
mov edx, 0x635fd0
call edx
fld dword [0x100d1ee8]
fstp dword [esp]
sub esp, 0xc
fldz
fst dword [esp + 8]
fst dword [esp + 4]
fstp dword [esp]
call esi
fldz
push 0
sub esp, 0x14
fstp dword [esp + 0x10]
fld dword [0x100d1de4]
mov eax, 0x6378a0
fstp dword [esp + 0xc]
fld dword [0x100d2560]
fstp dword [esp + 8]
fld dword [0x100d9648]
fadd qword [0x100d2e30]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x100d2e20]
fstp dword [esp]
call eax
mov ecx, 0x636070
call ecx
push 1
mov edx, 0x635fd0
call edx
fld1
add esp, 0xc
fst dword [esp + 0xc]
fst dword [esp + 8]
fst dword [esp + 4]
fstp dword [esp]
call esi
push 0x14
jmp 0x10016805
push 0x15
mov edx, 0x402320
mov ecx, 0x41fe10
call edx
jmp 0x10016811
push 0x16
jmp 0x10016805
push 0x17
mov edx, 0x402320
mov ecx, 0x41fe10
call edx
jmp 0x10016811
push 0x18
jmp 0x10016805
push 0x697
mov edx, 0x402320
mov ecx, 0x41fe10
call edx
jmp 0x10016811
push 0xc4e
mov ecx, 0x41fe10
mov eax, 0x402320
call eax
fld dword [0x100d9648]
push eax
fadd qword [0x100d2e18]
push 0x32
call fcn.100c10b0
push 0x192
push 0xffffffffffffffff
mov ebx, 3
mov ecx, eax
call fcn.10042f70
add esp, 0x10
mov ecx, dword [0x103a041c]
cmp ecx, dword [0x10310508]
jne 0x100168dc
push 1
mov edx, 0x635fd0
call edx
fld dword [0x100d1ee8]
fstp dword [esp]
sub esp, 0xc
fldz
fst dword [esp + 8]
fst dword [esp + 4]
fstp dword [esp]
call esi
fldz
push 0
sub esp, 0x14
fstp dword [esp + 0x10]
fld dword [0x100d1de4]
mov eax, 0x6378a0
fstp dword [esp + 0xc]
fld dword [0x100d2560]
fstp dword [esp + 8]
fld dword [0x100d9648]
fadd qword [0x100d2e30]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x100d1fd4]
fstp dword [esp]
call eax
mov ecx, 0x636070
call ecx
push 1
mov edx, 0x635fd0
call edx
fld1
add esp, 0xc
fst dword [esp + 0xc]
fst dword [esp + 8]
fst dword [esp + 4]
fstp dword [esp]
call esi
fld dword [0x100d9648]
fadd qword [0x100d2e10]
call fcn.100c10b0
mov ecx, dword [0xe8c544]
push eax
push 0x18d
mov eax, 0x417ec0
call eax
fld dword [0x100d9648]
fadd qword [0x100d2e08]
push 0x17
push 0x3a
call fcn.100c10b0
push eax
push 0x16e
mov ecx, 0x790b10
call ecx
add esp, 0x10
test al, al
je 0x100169d4
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
mov edx, 0x8000
test dx, ax
je 0x1001696c
mov eax, 0x482b70
call eax
add eax, 0x8490
push eax
mov ecx, 0x482b70
call ecx
mov edx, 0x483b50
mov ecx, eax
call edx
push 0
push 0
push 0x19
mov eax, 0x6d6c20
call eax
add esp, 0xc
fldz
push ecx
fst dword [esp]
mov ecx, 0x637c60
fld dword [0x100d2370]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x100d2e00]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100d22a4]
fstp dword [esp + 0xc]
fld dword [0x100d2dfc]
fstp dword [esp + 8]
fld dword [0x100d9648]
fadd qword [0x100d2e08]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x100d2df8]
fstp dword [esp]
push 0x1c
call ecx
add esp, 0x30
fld dword [0x100d9648]
push 0x17
fadd qword [0x100d2e08]
push 0x3a
call fcn.100c10b0
push eax
push 0x1ae
mov edx, 0x790b10
call edx
add esp, 0x10
test al, al
je 0x10016aad
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x10016a37
mov edx, 0x482b70
call edx
mov edx, 0x403e00
lea ecx, [eax + 0x8490]
call edx
push 0
push 0
push 0x19
mov eax, 0x6d6c20
call eax
add esp, 0xc
fldz
push ecx
fst dword [esp]
mov ecx, 0x637c60
fld dword [0x100d2370]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x100d2e00]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100d22a4]
fstp dword [esp + 0xc]
fld dword [0x100d2dfc]
fstp dword [esp + 8]
fld dword [0x100d9648]
fadd qword [0x100d2e08]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x100d1d84]
fstp dword [esp]
push 0x1d
call ecx
add esp, 0x30
jmp 0x10016aad
fld dword [0x100d2df4]
fstp dword [0x100d9648]
fldz
push ecx
fst dword [esp]
mov edx, 0x637c60
fld dword [0x100d23a0]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x100d2348]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fst dword [esp + 0x10]
fld dword [0x100d2344]
fstp dword [esp + 0xc]
fld dword [0x100d2340]
fstp dword [esp + 8]
fstp dword [esp + 4]
fld dword [0x100d233c]
fstp dword [esp]
push 0xc
call edx
fldz
fst dword [esp + 0x2c]
add esp, 0x2c
fld dword [0x100d23a0]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
mov eax, 0x637c60
fld dword [0x100d2338]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fld dword [0x100d2348]
fstp dword [esp + 0x10]
fld dword [0x100d2344]
fstp dword [esp + 0xc]
fld dword [0x100d2340]
fstp dword [esp + 8]
fstp dword [esp + 4]
fld dword [0x100d2334]
fstp dword [esp]
push 0xc
call eax
add esp, 0x30
cmp dword [0x102ee01c], 1
jne 0x10016cd4
fldz
push ecx
fst dword [esp]
mov ecx, 0x637c60
fld1
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x100d2330]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100d232c]
fstp dword [esp + 0xc]
fld dword [0x100d2328]
fstp dword [esp + 8]
fld dword [0x100d1e94]
fstp dword [esp + 4]
fld dword [0x100d2324]
fstp dword [esp]
push 0xd
call ecx
fldz
fst dword [esp + 0x2c]
add esp, 0x2c
fld1
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x100d2320]
mov edx, 0x637c60
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fld dword [0x100d2330]
fstp dword [esp + 0x10]
fld dword [0x100d232c]
fstp dword [esp + 0xc]
fld dword [0x100d2328]
fstp dword [esp + 8]
fld dword [0x100d1e94]
fstp dword [esp + 4]
fstp dword [esp]
push 0xd
call edx
fldz
fst dword [esp + 0x2c]
add esp, 0x2c
fld dword [0x100d231c]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
mov eax, 0x637c60
fld dword [0x100d2330]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100d2214]
fstp dword [esp + 0xc]
fld dword [0x100d2328]
fstp dword [esp + 8]
fld dword [0x100d2318]
fstp dword [esp + 4]
fld dword [0x100d2324]
fstp dword [esp]
push 0xe
call eax
fldz
fst dword [esp + 0x2c]
add esp, 0x2c
fld dword [0x100d231c]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x100d2320]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fld dword [0x100d2330]
fstp dword [esp + 0x10]
mov ecx, 0x637c60
fld dword [0x100d2214]
fstp dword [esp + 0xc]
fld dword [0x100d2328]
fstp dword [esp + 8]
fld dword [0x100d2318]
fstp dword [esp + 4]
fstp dword [esp]
push 0xe
call ecx
add esp, 0x30
fldz
push ecx
fst dword [esp]
fld dword [0x100d2314]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld1
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fst dword [esp + 0x10]
fld dword [0x100d20b0]
fstp dword [esp + 0xc]
fld dword [0x100d232c]
fstp dword [esp + 8]
fstp dword [esp + 4]
fld dword [0x100d2310]
jmp 0x100175b3
cmp dword [0xe609e8], 4
jne 0x10017e99
mov eax, 0x482b70
call eax
cmp byte [eax + 0x849c], 0
je 0x10017350
fld dword [0x100d9648]
fadd qword [0x100d23a8]
fstp dword [0x100d9648]
fld dword [0x100d2754]
fcom dword [0x100d9648]
fnstsw ax
test ah, 0x41
jp 0x10016d6a
fstp dword [0x100d9648]
jmp 0x10016d6c
fstp st(0)
fldz
push ecx
fst dword [esp]
mov ecx, 0x637c60
fld1
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x100d2360]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100d232c]
fstp dword [esp + 0xc]
fld dword [0x100d2290]
fstp dword [esp + 8]
fld dword [0x100d9648]
fstp dword [esp + 4]
fld dword [0x100d22fc]
fstp dword [esp]
push 0x17
call ecx
fldz
fst dword [esp + 0x2c]
add esp, 0x2c
fld dword [0x100d2314]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
mov edx, 0x637c60
fld dword [0x100d2360]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100d21d8]
fstp dword [esp + 0xc]
fld dword [0x100d2290]
fstp dword [esp + 8]
fld dword [0x100d9648]
fadd qword [0x100d2e38]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x100d22fc]
fstp dword [esp]
push 0x18
call edx
fld dword [0x100d9648]
fadd qword [0x100d2e30]
add esp, 0x30
push 0x14
push 0x13
call fcn.100c10b0
push eax
push 0x106
mov eax, 0x790b10
call eax
add esp, 0x10
test al, al
je 0x10016f0d
push 1
mov ecx, 0x791070
call ecx
add esp, 4
test eax, eax
je 0x10016f0d
mov eax, dword [0x103a041c]
mov ecx, dword [0x10310508]
cmp eax, ecx
jb 0x10016e81
cmp eax, 1
jle 0x10016e8a
cmp eax, 1
jl 0x10016e95
cmp eax, ecx
ja 0x10016e95
dec eax
mov dword [0x103a041c], eax
call fcn.100163d0
push 0
push 0
push 0x19
mov edx, 0x6d6c20
call edx
fldz
fst dword [esp + 8]
add esp, 8
fld dword [0x100d2e28]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
mov eax, 0x637c60
fld dword [0x100d2e24]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100d1de4]
fstp dword [esp + 0xc]
fld dword [0x100d2560]
fstp dword [esp + 8]
fld dword [0x100d9648]
fadd qword [0x100d2e30]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x100d2df0]
fstp dword [esp]
push 0x1a
call eax
add esp, 0x30
fld dword [0x100d9648]
push 0x14
fadd qword [0x100d2e30]
push 0x13
call fcn.100c10b0
push eax
push 0x167
mov ecx, 0x790b10
call ecx
add esp, 0x10
test al, al
je 0x10016ff0
push 1
mov edx, 0x791070
call edx
add esp, 4
test eax, eax
je 0x10016ff0
mov eax, dword [0x103a041c]
mov ecx, dword [0x10310508]
test eax, eax
js 0x10016f64
lea edx, [ecx - 1]
cmp eax, edx
jbe 0x10016f6d
dec ecx
cmp eax, ecx
jb 0x10016f78
test eax, eax
jg 0x10016f78
inc eax
mov dword [0x103a041c], eax
call fcn.100163d0
push 0
push 0
push 0x19
mov eax, 0x6d6c20
call eax
fldz
fst dword [esp + 8]
add esp, 8
fld dword [0x100d2e28]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
mov ecx, 0x637c60
fld dword [0x100d2e24]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100d1de4]
fstp dword [esp + 0xc]
fld dword [0x100d2560]
fstp dword [esp + 8]
fld dword [0x100d9648]
fadd qword [0x100d2e30]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x100d2dec]
fstp dword [esp]
push 0x1b
call ecx
add esp, 0x30
mov eax, dword [0x103a041c]
cmp eax, 6
ja case.default.0x10016ffe
jmp dword [eax*4 + 0x10017ebc]
push 1
mov edx, 0x635fd0
call edx
fld dword [0x100d1ee8]
fstp dword [esp]
sub esp, 0xc
fldz
fst dword [esp + 8]
fst dword [esp + 4]
fstp dword [esp]
call esi
fldz
push 0
sub esp, 0x14
fstp dword [esp + 0x10]
fld dword [0x100d1de4]
mov eax, 0x6378a0
fstp dword [esp + 0xc]
fld dword [0x100d2560]
fstp dword [esp + 8]
fld dword [0x100d9648]
fadd qword [0x100d2e30]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x100d2df0]
fstp dword [esp]
call eax
mov ecx, 0x636070
call ecx
push 1
mov edx, 0x635fd0
call edx
fld1
add esp, 0xc
fst dword [esp + 0xc]
fst dword [esp + 8]
fst dword [esp + 4]
fstp dword [esp]
call esi
push 0x14
jmp 0x100170d8
push 0x15
mov edx, 0x402320
mov ecx, 0x41fe10
call edx
jmp 0x100170e4
push 0x16
jmp 0x100170d8
push 0x17
mov edx, 0x402320
mov ecx, 0x41fe10
call edx
jmp 0x100170e4
push 0x18
jmp 0x100170d8
push 0x697
mov edx, 0x402320
mov ecx, 0x41fe10
call edx
jmp 0x100170e4
push 0xc4e
mov ecx, 0x41fe10
mov eax, 0x402320
call eax
fld dword [0x100d9648]
push eax
fadd qword [0x100d2e18]
push 0x32
call fcn.100c10b0
push 0x127
push 0xffffffffffffffff
mov ebx, 3
mov ecx, eax
call fcn.10042f70
add esp, 0x10
mov ecx, dword [0x103a041c]
cmp ecx, dword [0x10310508]
jne 0x100171af
push 1
mov edx, 0x635fd0
call edx
fld dword [0x100d1ee8]
fstp dword [esp]
sub esp, 0xc
fldz
fst dword [esp + 8]
fst dword [esp + 4]
fstp dword [esp]
call esi
fldz
push 0
sub esp, 0x14
fstp dword [esp + 0x10]
fld dword [0x100d1de4]
mov eax, 0x6378a0
fstp dword [esp + 0xc]
fld dword [0x100d2560]
fstp dword [esp + 8]
fld dword [0x100d9648]
fadd qword [0x100d2e30]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x100d2dec]
fstp dword [esp]
call eax
mov ecx, 0x636070
call ecx
push 1
mov edx, 0x635fd0
call edx
fld1
add esp, 0xc
fst dword [esp + 0xc]
fst dword [esp + 8]
fst dword [esp + 4]
fstp dword [esp]
call esi
fld dword [0x100d9648]
push 0x17
fadd qword [0x100d2e08]
push 0x3a
call fcn.100c10b0
push eax
push 0x103
mov eax, 0x790b10
call eax
add esp, 0x10
test al, al
je 0x10017283
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x1001721b
mov edx, 0x482b70
call edx
add eax, 0x8490
push eax
mov eax, 0x482b70
call eax
mov edx, 0x483b50
mov ecx, eax
call edx
push 0
push 0
push 0x19
mov eax, 0x6d6c20
call eax
add esp, 0xc
fldz
push ecx
fst dword [esp]
mov ecx, 0x637c60
fld dword [0x100d2370]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x100d2e00]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100d22a4]
fstp dword [esp + 0xc]
fld dword [0x100d2dfc]
fstp dword [esp + 8]
fld dword [0x100d9648]
fadd qword [0x100d2e08]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x100d2318]
fstp dword [esp]
push 0x1c
call ecx
add esp, 0x30
fld dword [0x100d9648]
push 0x17
fadd qword [0x100d2e08]
push 0x3a
call fcn.100c10b0
push eax
push 0x143
mov edx, 0x790b10
call edx
add esp, 0x10
test al, al
je 0x1001735c
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x100172e6
mov edx, 0x482b70
call edx
mov edx, 0x403e00
lea ecx, [eax + 0x8490]
call edx
push 0
push 0
push 0x19
mov eax, 0x6d6c20
call eax
add esp, 0xc
fldz
push ecx
fst dword [esp]
mov ecx, 0x637c60
fld dword [0x100d2370]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x100d2e00]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100d22a4]
fstp dword [esp + 0xc]
fld dword [0x100d2dfc]
fstp dword [esp + 8]
fld dword [0x100d9648]
fadd qword [0x100d2e08]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x100d2de8]
fstp dword [esp]
push 0x1d
call ecx
add esp, 0x30
jmp 0x1001735c
fld dword [0x100d2df4]
fstp dword [0x100d9648]
fldz
push ecx
fst dword [esp]
mov edx, 0x637c60
fld dword [0x100d23a0]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x100d2348]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fst dword [esp + 0x10]
fld dword [0x100d2344]
fstp dword [esp + 0xc]
fld dword [0x100d2340]
fstp dword [esp + 8]
fstp dword [esp + 4]
fld dword [0x100d2304]
fstp dword [esp]
push 0xc
call edx
fldz
fst dword [esp + 0x2c]
add esp, 0x2c
fld dword [0x100d23a0]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
mov eax, 0x637c60
fld dword [0x100d2338]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fld dword [0x100d2348]
fstp dword [esp + 0x10]
fld dword [0x100d2344]
fstp dword [esp + 0xc]
fld dword [0x100d2340]
fstp dword [esp + 8]
fst dword [esp + 4]
fstp dword [esp]
push 0xc
call eax
fldz
fst dword [esp + 0x2c]
add esp, 0x2c
fld1
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x100d2330]
mov ecx, 0x637c60
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100d232c]
fstp dword [esp + 0xc]
fld dword [0x100d2328]
fstp dword [esp + 8]
fld dword [0x100d1e94]
fstp dword [esp + 4]
fld dword [0x100d2300]
fstp dword [esp]
push 0xd
call ecx
fldz
fst dword [esp + 0x2c]
add esp, 0x2c
fld1
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x100d2320]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fld dword [0x100d2330]
fstp dword [esp + 0x10]
fld dword [0x100d232c]
fstp dword [esp + 0xc]
mov edx, 0x637c60
fld dword [0x100d2328]
fstp dword [esp + 8]
fld dword [0x100d1e94]
fstp dword [esp + 4]
fstp dword [esp]
push 0xd
call edx
fldz
fst dword [esp + 0x2c]
add esp, 0x2c
fld dword [0x100d231c]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
mov eax, 0x637c60
fld dword [0x100d2330]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100d2214]
fstp dword [esp + 0xc]
fld dword [0x100d2328]
fstp dword [esp + 8]
fld dword [0x100d2318]
fstp dword [esp + 4]
fld dword [0x100d2300]
fstp dword [esp]
push 0xe
call eax
fldz
fst dword [esp + 0x2c]
add esp, 0x2c
fld dword [0x100d231c]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
mov ecx, 0x637c60
fld dword [0x100d2320]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fld dword [0x100d2330]
fstp dword [esp + 0x10]
fld dword [0x100d2214]
fstp dword [esp + 0xc]
fld dword [0x100d2328]
fstp dword [esp + 8]
fld dword [0x100d2318]
fstp dword [esp + 4]
fstp dword [esp]
push 0xe
call ecx
fldz
fst dword [esp + 0x2c]
add esp, 0x2c
fld dword [0x100d2314]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld1
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fst dword [esp + 0x10]
fld dword [0x100d20b0]
fstp dword [esp + 0xc]
fld dword [0x100d232c]
fstp dword [esp + 8]
fstp dword [esp + 4]
fld dword [0x100d2340]
fstp dword [esp]
push 0xf
mov edx, 0x637c60
call edx
add esp, 0x30
cmp dword [0x103a0310], 0
jne 0x10017e99
cmp dword [0xe609e8], 4
jne 0x10017e99
mov eax, 0x482b70
call eax
cmp byte [eax + 0x849c], 0
je 0x10017c27
fld dword [0x100d9648]
fadd qword [0x100d23a8]
fstp dword [0x100d9648]
fld dword [0x100d2754]
fcom dword [0x100d9648]
fnstsw ax
test ah, 0x41
jp 0x1001761d
fstp dword [0x100d9648]
jmp 0x1001761f
fstp st(0)
fldz
push ecx
fst dword [esp]
mov ecx, 0x637c60
fld1
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x100d2360]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100d232c]
fstp dword [esp + 0xc]
fld dword [0x100d2290]
fstp dword [esp + 8]
fld dword [0x100d9648]
fstp dword [esp + 4]
fld dword [0x100d22fc]
fstp dword [esp]
push 0x17
call ecx
fldz
fst dword [esp + 0x2c]
add esp, 0x2c
fld dword [0x100d2314]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
mov edx, 0x637c60
fld dword [0x100d2360]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100d21d8]
fstp dword [esp + 0xc]
fld dword [0x100d2290]
fstp dword [esp + 8]
fld dword [0x100d9648]
fadd qword [0x100d2e38]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x100d22fc]
fstp dword [esp]
push 0x18
call edx
fld dword [0x100d9648]
fadd qword [0x100d2e30]
add esp, 0x30
push 0x14
push 0x13
call fcn.100c10b0
push eax
push 0x106
mov eax, 0x790b10
call eax
add esp, 0x10
test al, al
je 0x100177c0
push 1
mov ecx, 0x791070
call ecx
add esp, 4
test eax, eax
je 0x100177c0
mov eax, dword [0x103a041c]
mov ecx, dword [0x10310508]
cmp eax, ecx
jb 0x10017734
cmp eax, 1
jle 0x1001773d
cmp eax, 1
jl 0x10017748
cmp eax, ecx
ja 0x10017748
dec eax
mov dword [0x103a041c], eax
call fcn.100163d0
push 0
push 0
push 0x19
mov edx, 0x6d6c20
call edx
fldz
fst dword [esp + 8]
add esp, 8
fld dword [0x100d2e28]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
mov eax, 0x637c60
fld dword [0x100d2e24]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100d1de4]
fstp dword [esp + 0xc]
fld dword [0x100d2560]
fstp dword [esp + 8]
fld dword [0x100d9648]
fadd qword [0x100d2e30]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x100d2df0]
fstp dword [esp]
push 0x1a
call eax
add esp, 0x30
fld dword [0x100d9648]
push 0x14
fadd qword [0x100d2e30]
push 0x13
call fcn.100c10b0
push eax
push 0x167
mov ecx, 0x790b10
call ecx
add esp, 0x10
test al, al
je 0x100178a3
push 1
mov edx, 0x791070
call edx
add esp, 4
test eax, eax
je 0x100178a3
mov eax, dword [0x103a041c]
mov ecx, dword [0x10310508]
test eax, eax
js 0x10017817
lea edx, [ecx - 1]
cmp eax, edx
jbe 0x10017820
dec ecx
cmp eax, ecx
jb 0x1001782b
test eax, eax
jg 0x1001782b
inc eax
mov dword [0x103a041c], eax
call fcn.100163d0
push 0
push 0
push 0x19
mov eax, 0x6d6c20
call eax
fldz
fst dword [esp + 8]
add esp, 8
fld dword [0x100d2e28]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
mov ecx, 0x637c60
fld dword [0x100d2e24]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100d1de4]
fstp dword [esp + 0xc]
fld dword [0x100d2560]
fstp dword [esp + 8]
fld dword [0x100d9648]
fadd qword [0x100d2e30]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x100d2dec]
fstp dword [esp]
push 0x1b
call ecx
add esp, 0x30
mov eax, dword [0x103a041c]
cmp eax, 6
ja case.default.0x100178b1
jmp dword [eax*4 + 0x10017ed8]
push 1
mov edx, 0x635fd0
call edx
fld dword [0x100d1ee8]
fstp dword [esp]
sub esp, 0xc
fldz
fst dword [esp + 8]
fst dword [esp + 4]
fstp dword [esp]
call esi
fldz
push 0
sub esp, 0x14
fstp dword [esp + 0x10]
fld dword [0x100d1de4]
mov eax, 0x6378a0
fstp dword [esp + 0xc]
fld dword [0x100d2560]
fstp dword [esp + 8]
fld dword [0x100d9648]
fadd qword [0x100d2e30]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x100d2df0]
fstp dword [esp]
call eax
mov ecx, 0x636070
call ecx
push 1
mov edx, 0x635fd0
call edx
fld1
add esp, 0xc
fst dword [esp + 0xc]
fst dword [esp + 8]
fst dword [esp + 4]
fstp dword [esp]
call esi
push 0x14
jmp 0x1001798b
push 0x15
mov edx, 0x402320
mov ecx, 0x41fe10
call edx
jmp 0x10017997
push 0x16
jmp 0x1001798b
push 0x17
mov edx, 0x402320
mov ecx, 0x41fe10
call edx
jmp 0x10017997
push 0x18
jmp 0x1001798b
push 0x697
mov edx, 0x402320
mov ecx, 0x41fe10
call edx
jmp 0x10017997
push 0xc4e
mov ecx, 0x41fe10
mov eax, 0x402320
call eax
fld dword [0x100d9648]
push eax
fadd qword [0x100d2e18]
push 0x32
call fcn.100c10b0
push 0x127
push 0xffffffffffffffff
mov ebx, 3
mov ecx, eax
call fcn.10042f70
add esp, 0x10
mov ecx, dword [0x103a041c]
cmp ecx, dword [0x10310508]
jne 0x10017a62
push 1
mov edx, 0x635fd0
call edx
fld dword [0x100d1ee8]
fstp dword [esp]
sub esp, 0xc
fldz
fst dword [esp + 8]
fst dword [esp + 4]
fstp dword [esp]
call esi
fldz
push 0
sub esp, 0x14
fstp dword [esp + 0x10]
fld dword [0x100d1de4]
mov eax, 0x6378a0
fstp dword [esp + 0xc]
fld dword [0x100d2560]
fstp dword [esp + 8]
fld dword [0x100d9648]
fadd qword [0x100d2e30]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x100d2dec]
fstp dword [esp]
call eax
mov ecx, 0x636070
call ecx
push 1
mov edx, 0x635fd0
call edx
fld1
add esp, 0xc
fst dword [esp + 0xc]
fst dword [esp + 8]
fst dword [esp + 4]
fstp dword [esp]
call esi
fld dword [0x100d9648]
fadd qword [0x100d2e10]
call fcn.100c10b0
mov ecx, dword [0xe8c544]
push eax
push 0x122
mov eax, 0x417ec0
call eax
fld dword [0x100d9648]
fadd qword [0x100d2e08]
push 0x17
push 0x3a
call fcn.100c10b0
push eax
push 0x103
mov ecx, 0x790b10
call ecx
add esp, 0x10
test al, al
je 0x10017b5a
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
mov edx, 0x8000
test dx, ax
je 0x10017af2
mov eax, 0x482b70
call eax
add eax, 0x8490
push eax
mov ecx, 0x482b70
call ecx
mov edx, 0x483b50
mov ecx, eax
call edx
push 0
push 0
push 0x19
mov eax, 0x6d6c20
call eax
add esp, 0xc
fldz
push ecx
fst dword [esp]
mov ecx, 0x637c60
fld dword [0x100d2370]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x100d2e00]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100d22a4]
fstp dword [esp + 0xc]
fld dword [0x100d2dfc]
fstp dword [esp + 8]
fld dword [0x100d9648]
fadd qword [0x100d2e08]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x100d2318]
fstp dword [esp]
push 0x1c
call ecx
add esp, 0x30
fld dword [0x100d9648]
push 0x17
fadd qword [0x100d2e08]
push 0x3a
call fcn.100c10b0
push eax
push 0x143
mov edx, 0x790b10
call edx
add esp, 0x10
test al, al
je 0x10017c33
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x10017bbd
mov edx, 0x482b70
call edx
mov edx, 0x403e00
lea ecx, [eax + 0x8490]
call edx
push 0
push 0
push 0x19
mov eax, 0x6d6c20
call eax
add esp, 0xc
fldz
push ecx
fst dword [esp]
mov ecx, 0x637c60
fld dword [0x100d2370]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x100d2e00]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100d22a4]
fstp dword [esp + 0xc]
fld dword [0x100d2dfc]
fstp dword [esp + 8]
fld dword [0x100d9648]
fadd qword [0x100d2e08]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x100d2de8]
fstp dword [esp]
push 0x1d
call ecx
add esp, 0x30
jmp 0x10017c33
fld dword [0x100d2df4]
fstp dword [0x100d9648]
fldz
push ecx
fst dword [esp]
mov edx, 0x637c60
fld dword [0x100d23a0]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x100d2348]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fst dword [esp + 0x10]
fld dword [0x100d2344]
fstp dword [esp + 0xc]
fld dword [0x100d2340]
fstp dword [esp + 8]
fstp dword [esp + 4]
fld dword [0x100d2304]
fstp dword [esp]
push 0xc
call edx
fldz
fst dword [esp + 0x2c]
add esp, 0x2c
fld dword [0x100d23a0]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
mov eax, 0x637c60
fld dword [0x100d2338]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fld dword [0x100d2348]
fstp dword [esp + 0x10]
fld dword [0x100d2344]
fstp dword [esp + 0xc]
fld dword [0x100d2340]
fstp dword [esp + 8]
fst dword [esp + 4]
fstp dword [esp]
push 0xc
call eax
fldz
fst dword [esp + 0x2c]
add esp, 0x2c
fld1
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x100d2330]
mov ecx, 0x637c60
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100d232c]
fstp dword [esp + 0xc]
fld dword [0x100d2328]
fstp dword [esp + 8]
fld dword [0x100d1e94]
fstp dword [esp + 4]
fld dword [0x100d2300]
fstp dword [esp]
push 0xd
call ecx
fldz
fst dword [esp + 0x2c]
add esp, 0x2c
fld1
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x100d2320]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fld dword [0x100d2330]
fstp dword [esp + 0x10]
fld dword [0x100d232c]
fstp dword [esp + 0xc]
mov edx, 0x637c60
fld dword [0x100d2328]
fstp dword [esp + 8]
fld dword [0x100d1e94]
fstp dword [esp + 4]
fstp dword [esp]
push 0xd
call edx
fldz
fst dword [esp + 0x2c]
add esp, 0x2c
fld dword [0x100d231c]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
mov eax, 0x637c60
fld dword [0x100d2330]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100d2214]
fstp dword [esp + 0xc]
fld dword [0x100d2328]
fstp dword [esp + 8]
fld dword [0x100d2318]
fstp dword [esp + 4]
fld dword [0x100d2300]
fstp dword [esp]
push 0xe
call eax
fldz
fst dword [esp + 0x2c]
add esp, 0x2c
fld dword [0x100d231c]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
mov ecx, 0x637c60
fld dword [0x100d2320]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fld dword [0x100d2330]
fstp dword [esp + 0x10]
fld dword [0x100d2214]
fstp dword [esp + 0xc]
fld dword [0x100d2328]
fstp dword [esp + 8]
fld dword [0x100d2318]
fstp dword [esp + 4]
fstp dword [esp]
push 0xe
call ecx
fldz
fst dword [esp + 0x2c]
add esp, 0x2c
fld dword [0x100d2314]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
mov edx, 0x637c60
fld1
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fst dword [esp + 0x10]
fld dword [0x100d20b0]
fstp dword [esp + 0xc]
fld dword [0x100d232c]
fstp dword [esp + 8]
fstp dword [esp + 4]
fld dword [0x100d2340]
fstp dword [esp]
push 0xf
call edx
add esp, 0x30
pop esi
pop ebx
mov esp, ebp
pop ebp
ret