Function at 0x418c90
Capabilities:
Log keystrokes via polling

Disassembly:
sub esp, 0x14
push ebx
xor ebx, ebx
cmp byte [0x44f64c], bl
je 0x418cab
call fcn.0041e060
test al, al
je 0x41a03e
push esi
mov esi, dword [0x8c016c]
push 0xc5d3b0
mov dword [0x8c016c], ebx
call dword [sym.imp.USER32.dll_GetKeyboardState]
mov edx, dword [0xd5fbf0]
mov al, 0x80
mov ecx, 0x4000
test byte [edx + 0xc5d3b0], al
je 0x418cde
add dword [0x8c016c], ecx
mov edx, dword [0xd5fbc8]
push edi
mov edi, 1
test byte [edx + 0xc5d3b0], al
je 0x418cf8
add dword [0x8c016c], edi
mov edx, dword [0xd5fbcc]
test byte [edx + 0xc5d3b0], al
je 0x418d0d
add dword [0x8c016c], 2
mov edx, dword [0xd5fbd0]
test byte [edx + 0xc5d3b0], al
je 0x418d22
add dword [0x8c016c], 0x10
mov edx, dword [0xd5fbd4]
test byte [edx + 0xc5d3b0], al
je 0x418d37
add dword [0x8c016c], 0x20
test dword [0x8c016c], ecx
mov ecx, dword [0xd5fbd8]
mov edx, 0x2000
je 0x418d72
test byte [ecx + 0xc5d3b0], al
je 0x418d5c
add dword [0x8c016c], 0x1000
mov ecx, dword [0xd5fbdc]
test byte [ecx + 0xc5d3b0], al
je 0x418d96
add dword [0x8c016c], edx
jmp 0x418d96
test byte [ecx + 0xc5d3b0], al
je 0x418d81
add dword [0x8c016c], 4
mov ecx, dword [0xd5fbdc]
test byte [ecx + 0xc5d3b0], al
je 0x418d96
add dword [0x8c016c], 8
mov ecx, dword [0xd5fbe8]
test byte [ecx + 0xc5d3b0], al
je 0x418dae
add dword [0x8c016c], 0x1000
mov ecx, dword [0xd5fbec]
test byte [ecx + 0xc5d3b0], al
je 0x418dc2
add dword [0x8c016c], edx
mov edx, dword [0xd5fbf4]
test byte [edx + 0xc5d3b0], al
je 0x418dd7
add dword [0x8c016c], 0x40
mov ecx, dword [0xd5fc00]
test byte [ecx + 0xc5d3b0], al
je 0x418df7
test esi, 0x100
jne 0x418df7
add dword [0x8c016c], 0x100
fild dword [0x1493f00]
fdiv qword [0x4415d0]
fstp dword [0xd7f858]
cmp dword [0xb10860], ebx
je 0x418e1e
call fcn.00418800
cmp dword [0xb10860], ebx
jne 0x418e23
call fcn.00417cd0
fld dword [0xc5d4ec]
fld qword [0x441988]
fdivr st(1)
fstp dword [0x58f6f0]
fld st(0)
fchs
fdiv qword [0x441cc8]
fstp dword [0xc5e4f8]
fld st(0)
fldz
fld st(0)
fucomp st(2)
fnstsw ax
fstp st(1)
fld dword [0xd7f858]
fld qword [0x4418c8]
test ah, 0x44
jnp 0x418ead
fld st(3)
fsub st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fabs
fstp dword [esp + 0x10]
fsub dword [esp + 0x10]
fmul qword [0x441700]
fadd qword [0x441cc0]
fmul st(1)
fsubp st(3)
fxch st(2)
fstp dword [0xc5d4ec]
fcom dword [0xc5d4ec]
fnstsw ax
test ah, 1
jne 0x418eb5
fst dword [0xc5d4ec]
fstp dword [0x691590]
jmp 0x418eb7
fstp st(3)
fstp st(1)
fstp st(1)
jmp 0x418eb7
fstp st(0)
mov edx, dword [0xd748dc]
fld qword [0x4421f8]
or edx, dword [0xd5fca0]
fld dword [0x4421f0]
je 0x418f1f
fld dword [0x173aac8]
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x418ee6
fst dword [0x173aac8]
fld dword [0x173aac8]
fld st(0)
fsub st(3)
fmul qword [0x4416b0]
fadd qword [0x4421e8]
fmulp st(4)
fsubrp st(3)
fxch st(2)
fstp dword [0x173aac8]
fld dword [0x173aac8]
fcompp
fnstsw ax
test ah, 5
jp 0x418f87
fstp dword [0x173aac8]
jmp 0x418f89
fstp st(1)
fstp st(0)
fld dword [0x173aac8]
fld qword [0x4418a0]
fcom st(1)
fnstsw ax
fld dword [0x441b40]
test ah, 5
jp 0x418f52
fstp st(2)
fxch st(1)
fst dword [0x173aac8]
fld dword [0x173aac8]
fxch st(2)
fxch st(1)
fld st(2)
fsubr st(2)
fmul qword [0x4416b0]
fadd qword [0x4421e8]
fmulp st(4)
fxch st(3)
faddp st(2)
fxch st(1)
fstp dword [0x173aac8]
fld dword [0x173aac8]
fcompp
fnstsw ax
test ah, 0x41
jne 0x418f87
fstp dword [0x173aac8]
jmp 0x418f89
fstp st(0)
fld dword [0xc5fbb4]
sub esp, 8
fstp dword [esp + 4]
fld dword [0x9107bc]
fstp dword [esp]
call fcn.0040ec80
fstp dword [esp + 0x18]
fld dword [0xc5fbb4]
fstp dword [esp + 4]
fld dword [0x9107bc]
fstp dword [esp]
call fcn.0040e9a0
fsub qword [0x441608]
fstp dword [esp + 0x14]
fld dword [0xc5fbb4]
fstp dword [esp + 4]
fld dword [0x9107bc]
fstp dword [esp]
call fcn.00410b90
add esp, 8
fstp dword [esp + 0x14]
fld dword [esp + 0x10]
cmp dword [0xb10860], ebx
jne 0x41922e
fld dword [0xc5e7a8]
fld dword [0xd7f858]
cmp dword [0xd748dc], ebx
jne 0x419038
fxch st(1)
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x41902e
fld dword [0x58f6dc]
fld st(2)
fmul qword [0x4421e0]
fsubp st(1)
fstp dword [0x58f6dc]
fld dword [0x58f6dc]
fldz
jmp 0x41907e
fldz
fld dword [0x58f6dc]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x419076
fld st(2)
fmul qword [0x441bb8]
faddp st(1)
fstp dword [0x58f6dc]
fld dword [0x58f6dc]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x419076
fstp st(0)
fst dword [0x58f6dc]
fld dword [0x58f6dc]
fxch st(2)
fxch st(3)
fxch st(2)
fxch st(1)
cmp dword [0x8be154], ebx
je 0x419096
fstp st(1)
fst dword [0x58f6dc]
fld dword [0x58f6dc]
fxch st(1)
fld st(1)
fmul st(4)
faddp st(3)
fxch st(2)
fstp dword [0xc5e7a8]
fld dword [0xc5e7a8]
fld dword [0x173aac8]
fld st(0)
faddp st(2)
fld dword [esp + 0xc]
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 5
jp 0x41913a
fxch st(2)
fcom st(3)
fnstsw ax
test ah, 0x41
jne 0x4190e2
fstp st(0)
fld dword [0x4418fc]
fstp dword [0x58f6dc]
fld dword [0x58f6dc]
fld st(1)
fsub st(3)
fstp dword [0xc5e7a8]
fld dword [0xc5e7a8]
fcomp st(6)
fnstsw ax
test ah, 5
jp 0x41913e
fstp st(2)
fxch st(4)
fst dword [0xc5e7a8]
fld st(0)
fsubp st(5)
fxch st(4)
fstp dword [0x173aac8]
fld dword [0x173aac8]
fcom qword [0x4421f8]
fnstsw ax
test ah, 5
jp 0x419142
fstp st(0)
fld dword [0x4421f0]
fstp dword [0x173aac8]
fld dword [0x173aac8]
jmp 0x419142
fstp st(1)
jmp 0x419142
fstp st(1)
fxch st(1)
fld dword [0xc5e7a8]
fcom st(5)
fnstsw ax
test ah, 5
jp 0x419234
fxch st(2)
fcom qword [0x4421d8]
fnstsw ax
test ah, 5
jp 0x419178
fld qword [0x441630]
fdivr st(1)
faddp st(2)
fxch st(1)
fstp dword [0x173aac8]
jmp 0x41917a
fstp st(1)
fld st(4)
fsub qword [0x441cc0]
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 0x41
jne 0x419197
fxch st(1)
fstp dword [0xc5e7a8]
jmp 0x419199
fstp st(1)
fld st(3)
fld dword [0xc5e7a8]
fld st(0)
fsubp st(2)
fxch st(1)
fadd qword [0x4418c8]
fmulp st(4)
fxch st(3)
fmul qword [0x441700]
faddp st(3)
fxch st(2)
fstp dword [0xc5e7a8]
fld dword [0xc5e7a8]
fcomp st(3)
fnstsw ax
test ah, 0x41
jne 0x4191da
fxch st(2)
fstp dword [0xc5e7a8]
jmp 0x4191dc
fstp st(2)
fcomp dword [0x4421d0]
fnstsw ax
test ah, 5
jp 0x419226
mov ecx, dword [0x19924b0]
fstp st(0)
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
sub ecx, eax
add ecx, ecx
add ecx, ecx
mov edx, dword [ecx + ecx + 0xb1086c]
mov eax, dword [ecx + ecx + 0xb10868]
add ecx, ecx
push 0x40
push edx
push eax
call fcn.00401430
add esp, 0xc
fldz
fst dword [0x58f6dc]
jmp 0x41923e
fstp st(0)
fldz
jmp 0x41923e
fstp st(5)
fstp st(0)
fstp st(3)
fstp st(2)
fstp st(0)
mov esi, dword [0xd748dc]
xor ecx, ecx
mov dword [0x148f870], ecx
cmp esi, ebx
jne 0x41928a
test byte [0x8c016c], 0x40
je 0x41928a
fld dword [esp + 0x14]
fsub qword [0x4421c8]
fld dword [0xc5e7a8]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x419288
fstp dword [0xc5e7a8]
mov ecx, edi
mov dword [0x148f870], ecx
fstp dword [0x58f6dc]
jmp 0x41928c
fstp st(0)
fstp st(0)
fld dword [0xd7f83c]
fstp dword [esp + 0xc]
fld1
cmp ecx, ebx
je 0x4192c7
fstp st(0)
fild dword [0x19924b0]
fdiv qword [0x4421c0]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
call fcn.004303a0
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fmul qword [0x442160]
jmp 0x41932d
fld dword [0x1969c88]
fabs
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld dword [0x692598]
fabs
fstp dword [esp + 0x14]
fadd dword [esp + 0x14]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4192f4
fstp st(0)
jmp 0x4192f6
fstp st(1)
fstp qword [esp + 0x18]
fild dword [0x19924b0]
fdiv qword [0x441cc0]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
call fcn.004303a0
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld qword [esp + 0x18]
fstp dword [esp + 0x14]
fmul dword [esp + 0x14]
fmul qword [0x4421b8]
fstp dword [0xd7f83c]
fld dword [0xd7f83c]
fsub dword [esp + 0xc]
fstp dword [esp + 0xc]
cmp esi, ebx
jne 0x419459
fld dword [0xc5e7a8]
fld dword [esp + 0x10]
fadd qword [0x441608]
fcompp
fnstsw ax
test ah, 0x41
jne 0x419459
fldz
fcom dword [esp + 0xc]
fnstsw ax
test ah, 0x41
jne 0x419457
fcomp dword [0xd748a8]
fnstsw ax
test ah, 0x41
jp 0x419459
cmp dword [0x58f6e8], ebx
je 0x419406
fld dword [0x441720]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [0xc5d4b8]
fstp dword [esp + 4]
fld dword [0xd74904]
fstp dword [esp]
call fcn.00410c10
mov ecx, dword [0x19924b0]
fld dword [0x1969c88]
fmul qword [0x4421b0]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*2]
sub ecx, edx
add ecx, ecx
add ecx, ecx
lea esi, [ecx + ecx]
call fcn.00430550
mov edx, dword [esi + 0x1969c6c]
mov ecx, 0x40
sub ecx, eax
mov eax, dword [esi + 0x1969c68]
push ecx
push edx
push eax
call fcn.00401430
add esp, 0x18
jmp 0x419459
mov ecx, dword [0x19924b0]
fld dword [0x1969c88]
fmul qword [0x4421a8]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*2]
sub ecx, edx
add ecx, ecx
add ecx, ecx
lea esi, [ecx + ecx]
call fcn.00430550
mov edx, dword [esi + 0xb1086c]
mov ecx, 0x18
sub ecx, eax
mov eax, dword [esi + 0xb10868]
push ecx
push edx
push eax
call fcn.00401430
add esp, 0xc
jmp 0x419459
fstp st(0)
fld dword [esp + 0xc]
fstp dword [0xd748a8]
fld dword [0x4421a4]
fld dword [0xc5e780]
fcom st(1)
fnstsw ax
fld dword [0x4421a0]
test ah, 0x41
jne 0x41948a
fstp st(0)
fstp st(0)
fstp dword [0xc5e780]
jmp 0x41949f
fstp st(2)
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x41949d
fstp dword [0xc5e780]
jmp 0x41949f
fstp st(0)
cmp dword [0xb10860], ebx
jne 0x419513
fld dword [0xd74908]
fadd dword [0x58f6f0]
fstp dword [0xb1091c]
fld dword [0xc5e780]
fadd dword [0xc5e4f8]
fstp dword [0xd748c0]
fld dword [0xd5fca4]
fld dword [0xc5d4ec]
fld st(0)
fmulp st(2)
fxch st(1)
fsubr dword [0x9107bc]
fstp dword [0xd74904]
fld dword [0xc5e7a8]
fadd dword [0x173aac8]
fadd dword [0xd7f83c]
fstp dword [0x1969c84]
fmul dword [0xd7f844]
fadd dword [0xc5fbb4]
fstp dword [0xc5d4b8]
cmp dword [0x1493f04], ebx
je 0x4195af
fldz
fld dword [0x44ec38]
fcom st(1)
fnstsw ax
fld qword [0x441658]
fld st(1)
test ah, 5
jp 0x419546
fmul qword [0x441b18]
fsubr qword [0x442198]
jmp 0x41954e
fmul st(1)
fadd qword [0x442198]
fstp dword [0x6925ac]
fld st(1)
fabs
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fmul qword [0x442190]
call fcn.00430550
mov ecx, 0x17c
sub ecx, eax
mov dword [0x8c0164], ecx
cmp dword [0xd748dc], ebx
je 0x4195c7
fxch st(1)
fcom qword [0x442158]
fnstsw ax
test ah, 0x41
jne 0x419593
fstp st(0)
jmp 0x419595
fstp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmulp st(1)
fsubr dword [0x6925ac]
fstp dword [0x6925ac]
jmp 0x4195cd
fld dword [0x441780]
mov dword [0x8c0164], 0x17c
fstp dword [0x6925ac]
jmp 0x4195cd
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [0xc5d4b8]
sub esp, 8
fstp dword [esp + 4]
fld dword [0xd74904]
fstp dword [esp]
call fcn.00410b90
fstp qword [esp + 0x20]
fld dword [0xc5d4b8]
fstp dword [esp + 4]
fld dword [0xd74904]
fstp dword [esp]
call fcn.0040e320
fcomp qword [esp + 0x20]
add esp, 8
fnstsw ax
test ah, 5
jp 0x41964b
fld dword [0xc5e7a8]
sub esp, 8
fstp qword [esp + 0x20]
fld dword [0xc5d4b8]
fstp dword [esp + 4]
fld dword [0xd74904]
fstp dword [esp]
call fcn.00410b90
fcomp qword [esp + 0x20]
add esp, 8
mov dword [0x58f6e8], edi
fnstsw ax
test ah, 0x41
je 0x419651
mov dword [0x58f6e8], ebx
fld dword [0xc5d4b8]
sub esp, 8
fstp dword [esp + 4]
fld dword [0xd74904]
fstp dword [esp]
cmp dword [0xd748dc], ebx
je 0x4196cb
call fcn.00410b90
fsub qword [0x441700]
fld dword [0x1969c84]
add esp, 8
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x419699
mov dword [0xd748dc], edi
jmp 0x41975b
fld dword [0x173aac8]
mov edx, dword [0x1493cdc]
fld qword [0x442160]
mov eax, dword [0x1493cd8]
fadd st(1), st(0)
push 0x100
fxch st(1)
push edx
mov dword [0xd748dc], ebx
fstp dword [0x173aac8]
push eax
faddp st(1)
jmp 0x419725
call fcn.00410b90
fadd qword [0x442188]
fld dword [0x1969c84]
add esp, 8
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x419895
fld dword [0x173aac8]
mov ecx, dword [0x174bedc]
fld qword [0x442160]
mov edx, dword [0x174bed8]
fsub st(1), st(0)
push 0x100
fxch st(1)
push ecx
mov dword [0xd748dc], edi
fstp dword [0x173aac8]
mov dword [0x1750470], ebx
push edx
fsubp st(1)
fstp dword [0x1969c84]
call fcn.00401430
fld dword [0x4416dc]
fstp dword [esp + 8]
fld dword [0xc5d4b8]
fstp dword [esp + 4]
fld dword [0xd74904]
fstp dword [esp]
call fcn.00410c10
fld dword [0x1969c84]
add esp, 0xc
mov ecx, dword [0x19504c0]
cmp ecx, ebx
je 0x4198a0
mov edx, dword [0xd748dc]
cmp edx, ebx
je 0x4198dc
fld dword [0xc5d4b8]
mov eax, dword [0x1493f00]
fld dword [0xd7f844]
push edi
fld qword [0x441608]
push 4
fmul st(1), st(0)
sub esp, 0xc
fld dword [0xd5fbb8]
lea edx, [eax*8]
fld st(0)
sub edx, eax
fmulp st(3)
neg edx
fxch st(3)
lea eax, [ecx + edx*2]
mov dword [0x19504c0], eax
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 8]
fxch st(2)
fsub qword [0x4418c8]
fld dword [0x44ec38]
fmul st(3)
fsubp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [0xd5fca4]
fmulp st(2)
fmulp st(1)
fadd dword [0xd74904]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
call fcn.0040fd50
add esp, 0x14
cmp dword [0x19504c0], ebx
jg 0x4198a2
fld dword [0xc5d4b8]
push 0x14
fld dword [0xd7f844]
push 4
fld qword [0x441608]
sub esp, 0xc
fmul st(1), st(0)
fld dword [0xd5fbb8]
fld st(0)
fmulp st(3)
fxch st(3)
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 8]
fld dword [0x1969c84]
fsub qword [0x4418c8]
fld dword [0x44ec38]
fmul st(2)
fsubp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fmul dword [0xd5fca4]
fmulp st(1)
fadd dword [0xd74904]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
call fcn.0040fd50
push edi
push ebx
call fcn.00401f90
add esp, 0x1c
jmp 0x4198a2
mov dword [0xd748dc], ebx
jmp 0x41975b
fstp st(0)
mov edx, dword [0xd748dc]
cmp edx, ebx
je 0x4198de
cmp dword [0x19a27a8], ebx
je 0x4198b9
call fcn.0040f690
mov edx, dword [0xd748dc]
cmp edx, ebx
je 0x4198de
mov eax, dword [0x1493ee4]
cmp eax, 0x200
jge 0x4198e6
add eax, dword [0x1493f00]
mov dword [0x1493ee4], eax
jmp 0x4198f0
fstp st(0)
mov dword [0x1493ee4], ebx
jmp 0x4198f0
mov dword [0x1493ee4], 0x200
fld qword [0x441b10]
mov eax, dword [0x107f860]
fild dword [0x107f860]
pop edi
fstp dword [esp + 8]
fild dword [0xc5e4fc]
fstp dword [esp + 0xc]
fld dword [esp + 8]
fld st(0)
fld dword [esp + 0xc]
fld st(0)
fdivp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fmul dword [esp + 0x10]
cmp edx, ebx
je 0x419b59
fld st(0)
fld qword [0x4414c0]
fmul st(1), st(0)
fxch st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [0x9107cc]
fxch st(2)
fdivrp st(3)
fld dword [0x9107cc]
fmul st(3)
fstp dword [0xd5fbc0]
cmp eax, 0x280
jne 0x419af5
cmp dword [0xc5e4fc], 0x1e0
je 0x419b3c
fstp st(2)
fstp st(0)
fstp st(1)
fild dword [0x1493ee4]
fmul qword [0x441990]
fmul qword [0x441548]
fmulp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
call fcn.004303a0
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld1
fsubrp st(1)
fstp qword [esp + 0x14]
fild dword [0x19924b0]
fstp dword [esp + 8]
fld dword [esp + 8]
fdiv qword [0x441500]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
call fcn.00430270
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld1
fadd st(1), st(0)
fxch st(1)
fdiv qword [0x442180]
faddp st(1)
fld qword [esp + 0x14]
fdiv qword [0x441848]
faddp st(1)
fmul dword [0xd5fbc0]
fstp dword [0xd5fbc0]
fld dword [esp + 0xc]
call fcn.004303a0
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld1
fadd st(1), st(0)
fxch st(1)
fdiv qword [0x442180]
faddp st(1)
fld qword [esp + 0x14]
fmul qword [0x441798]
fsubp st(1)
fmul dword [0x9107cc]
fstp dword [0x9107cc]
fld dword [esp + 8]
fdiv qword [0x4421c0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
call fcn.00430270
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fdiv qword [0x441598]
fadd dword [0xb1091c]
fstp dword [0xb1091c]
fld dword [esp + 0xc]
call fcn.004303a0
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld qword [0x441630]
fdivr st(1)
fadd dword [0xd748c0]
fstp dword [0xd748c0]
fld dword [0x1969c84]
fxch st(1)
fmul qword [0x441700]
fsubp st(1)
fstp dword [0x1969c84]
fld dword [0xc5d4b8]
call fcn.00430550
fld dword [0xd74904]
mov esi, eax
sar esi, 8
shl esi, 0xa
call fcn.00430550
sar eax, 8
movzx eax, byte [esi + eax + 0xf7f860]
shl eax, 4
mov ecx, dword [eax + 0x6915a4]
fild dword [eax + 0x69159c]
fstp dword [0xc5f1a0]
fld dword [0x9107cc]
mov dword [0xc5f19c], ecx
fld qword [0x441b10]
jmp 0x419b9c
cmp eax, 0x320
jne 0x419b0b
cmp dword [0xc5e4fc], 0x258
jmp 0x419971
cmp eax, 0x400
jne 0x419b21
cmp dword [0xc5e4fc], 0x300
jmp 0x419971
cmp eax, 0x500
jne 0x419977
cmp dword [0xc5e4fc], 0x400
jne 0x419977
fxch st(1)
fmulp st(3)
fxch st(2)
fstp dword [0x9107cc]
fmul dword [0x9107cc]
fstp dword [0xd5fbc0]
jmp 0x41997d
fld qword [0x4414c0]
fmul st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [0x9107cc]
fxch st(1)
fdivrp st(2)
fld dword [0x9107cc]
fld st(0)
fmul st(3)
fstp dword [0xd5fbc0]
cmp eax, 0x280
jne 0x419bc7
cmp dword [0xc5e4fc], 0x1e0
je 0x419c00
fstp st(2)
fstp st(0)
fxch st(1)
cmp dword [0x1750470], ebx
je 0x419c21
fld dword [0x44d810]
fld st(0)
fmul dword [0xd5fbc0]
fstp dword [0xd5fbc0]
fmulp st(2)
fxch st(1)
fstp dword [0x9107cc]
jmp 0x419c8b
cmp eax, 0x320
jne 0x419bda
cmp dword [0xc5e4fc], 0x258
jmp 0x419b94
cmp eax, 0x400
jne 0x419bed
cmp dword [0xc5e4fc], 0x300
jmp 0x419b94
cmp eax, 0x500
jne 0x419b96
cmp dword [0xc5e4fc], 0x400
jne 0x419b96
fstp st(0)
fmul st(2)
fstp dword [0x9107cc]
fld dword [0x9107cc]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [0xd5fbc0]
jmp 0x419b9a
cmp dword [0xd748ac], ebx
je 0x419c4b
fld dword [0xd5fbc0]
fld qword [0x4414f8]
fmul st(1), st(0)
fxch st(1)
fstp dword [0xd5fbc0]
fmulp st(2)
fxch st(1)
fstp dword [0x9107cc]
jmp 0x419c8b
cmp dword [0x19a27a8], 2
jne 0x419c89
mov eax, dword [0x148fcc8]
fld dword [0xd5fbc0]
imul eax, eax, 0xd4
fmul dword [eax + 0x1992758]
fstp dword [0xd5fbc0]
fld dword [eax + 0x1992758]
fmulp st(2)
fxch st(1)
lea eax, [eax + 0x1992758]
fstp dword [0x9107cc]
jmp 0x419c8b
fstp st(1)
fild dword [0x19924ac]
fmulp st(1)
fdivr dword [0xd5fbc0]
fstp dword [0x148fcc4]
call fcn.0041cc50
cmp dword [0x148f870], ebx
je 0x419d42
test byte [0xb10884], 0x1f
jne 0x419ce1
fld dword [0x4418d0]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [0xc5d4b8]
fstp dword [esp + 4]
fld dword [0xd74904]
fstp dword [esp]
call fcn.00410c10
add esp, 0xc
fld dword [0xd748c0]
fstp qword [esp + 0x14]
fild dword [0x19924b0]
fdiv qword [0x4421c0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
call fcn.00430270
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fdiv qword [0x441cc0]
fsubr qword [esp + 0x14]
fstp dword [0xd748c0]
fld dword [0xd7f858]
fmul qword [0x4418c8]
fld dword [0x9107bc]
fadd st(1)
fstp dword [0x9107bc]
fadd dword [0xc5fbb4]
fstp dword [0xc5fbb4]
fld dword [0xc5d4b8]
call fcn.00430550
fld dword [0xd74904]
mov esi, eax
and esi, 0xfffffe00
call fcn.00430550
sar eax, 9
movzx ecx, byte [esi + eax + 0x54f6d0]
mov dword [0x44f660], ecx
cmp dword [0xd748dc], ebx
je 0x419d84
mov ecx, 0x7f
mov dword [0x44f660], ecx
lea edx, [ecx + ecx*4]
add edx, edx
fld dword [edx + edx + 0xc5e7b4]
add edx, edx
fmul qword [0x441608]
fld dword [0x1969c84]
fcompp
fnstsw ax
test ah, 5
jp 0x419e69
xor eax, eax
cmp ecx, ebx
setg al
mov dword [0x153aa6c], eax
cmp eax, ebx
je 0x419df8
mov eax, dword [0x19504c0]
cmp eax, ebx
je 0x419df8
cmp dword [edx + 0xc5e7b8], ebx
je 0x419df8
cmp eax, 0x186a0
jle 0x419dd8
mov eax, 0x186a0
mov edx, dword [0x1493f00]
neg edx
shl edx, 6
add eax, edx
mov dword [0x19504c0], eax
cmp eax, ebx
jg 0x419df8
push ebx
push ebx
call fcn.00401f90
add esp, 8
fld dword [0xc5d4b8]
call fcn.00430550
fld dword [0xd74904]
mov esi, eax
and esi, 0xfffffe00
call fcn.00430550
sar eax, 9
movzx esi, byte [esi + eax + 0xb18968]
cmp dword [0xd748dc], ebx
je 0x419e71
mov eax, dword [0x6925a0]
mov ecx, dword [0x69259c]
push 0xf0
push eax
push ecx
call fcn.00401350
fild dword [0x14c11f8]
add esp, 8
fmul qword [0x441618]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp]
push 8
call fcn.00401330
add esp, 8
jmp 0x419fa7
mov dword [0x153aa6c], ebx
jmp 0x419df8
imul esi, esi, 0x114
mov edx, dword [esi + 0x173abe4]
mov eax, dword [esi + 0x173aadc]
mov ecx, dword [esi + 0x173aad8]
push edx
push eax
push ecx
call fcn.00401350
movzx edx, word [esi + 0x173aaec]
fild dword [0x14c11f8]
add esp, 8
fmul qword [0x441618]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp]
push edx
call fcn.00401330
add esp, 8
cmp dword [esi + 0x173abe0], ebx
je 0x419fa7
mov eax, dword [0x1493f00]
sub dword [esi + 0x173abe8], eax
cmp dword [esi + 0x173abe8], ebx
jg 0x419fa7
mov ecx, dword [esi + 0x173aae8]
push ecx
call fcn.0041ad70
mov ecx, eax
mov eax, dword [esi + 0x173aae8]
cdq
sub eax, edx
sar eax, 1
add ecx, eax
imul ecx, ecx, 0x3e8
add esp, 4
mov dword [esi + 0x173abe8], ecx
call fcn.0043061c
cdq
idiv dword [esi + 0x173abe0]
add edx, edx
lea eax, [esi + edx*8]
mov edx, dword [eax + 0x173aae4]
mov esi, dword [eax + 0x173aae0]
push edx
push 0x1000
call fcn.0041ad40
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fadd dword [0xc5d4b8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
push 0x100
call fcn.0041ad40
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fadd dword [0x1969c84]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
push 0x1000
call fcn.0041ad40
mov ecx, dword [esi*8 + 0x19504c8]
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
mov eax, dword [esi*8 + 0x19504cc]
fadd dword [0xd74904]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push eax
push ecx
call fcn.004013b0
add esp, 0x18
pop esi
cmp dword [0x44f658], ebx
je 0x419fc2
fld dword [0x1969c84]
fadd qword [0x441b18]
fstp dword [0x1969c84]
fld dword [0x4421a4]
fld dword [0xd748c0]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x419fe1
fstp st(0)
fstp dword [0xd748c0]
jmp 0x419ff6
fstp st(1)
fld dword [0x4421a0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x419fd9
fstp st(0)
fld dword [0x9107bc]
fstp dword [0xd748c4]
fld dword [0xc5e7a8]
fstp dword [0xd748c8]
fld dword [0xc5fbb4]
fstp dword [0xd748cc]
fld dword [0xd74904]
fstp dword [0x6925b4]
fld dword [0x1969c84]
fstp dword [0x6925b8]
fld dword [0xc5d4b8]
fstp dword [0x6925bc]
pop ebx
add esp, 0x14
ret