Function at 0x1003bb63
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa8
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
push 0xc
call fcn.1007079c
add esp, 4
mov dword [ebp - 0x20], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
push 0xc
call fcn.1007079c
add esp, 4
mov dword [ebp - 0x24], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov ebx, dword [0x1012dabb]
add ebx, 0xe0
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 1
mov ebx, dword [0x1012dabb]
add ebx, 0xe4
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
cmp dword [ebx], 0
je 0x1003cbb1
mov ebx, dword [0x1012dabb]
add ebx, 0xdc
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], esp
mov ebx, dword [ebp - 0x28]
push dword [ebx]
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 0x2c], esp
je 0x1003bc59
push 0xad
push 0x4012b00
push 6
call fcn.100707a8
add esp, 0xc
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x1003bcaf
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x14], 0
and dword [ebp - 0x18], 1
xor dword [ebp - 0x18], 1
push 0x80000301
push 0
push 0xc8
push 1
mov ebx, 0x67c
call fcn.10072e40
add esp, 0x10
cmp dword [ebp - 0x18], 0
je 0x1003cb6e
push 1
call fcn.1003cbfb
mov dword [ebp - 0x1c], 1
inc dword [ebp - 0x14]
fild qword [0x1012dbd7]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x10093d40]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
fild qword [ebp - 0x44]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
fadd qword [0x10091242]
fstp qword [ebp - 0x4c]
fld qword [ebp - 0x4c]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
fild qword [ebp - 0x5c]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
fadd qword [0x10091272]
fstp qword [ebp - 0x64]
fld qword [ebp - 0x64]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
fild qword [ebp - 0x74]
fstp qword [ebp - 0x74]
fld qword [ebp - 0x74]
fadd qword [0x1009131a]
fstp qword [ebp - 0x7c]
fld qword [ebp - 0x7c]
call fcn.10001b73
push edx
push eax
call fcn.10035441
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0x18
jne 0x1003bf1c
mov ebx, dword [0x1012dabb]
add ebx, 0xe8
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
cmp dword [ebx], 0
je 0x1003bf17
call fcn.1003ce0e
push 0x80000301
push 0
push 0xc8
push 1
mov ebx, 0x67c
call fcn.10072e40
add esp, 0x10
push dword [0x1012dbab]
push dword [0x1012dba7]
call fcn.10035441
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 1
jne 0x1003be61
mov dword [ebp - 0x28], esp
push 0
push 0
push 0
push 9
xor eax, eax
call dword [sym.imp.USER32.dll_keybd_event]
nop
nop
cmp dword [ebp - 0x28], esp
je 0x1003be12
push 0x494
push 0x4012b00
push 6
call fcn.100707a8
add esp, 0xc
push 0
mov ebx, 0x350
call fcn.10074130
add esp, 4
mov dword [ebp - 0x28], esp
push 0
push 2
push 0
push 9
xor eax, eax
call dword [sym.imp.USER32.dll_keybd_event]
nop
nop
cmp dword [ebp - 0x28], esp
je 0x1003be61
push 0x4da
push 0x4012b00
push 6
call fcn.100707a8
add esp, 0xc
fild qword [0x1012dbd7]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x10093d40]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
fild qword [ebp - 0x44]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
fadd qword [0x10091242]
fstp qword [ebp - 0x4c]
fld qword [ebp - 0x4c]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
fild qword [ebp - 0x5c]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
fadd qword [0x10091272]
fstp qword [ebp - 0x64]
fld qword [ebp - 0x64]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
fild qword [ebp - 0x74]
fstp qword [ebp - 0x74]
fld qword [ebp - 0x74]
fadd qword [0x1009131a]
fstp qword [ebp - 0x7c]
fld qword [ebp - 0x7c]
call fcn.10001b73
push edx
push eax
call fcn.10035441
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0x18
jne 0x1003bf12
jmp 0x1003bc01
jmp 0x1003bf1c
jmp 0x1003bc01
cmp dword [ebp - 0x14], 0x32
jle 0x1003c50a
mov ebx, dword [0x1012dabb]
add ebx, 0xf0
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
cmp dword [ebx], 0
je 0x1003bfdb
fild qword [0x1012dbd7]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x10093d48]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
fild qword [ebp - 0x44]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
fadd qword [0x1009125a]
fstp qword [ebp - 0x4c]
fld qword [ebp - 0x4c]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
fild qword [ebp - 0x5c]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
fadd qword [0x100914b0]
fstp qword [ebp - 0x64]
fld qword [ebp - 0x64]
call fcn.10001b73
push edx
push eax
call fcn.1002f57f
mov dword [ebp - 0x6c], eax
fld dword [ebp - 0x6c]
fstp qword [ebp - 0x74]
fld qword [ebp - 0x74]
fsub qword [0x1008c684]
fcomp qword [0x1008c4d7]
fnstsw ax
test ah, 1
je 0x1003bfdb
call fcn.1003ec30
fild qword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x10092149]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
fild qword [ebp - 0x44]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
fadd qword [0x10091272]
fstp qword [ebp - 0x4c]
fld qword [ebp - 0x4c]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
fild qword [ebp - 0x5c]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
fadd qword [0x1008c11e]
fstp qword [ebp - 0x64]
fld qword [ebp - 0x64]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
fild qword [ebp - 0x74]
fstp qword [ebp - 0x74]
fld qword [ebp - 0x74]
fadd qword [0x10091242]
fstp qword [ebp - 0x7c]
fld qword [ebp - 0x7c]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], edx
fild qword [ebp - 0x8c]
fstp qword [ebp - 0x8c]
fld qword [ebp - 0x8c]
fadd qword [0x10091457]
fstp qword [ebp - 0x94]
fld qword [ebp - 0x94]
call fcn.10001b73
push edx
push eax
call fcn.10035441
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 1
jge 0x1003c0e8
mov ebx, dword [0x1012dabb]
add ebx, 0xec
mov dword [ebp - 0xa4], ebx
mov ebx, dword [ebp - 0xa4]
cmp dword [ebx], 0
je 0x1003c0e8
mov eax, 1
jmp 0x1003c0ed
mov eax, 0
test eax, eax
je 0x1003c503
fild qword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x1009125a]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b73
push edx
push eax
call fcn.10035441
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], 0
push 0
lea eax, [ebp - 0x3c]
push eax
push 1
call fcn.1003d31e
push eax
push dword [ebp - 0x38]
call fcn.1003f3fb
fild qword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x10092149]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
fild qword [ebp - 0x44]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
fadd qword [0x10091272]
fstp qword [ebp - 0x4c]
fld qword [ebp - 0x4c]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
fild qword [ebp - 0x5c]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
fadd qword [0x1008c11e]
fstp qword [ebp - 0x64]
fld qword [ebp - 0x64]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
fild qword [ebp - 0x74]
fstp qword [ebp - 0x74]
fld qword [ebp - 0x74]
fadd qword [0x10091242]
fstp qword [ebp - 0x7c]
fld qword [ebp - 0x7c]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], edx
fild qword [ebp - 0x8c]
fstp qword [ebp - 0x8c]
fld qword [ebp - 0x8c]
fadd qword [0x10091457]
fstp qword [ebp - 0x94]
fld qword [ebp - 0x94]
call fcn.10001b73
push edx
push eax
call fcn.10035441
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 1
jge 0x1003c246
mov ebx, dword [0x1012dabb]
add ebx, 0xf8
mov dword [ebp - 0xa4], ebx
mov ebx, dword [ebp - 0xa4]
cmp dword [ebx], 0
je 0x1003c246
mov eax, 1
jmp 0x1003c24b
mov eax, 0
test eax, eax
je 0x1003c410
push 4
call fcn.1003f8a4
push 0x80000301
push 0
push 0x64
push 1
mov ebx, 0x67c
call fcn.10072e40
add esp, 0x10
fild qword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x1009125a]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b73
push edx
push eax
call fcn.10035441
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], 0
push 0
lea eax, [ebp - 0x3c]
push eax
push 1
call fcn.1003d31e
push eax
push dword [ebp - 0x38]
call fcn.1003f3fb
fild qword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x10092149]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
fild qword [ebp - 0x44]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
fadd qword [0x10091272]
fstp qword [ebp - 0x4c]
fld qword [ebp - 0x4c]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
fild qword [ebp - 0x5c]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
fadd qword [0x1008c11e]
fstp qword [ebp - 0x64]
fld qword [ebp - 0x64]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
fild qword [ebp - 0x74]
fstp qword [ebp - 0x74]
fld qword [ebp - 0x74]
fadd qword [0x10091242]
fstp qword [ebp - 0x7c]
fld qword [ebp - 0x7c]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], edx
fild qword [ebp - 0x8c]
fstp qword [ebp - 0x8c]
fld qword [ebp - 0x8c]
fadd qword [0x10091457]
fstp qword [ebp - 0x94]
fld qword [ebp - 0x94]
call fcn.10001b73
push edx
push eax
call fcn.10035441
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 1
jge 0x1003c410
push 5
call fcn.1003f8a4
push 0x80000301
push 0
push 0x64
push 1
mov ebx, 0x67c
call fcn.10072e40
add esp, 0x10
fild qword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x1009125a]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b73
push edx
push eax
call fcn.10035441
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], 0
push 0
lea eax, [ebp - 0x3c]
push eax
push 1
call fcn.1003d31e
push eax
push dword [ebp - 0x38]
call fcn.1003f3fb
fild qword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x10092149]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
fild qword [ebp - 0x44]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
fadd qword [0x10091272]
fstp qword [ebp - 0x4c]
fld qword [ebp - 0x4c]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
fild qword [ebp - 0x5c]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
fadd qword [0x1008c11e]
fstp qword [ebp - 0x64]
fld qword [ebp - 0x64]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
fild qword [ebp - 0x74]
fstp qword [ebp - 0x74]
fld qword [ebp - 0x74]
fadd qword [0x10091242]
fstp qword [ebp - 0x7c]
fld qword [ebp - 0x7c]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], edx
fild qword [ebp - 0x8c]
fstp qword [ebp - 0x8c]
fld qword [ebp - 0x8c]
fadd qword [0x10091457]
fstp qword [ebp - 0x94]
fld qword [ebp - 0x94]
call fcn.10001b73
push edx
push eax
call fcn.10035441
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 1
jge 0x1003c503
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x14], 0
push 0x80000301
push 0
push 0x64
push 1
mov ebx, 0x67c
call fcn.10072e40
add esp, 0x10
cmp dword [ebp - 8], 0
jne 0x1003c532
cmp dword [ebp - 4], 0
jne 0x1003c64a
call fcn.10040650
mov dword [ebp - 8], eax
mov dword [ebp - 4], edx
cmp dword [ebp - 8], 0
jne 0x1003c54d
cmp dword [ebp - 4], 0
je 0x1003c64a
push 0x80000301
push 0
push 0x1f4
push 1
mov ebx, 0x67c
call fcn.10072e40
add esp, 0x10
fild qword [0x1012daaf]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x10093d50]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
fild qword [ebp - 0x44]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
fadd qword [0x10091202]
fstp qword [ebp - 0x4c]
fld qword [ebp - 0x4c]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
fild qword [ebp - 0x5c]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
fadd qword [0x1008c4c7]
fstp qword [ebp - 0x64]
fild qword [ebp - 8]
fstp qword [ebp - 0x6c]
fld qword [ebp - 0x6c]
fadd qword [0x1009125a]
fstp qword [ebp - 0x74]
fld qword [ebp - 0x74]
call fcn.10001b73
push edx
push eax
call fcn.10035441
push eax
fld qword [ebp - 0x64]
call fcn.10001b73
push edx
push eax
call fcn.1002fca1
push 0x80000301
push 0
push 0x1f4
push 1
mov ebx, 0x67c
call fcn.10072e40
add esp, 0x10
fild qword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x10093d58]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
fild qword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x1008c11e]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b73
push edx
push eax
call fcn.1002f57f
mov dword [ebp - 0x3c], eax
fld dword [ebp - 0x3c]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
ftst
fnstsw ax
test ah, 1
je 0x1003c682
fchs
fcomp qword [0x1008bb4e]
fnstsw ax
test ah, 0x41
je 0x1003c6b4
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
jmp 0x1003bc01
mov ebx, dword [0x1012dcb3]
add ebx, 0x10
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.1002fca1
mov ebx, dword [0x1012dcb3]
add ebx, 0x18
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.1002fca1
mov ebx, dword [0x1012dcb3]
add ebx, 0x38
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.1002fca1
fild qword [ebp - 0x10]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x10093d60]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b73
push edx
push eax
call fcn.10035441
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
jne 0x1003c7c1
mov ebx, dword [0x1012dcb3]
add ebx, 0x10
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.1002fca1
mov ebx, dword [0x1012dcb3]
add ebx, 0x18
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.1002fca1
mov ebx, dword [0x1012dcb3]
add ebx, 0x38
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.1002fca1
fild qword [ebp - 0x10]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x10093d60]
fstp qword [ebp - 0x34]
push 1
fld qword [ebp - 0x34]
call fcn.10001b73
push edx
push eax
call fcn.1002fca1
jmp 0x1003cb69
fild qword [ebp - 0x10]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x10093d60]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b73
push edx
push eax
call fcn.10035441
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 1
jne 0x1003c8c6
mov ebx, dword [0x1012dcb3]
add ebx, 0x38
mov dword [ebp - 0x28], ebx
push 1
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.1002fca1
push 0x80000301
push 0
push 0xa
push 1
mov ebx, 0x67c
call fcn.10072e40
add esp, 0x10
mov ebx, dword [0x1012dcb3]
add ebx, 0x38
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.1002fca1
push 0x80000301
push 0
push 0x32
push 1
mov ebx, 0x67c
call fcn.10072e40
add esp, 0x10
mov ebx, dword [0x1012dcb3]
add ebx, 0x38
mov dword [ebp - 0x28], ebx
push 1
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.1002fca1
push 0x80000301
push 0
push 0x32
push 1
mov ebx, 0x67c
call fcn.10072e40
add esp, 0x10
mov ebx, dword [0x1012dcb3]
add ebx, 0x38
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.1002fca1
jmp 0x1003cb69
fild qword [ebp - 0x10]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x10093d60]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b73
push edx
push eax
call fcn.10035441
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 2
jne 0x1003c953
mov ebx, dword [0x1012dcb3]
add ebx, 0x10
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.1002fca1
mov ebx, dword [0x1012dcb3]
add ebx, 0x18
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.1002fca1
mov ebx, dword [0x1012dcb3]
add ebx, 0x38
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.1002fca1
jmp 0x1003cb69
fild qword [ebp - 0x10]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x10093d60]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b73
push edx
push eax
call fcn.10035441
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 3
jne 0x1003c9cc
fild qword [ebp - 0x10]
fstp qword [ebp - 0x48]
fld qword [ebp - 0x48]
fadd qword [0x10093d68]
fstp qword [ebp - 0x50]
fld qword [ebp - 0x50]
call fcn.10001b73
push edx
push eax
call fcn.1002f57f
mov dword [ebp - 0x58], eax
fld dword [ebp - 0x58]
fstp qword [ebp - 0x60]
fld qword [ebp - 0x60]
fsub qword [0x10093d70]
fcomp qword [0x1008c4d7]
fnstsw ax
test ah, 1
je 0x1003c9cc
mov eax, 1
jmp 0x1003c9d1
mov eax, 0
test eax, eax
je 0x1003cb0f
mov ebx, dword [0x1012dcb3]
add ebx, 0x38
mov dword [ebp - 0x28], ebx
push 1
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.1002fca1
fild qword [ebp - 0x10]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x10093d78]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
push edx
push eax
call fcn.10035566
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
push eax
mov ebx, dword [ebp - 0x20]
push ebx
call fcn.100707a2
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
push 1
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.1004094b
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0x28], ebx
mov ebx, dword [0x1012db43]
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x28]
fld dword [ebx]
mov ebx, dword [ebp - 0x2c]
fcomp dword [ebx]
fnstsw ax
test ah, 1
je 0x1003caaa
mov ebx, dword [0x1012dcb3]
add ebx, 0x10
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.1002fca1
mov ebx, dword [0x1012dcb3]
add ebx, 0x18
mov dword [ebp - 0x28], ebx
push 1
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.1002fca1
jmp 0x1003cb0a
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0x28], ebx
mov ebx, dword [0x1012db43]
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x28]
fld dword [ebx]
mov ebx, dword [ebp - 0x2c]
fcomp dword [ebx]
fnstsw ax
test ah, 0x41
jne 0x1003cb0a
mov ebx, dword [0x1012dcb3]
add ebx, 0x10
mov dword [ebp - 0x28], ebx
push 1
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.1002fca1
mov ebx, dword [0x1012dcb3]
add ebx, 0x18
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.1002fca1
jmp 0x1003cb69
mov ebx, dword [0x1012dcb3]
add ebx, 0x10
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.1002fca1
mov ebx, dword [0x1012dcb3]
add ebx, 0x18
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.1002fca1
mov ebx, dword [0x1012dcb3]
add ebx, 0x38
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.1002fca1
jmp 0x1003cbac
cmp dword [ebp - 0x1c], 1
jne 0x1003cb8e
mov dword [ebp - 0x1c], 0
push 0
call fcn.1003cbfb
call fcn.10042454
push 0x80000301
push 0
push 0x64
push 1
mov ebx, 0x67c
call fcn.10072e40
add esp, 0x10
jmp 0x1003bc01
push 0
call fcn.1003cbfb
call fcn.10042454
mov dword [ebp - 0x18], 0
mov ebx, dword [0x1012dabb]
add ebx, 0xe0
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 0
mov ebx, dword [ebp - 0x20]
push ebx
call fcn.100707a2
add esp, 4
mov ebx, dword [ebp - 0x24]
push ebx
call fcn.100707a2
add esp, 4
mov esp, ebp
pop ebp
ret