Function at 0x1004fb9e
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.10069538
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.10069538
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 [0x100b9e24]
add ebx, 0xe0
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 1
mov ebx, dword [0x100b9e24]
add ebx, 0xe4
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
cmp dword [ebx], 0
je 0x10050bec
mov ebx, dword [0x100b9e24]
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 0x1004fc94
push 0xad
push 0x4012b00
push 6
call fcn.10069544
add esp, 0xc
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x1004fcea
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.1006ba90
add esp, 0x10
cmp dword [ebp - 0x18], 0
je 0x10050ba9
push 1
call fcn.10050c36
mov dword [ebp - 0x1c], 1
inc dword [ebp - 0x14]
fild qword [0x100b9f40]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x100b21a3]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
fild qword [ebp - 0x44]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
fadd qword [0x100b2153]
fstp qword [ebp - 0x4c]
fld qword [ebp - 0x4c]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
fild qword [ebp - 0x5c]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
fadd qword [0x100b215b]
fstp qword [ebp - 0x64]
fld qword [ebp - 0x64]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
fild qword [ebp - 0x74]
fstp qword [ebp - 0x74]
fld qword [ebp - 0x74]
fadd qword [0x100b2163]
fstp qword [ebp - 0x7c]
fld qword [ebp - 0x7c]
call fcn.10001b62
push edx
push eax
call fcn.10029bb3
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0x18
jne 0x1004ff57
mov ebx, dword [0x100b9e24]
add ebx, 0xe8
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
cmp dword [ebx], 0
je 0x1004ff52
call fcn.10050e49
push 0x80000301
push 0
push 0xc8
push 1
mov ebx, 0x67c
call fcn.1006ba90
add esp, 0x10
push dword [0x100b9ff4]
push dword [0x100b9ff0]
call fcn.10029bb3
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 1
jne 0x1004fe9c
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 0x1004fe4d
push 0x494
push 0x4012b00
push 6
call fcn.10069544
add esp, 0xc
push 0
mov ebx, 0x350
call fcn.1006ce60
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 0x1004fe9c
push 0x4da
push 0x4012b00
push 6
call fcn.10069544
add esp, 0xc
fild qword [0x100b9f40]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x100b21a3]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
fild qword [ebp - 0x44]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
fadd qword [0x100b2153]
fstp qword [ebp - 0x4c]
fld qword [ebp - 0x4c]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
fild qword [ebp - 0x5c]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
fadd qword [0x100b215b]
fstp qword [ebp - 0x64]
fld qword [ebp - 0x64]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
fild qword [ebp - 0x74]
fstp qword [ebp - 0x74]
fld qword [ebp - 0x74]
fadd qword [0x100b2163]
fstp qword [ebp - 0x7c]
fld qword [ebp - 0x7c]
call fcn.10001b62
push edx
push eax
call fcn.10029bb3
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0x18
jne 0x1004ff4d
jmp 0x1004fc3c
jmp 0x1004ff57
jmp 0x1004fc3c
cmp dword [ebp - 0x14], 0x32
jle 0x10050545
mov ebx, dword [0x100b9e24]
add ebx, 0xf0
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
cmp dword [ebx], 0
je 0x10050016
fild qword [0x100b9f40]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x100b5490]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
fild qword [ebp - 0x44]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
fadd qword [0x100b20cc]
fstp qword [ebp - 0x4c]
fld qword [ebp - 0x4c]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
fild qword [ebp - 0x5c]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
fadd qword [0x100b33e9]
fstp qword [ebp - 0x64]
fld qword [ebp - 0x64]
call fcn.10001b62
push edx
push eax
call fcn.10029fc1
mov dword [ebp - 0x6c], eax
fld dword [ebp - 0x6c]
fstp qword [ebp - 0x74]
fld qword [ebp - 0x74]
fsub qword [0x1008568e]
fcomp qword [0x100854d7]
fnstsw ax
test ah, 1
je 0x10050016
call fcn.10052c6b
fild qword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x100b20fc]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
fild qword [ebp - 0x44]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
fadd qword [0x100b215b]
fstp qword [ebp - 0x4c]
fld qword [ebp - 0x4c]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
fild qword [ebp - 0x5c]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
fadd qword [0x1008511e]
fstp qword [ebp - 0x64]
fld qword [ebp - 0x64]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
fild qword [ebp - 0x74]
fstp qword [ebp - 0x74]
fld qword [ebp - 0x74]
fadd qword [0x100b2153]
fstp qword [ebp - 0x7c]
fld qword [ebp - 0x7c]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], edx
fild qword [ebp - 0x8c]
fstp qword [ebp - 0x8c]
fld qword [ebp - 0x8c]
fadd qword [0x100b2a4d]
fstp qword [ebp - 0x94]
fld qword [ebp - 0x94]
call fcn.10001b62
push edx
push eax
call fcn.10029bb3
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 1
jge 0x10050123
mov ebx, dword [0x100b9e24]
add ebx, 0xec
mov dword [ebp - 0xa4], ebx
mov ebx, dword [ebp - 0xa4]
cmp dword [ebx], 0
je 0x10050123
mov eax, 1
jmp 0x10050128
mov eax, 0
test eax, eax
je 0x1005053e
fild qword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x100b20cc]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b62
push edx
push eax
call fcn.10029bb3
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], 0
push 0
lea eax, [ebp - 0x3c]
push eax
push 1
call fcn.10051359
push eax
push dword [ebp - 0x38]
call fcn.10053436
fild qword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x100b20fc]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
fild qword [ebp - 0x44]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
fadd qword [0x100b215b]
fstp qword [ebp - 0x4c]
fld qword [ebp - 0x4c]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
fild qword [ebp - 0x5c]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
fadd qword [0x1008511e]
fstp qword [ebp - 0x64]
fld qword [ebp - 0x64]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
fild qword [ebp - 0x74]
fstp qword [ebp - 0x74]
fld qword [ebp - 0x74]
fadd qword [0x100b2153]
fstp qword [ebp - 0x7c]
fld qword [ebp - 0x7c]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], edx
fild qword [ebp - 0x8c]
fstp qword [ebp - 0x8c]
fld qword [ebp - 0x8c]
fadd qword [0x100b2a4d]
fstp qword [ebp - 0x94]
fld qword [ebp - 0x94]
call fcn.10001b62
push edx
push eax
call fcn.10029bb3
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 1
jge 0x10050281
mov ebx, dword [0x100b9e24]
add ebx, 0xf8
mov dword [ebp - 0xa4], ebx
mov ebx, dword [ebp - 0xa4]
cmp dword [ebx], 0
je 0x10050281
mov eax, 1
jmp 0x10050286
mov eax, 0
test eax, eax
je 0x1005044b
push 4
call fcn.100538df
push 0x80000301
push 0
push 0x64
push 1
mov ebx, 0x67c
call fcn.1006ba90
add esp, 0x10
fild qword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x100b20cc]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b62
push edx
push eax
call fcn.10029bb3
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], 0
push 0
lea eax, [ebp - 0x3c]
push eax
push 1
call fcn.10051359
push eax
push dword [ebp - 0x38]
call fcn.10053436
fild qword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x100b20fc]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
fild qword [ebp - 0x44]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
fadd qword [0x100b215b]
fstp qword [ebp - 0x4c]
fld qword [ebp - 0x4c]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
fild qword [ebp - 0x5c]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
fadd qword [0x1008511e]
fstp qword [ebp - 0x64]
fld qword [ebp - 0x64]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
fild qword [ebp - 0x74]
fstp qword [ebp - 0x74]
fld qword [ebp - 0x74]
fadd qword [0x100b2153]
fstp qword [ebp - 0x7c]
fld qword [ebp - 0x7c]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], edx
fild qword [ebp - 0x8c]
fstp qword [ebp - 0x8c]
fld qword [ebp - 0x8c]
fadd qword [0x100b2a4d]
fstp qword [ebp - 0x94]
fld qword [ebp - 0x94]
call fcn.10001b62
push edx
push eax
call fcn.10029bb3
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 1
jge 0x1005044b
push 5
call fcn.100538df
push 0x80000301
push 0
push 0x64
push 1
mov ebx, 0x67c
call fcn.1006ba90
add esp, 0x10
fild qword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x100b20cc]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b62
push edx
push eax
call fcn.10029bb3
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], 0
push 0
lea eax, [ebp - 0x3c]
push eax
push 1
call fcn.10051359
push eax
push dword [ebp - 0x38]
call fcn.10053436
fild qword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x100b20fc]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
fild qword [ebp - 0x44]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
fadd qword [0x100b215b]
fstp qword [ebp - 0x4c]
fld qword [ebp - 0x4c]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
fild qword [ebp - 0x5c]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
fadd qword [0x1008511e]
fstp qword [ebp - 0x64]
fld qword [ebp - 0x64]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
fild qword [ebp - 0x74]
fstp qword [ebp - 0x74]
fld qword [ebp - 0x74]
fadd qword [0x100b2153]
fstp qword [ebp - 0x7c]
fld qword [ebp - 0x7c]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], edx
fild qword [ebp - 0x8c]
fstp qword [ebp - 0x8c]
fld qword [ebp - 0x8c]
fadd qword [0x100b2a4d]
fstp qword [ebp - 0x94]
fld qword [ebp - 0x94]
call fcn.10001b62
push edx
push eax
call fcn.10029bb3
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 1
jge 0x1005053e
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.1006ba90
add esp, 0x10
cmp dword [ebp - 8], 0
jne 0x1005056d
cmp dword [ebp - 4], 0
jne 0x10050685
call fcn.1005468b
mov dword [ebp - 8], eax
mov dword [ebp - 4], edx
cmp dword [ebp - 8], 0
jne 0x10050588
cmp dword [ebp - 4], 0
je 0x10050685
push 0x80000301
push 0
push 0x1f4
push 1
mov ebx, 0x67c
call fcn.1006ba90
add esp, 0x10
fild qword [0x100b9e18]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x100b5498]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
fild qword [ebp - 0x44]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
fadd qword [0x100b20c4]
fstp qword [ebp - 0x4c]
fld qword [ebp - 0x4c]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
fild qword [ebp - 0x5c]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
fadd qword [0x100854c7]
fstp qword [ebp - 0x64]
fild qword [ebp - 8]
fstp qword [ebp - 0x6c]
fld qword [ebp - 0x6c]
fadd qword [0x100b20cc]
fstp qword [ebp - 0x74]
fld qword [ebp - 0x74]
call fcn.10001b62
push edx
push eax
call fcn.10029bb3
push eax
fld qword [ebp - 0x64]
call fcn.10001b62
push edx
push eax
call fcn.10029d04
push 0x80000301
push 0
push 0x1f4
push 1
mov ebx, 0x67c
call fcn.1006ba90
add esp, 0x10
fild qword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x100b54a0]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
fild qword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x1008511e]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b62
push edx
push eax
call fcn.10029fc1
mov dword [ebp - 0x3c], eax
fld dword [ebp - 0x3c]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
ftst
fnstsw ax
test ah, 1
je 0x100506bd
fchs
fcomp qword [0x10084b4e]
fnstsw ax
test ah, 0x41
je 0x100506ef
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
jmp 0x1004fc3c
mov ebx, dword [0x100ba1a4]
add ebx, 0x10
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.10029d04
mov ebx, dword [0x100ba1a4]
add ebx, 0x18
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.10029d04
mov ebx, dword [0x100ba1a4]
add ebx, 0x38
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.10029d04
fild qword [ebp - 0x10]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x100b54a8]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b62
push edx
push eax
call fcn.10029bb3
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
jne 0x100507fc
mov ebx, dword [0x100ba1a4]
add ebx, 0x10
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.10029d04
mov ebx, dword [0x100ba1a4]
add ebx, 0x18
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.10029d04
mov ebx, dword [0x100ba1a4]
add ebx, 0x38
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.10029d04
fild qword [ebp - 0x10]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x100b54a8]
fstp qword [ebp - 0x34]
push 1
fld qword [ebp - 0x34]
call fcn.10001b62
push edx
push eax
call fcn.10029d04
jmp 0x10050ba4
fild qword [ebp - 0x10]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x100b54a8]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b62
push edx
push eax
call fcn.10029bb3
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 1
jne 0x10050901
mov ebx, dword [0x100ba1a4]
add ebx, 0x38
mov dword [ebp - 0x28], ebx
push 1
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.10029d04
push 0x80000301
push 0
push 0xa
push 1
mov ebx, 0x67c
call fcn.1006ba90
add esp, 0x10
mov ebx, dword [0x100ba1a4]
add ebx, 0x38
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.10029d04
push 0x80000301
push 0
push 0x32
push 1
mov ebx, 0x67c
call fcn.1006ba90
add esp, 0x10
mov ebx, dword [0x100ba1a4]
add ebx, 0x38
mov dword [ebp - 0x28], ebx
push 1
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.10029d04
push 0x80000301
push 0
push 0x32
push 1
mov ebx, 0x67c
call fcn.1006ba90
add esp, 0x10
mov ebx, dword [0x100ba1a4]
add ebx, 0x38
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.10029d04
jmp 0x10050ba4
fild qword [ebp - 0x10]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x100b54a8]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b62
push edx
push eax
call fcn.10029bb3
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 2
jne 0x1005098e
mov ebx, dword [0x100ba1a4]
add ebx, 0x10
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.10029d04
mov ebx, dword [0x100ba1a4]
add ebx, 0x18
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.10029d04
mov ebx, dword [0x100ba1a4]
add ebx, 0x38
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.10029d04
jmp 0x10050ba4
fild qword [ebp - 0x10]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x100b54a8]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b62
push edx
push eax
call fcn.10029bb3
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 3
jne 0x10050a07
fild qword [ebp - 0x10]
fstp qword [ebp - 0x48]
fld qword [ebp - 0x48]
fadd qword [0x100b54b0]
fstp qword [ebp - 0x50]
fld qword [ebp - 0x50]
call fcn.10001b62
push edx
push eax
call fcn.10029fc1
mov dword [ebp - 0x58], eax
fld dword [ebp - 0x58]
fstp qword [ebp - 0x60]
fld qword [ebp - 0x60]
fsub qword [0x100b54b8]
fcomp qword [0x100854d7]
fnstsw ax
test ah, 1
je 0x10050a07
mov eax, 1
jmp 0x10050a0c
mov eax, 0
test eax, eax
je 0x10050b4a
mov ebx, dword [0x100ba1a4]
add ebx, 0x38
mov dword [ebp - 0x28], ebx
push 1
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.10029d04
fild qword [ebp - 0x10]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x100b54c0]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
push edx
push eax
call fcn.1002a0b4
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
push eax
mov ebx, dword [ebp - 0x20]
push ebx
call fcn.1006953e
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.10054972
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0x28], ebx
mov ebx, dword [0x100b9ea8]
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 0x10050ae5
mov ebx, dword [0x100ba1a4]
add ebx, 0x10
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.10029d04
mov ebx, dword [0x100ba1a4]
add ebx, 0x18
mov dword [ebp - 0x28], ebx
push 1
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.10029d04
jmp 0x10050b45
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0x28], ebx
mov ebx, dword [0x100b9ea8]
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 0x10050b45
mov ebx, dword [0x100ba1a4]
add ebx, 0x10
mov dword [ebp - 0x28], ebx
push 1
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.10029d04
mov ebx, dword [0x100ba1a4]
add ebx, 0x18
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.10029d04
jmp 0x10050ba4
mov ebx, dword [0x100ba1a4]
add ebx, 0x10
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.10029d04
mov ebx, dword [0x100ba1a4]
add ebx, 0x18
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.10029d04
mov ebx, dword [0x100ba1a4]
add ebx, 0x38
mov dword [ebp - 0x28], ebx
push 0
mov ebx, dword [ebp - 0x28]
push dword [ebx + 4]
push dword [ebx]
call fcn.10029d04
jmp 0x10050be7
cmp dword [ebp - 0x1c], 1
jne 0x10050bc9
mov dword [ebp - 0x1c], 0
push 0
call fcn.10050c36
call fcn.100550e0
push 0x80000301
push 0
push 0x64
push 1
mov ebx, 0x67c
call fcn.1006ba90
add esp, 0x10
jmp 0x1004fc3c
push 0
call fcn.10050c36
call fcn.100550e0
mov dword [ebp - 0x18], 0
mov ebx, dword [0x100b9e24]
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.1006953e
add esp, 4
mov ebx, dword [ebp - 0x24]
push ebx
call fcn.1006953e
add esp, 4
mov esp, ebp
pop ebp
ret