Function at 0x4076f4
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x80
push esi
mov esi, ecx
fld qword [esi + 0xb78]
mov ecx, dword [esi + 0x1b0]
fstp qword [ebp - 0x18]
cmp ecx, 0xa
je 0x4077cb
fld qword [esi + 0x1f8]
fcomp qword [0x46f2a0]
fnstsw ax
test ah, 0x41
jp 0x4077cb
cmp ecx, 9
je 0x4077cb
lea ecx, [esi + 0x150]
fld qword [ecx]
fcomp qword [0x46f450]
fnstsw ax
test ah, 0x41
jne 0x4077f2
fld qword [ecx]
fcomp qword [0x46f2e0]
fnstsw ax
test ah, 5
jp 0x4077f2
lea ecx, [esi + 0x158]
fld qword [ecx]
fcomp qword [0x46f450]
fnstsw ax
test ah, 0x41
jne 0x4077f2
fld qword [ecx]
fcomp qword [0x46f2e0]
fnstsw ax
test ah, 5
jp 0x4077f2
fild dword [esi + 0xc28]
fcomp dword [esi + 0xc2c]
fnstsw ax
test ah, 0x44
jp 0x4077f2
fld qword [esi + 0x1e0]
fcomp qword [0x46f2a0]
fnstsw ax
test ah, 0x44
jp 0x4077f2
fld qword [ebp - 0x18]
fcomp qword [0x46f448]
fnstsw ax
test ah, 5
jp 0x4077f2
cmp byte [esi + 0x2b6], 0
jne 0x4077f2
push 0xa
jmp 0x4077ec
cmp dword [esi + 0x26c4], 0
je 0x4077e1
cmp byte [esi + 0x2b6], 0
jne 0x4077f2
push 1
jmp 0x4077ec
cmp byte [esi + 0x2b6], 0
jne 0x4077f2
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
fld qword [esi + 0x210]
fcomp qword [0x46f2a0]
fnstsw ax
test ah, 0x41
jne 0x40781e
fld qword [ebp - 0x18]
fcomp qword [esi + 0x210]
fnstsw ax
test ah, 0x41
jne 0x40781e
fld qword [esi + 0x210]
fstp qword [ebp - 0x18]
push ebx
push edi
lea edi, [esi + 0x294]
push edi
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x40]
lea ebx, [esi + 0x26c0]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_GetClientRect]
push edi
push dword [ebx]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [esi + 0x2c0]
mov ecx, dword [esi + 0x2c4]
add dword [edi], eax
mov ebx, dword [ebp - 0x38]
lea eax, [esi + 0x298]
mov edi, dword [edi]
mov dword [ebp - 4], edi
add dword [eax], ecx
mov ecx, dword [eax]
mov eax, ebx
mov dword [ebp - 0xc], ecx
cdq
fild dword [ebp - 4]
sub eax, edx
sar eax, 1
cmp edi, eax
jge 0x407882
dec eax
mov dword [ebp - 4], eax
fild dword [ebp - 4]
jmp 0x40788b
dec ebx
fadd st(0), st(0)
mov dword [ebp - 4], ebx
fild dword [ebp - 4]
fdivp st(1)
mov edi, dword [ebp - 0x34]
mov eax, edi
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
fsub qword [0x46f370]
fmul qword [0x46f348]
fstp qword [ebp - 8]
fild dword [ebp - 0xc]
jge 0x4078b6
dec eax
mov dword [ebp - 0xc], eax
fild dword [ebp - 0xc]
jmp 0x4078bf
dec edi
fadd st(0), st(0)
mov dword [ebp - 0xc], edi
fild dword [ebp - 0xc]
fdivp st(1)
sub esp, 0x10
lea ebx, [esi + 0x140]
fsubr qword [0x46f370]
fmul qword [0x46f318]
fstp qword [ebp - 0x20]
fld qword [0x46f340]
fstp qword [esp + 8]
fld qword [ebx]
fstp qword [esp]
call fcn.00462830
fstp qword [ebx]
fld qword [0x46f340]
lea edi, [esi + 0x148]
fstp qword [esp + 8]
fld qword [edi]
fstp qword [esp]
call fcn.00462830
fst qword [edi]
fld qword [ebx]
fcomp qword [0x46f348]
fld qword [ebx]
add esp, 0x10
fnstsw ax
test ah, 0x41
jne 0x407927
fsub qword [0x46f340]
jmp 0x40793c
fcomp qword [0x46f440]
fnstsw ax
test ah, 5
jp 0x40793e
fld qword [ebx]
fadd qword [0x46f340]
fstp qword [ebx]
fcom qword [0x46f318]
fnstsw ax
test ah, 0x41
jne 0x407955
fstp st(0)
fld qword [0x46f318]
jmp 0x407968
fcomp qword [0x46f438]
fnstsw ax
test ah, 5
jp 0x40796a
fld qword [0x46f438]
fstp qword [edi]
mov ecx, dword [esi + 0x1b0]
cmp ecx, 0xa
jne 0x4079eb
fld qword [ebp - 0x18]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [0x46f2b8]
fstp qword [esp]
call fcn.004622b9
fmul qword [esi + 0x1e8]
lea ecx, [esi + 0x188]
add esp, 0x10
fst qword [esi + 0x1e8]
fcomp qword [ecx]
fnstsw ax
test ah, 0x41
jp 0x4079b3
fld qword [ecx]
fstp qword [esi + 0x1e8]
fld qword [ebp - 0x18]
fadd qword [esi + 0x1f8]
fst qword [esi + 0x1f8]
fcomp qword [esi + 0x200]
fnstsw ax
test ah, 1
jne 0x408616
fld qword [esi + 0x208]
and dword [esi + 0x1b0], 0
fstp qword [esi + 0x1f8]
jmp 0x408616
fld qword [esi + 0x1f8]
fcomp qword [0x46f2a0]
fnstsw ax
test ah, 0x41
jne 0x407acd
fld qword [esi + 0x1e8]
fcomp qword [esi + 0x170]
fnstsw ax
test ah, 0x41
jne 0x407a4b
fld qword [ebp - 0x18]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [0x46f2c0]
fstp qword [esp]
call fcn.004622b9
fmul qword [esi + 0x1e8]
add esp, 0x10
fst qword [esi + 0x1e8]
fcomp qword [esi + 0x170]
fnstsw ax
test ah, 0x41
jp 0x407aa0
jmp 0x407a94
fld qword [esi + 0x1e8]
fcomp qword [esi + 0x170]
fnstsw ax
test ah, 5
jp 0x407aa0
fld qword [ebp - 0x18]
sub esp, 0x10
fstp qword [esp + 8]
fld1
fdiv qword [0x46f2c0]
fstp qword [esp]
call fcn.004622b9
fmul qword [esi + 0x1e8]
add esp, 0x10
fst qword [esi + 0x1e8]
fcomp qword [esi + 0x170]
fnstsw ax
test ah, 1
jne 0x407aa0
fld qword [esi + 0x170]
fstp qword [esi + 0x1e8]
fld qword [esi + 0x1f8]
fsub qword [ebp - 0x18]
fst qword [esi + 0x1f8]
fcomp qword [0x46f2a0]
fnstsw ax
test ah, 0x41
jp 0x408616
fldz
fstp qword [esi + 0x1f8]
jmp 0x408616
cmp ecx, 9
je 0x407bbe
fld qword [esi + 0x1e0]
fcomp qword [0x46f2a0]
fnstsw ax
test ah, 0x44
jnp 0x407bb5
fld qword [esi + 0x1e8]
fcomp qword [esi + 0x1e0]
fld qword [esi + 0x1e8]
fnstsw ax
test ah, 0x41
jne 0x407b48
fsub qword [ebp - 0x18]
cmp ecx, 5
fst qword [esi + 0x1e8]
fld st(0)
fsub qword [esi + 0x1e0]
fmul qword [ebp - 0x18]
jne 0x407b23
fadd st(0), st(0)
jmp 0x407b29
fmul qword [0x46f430]
fsubr st(1)
fstp qword [esi + 0x1e8]
fstp st(0)
fld qword [esi + 0x1e8]
fcomp qword [esi + 0x1e0]
fnstsw ax
test ah, 0x41
jp 0x407bb5
jmp 0x407ba1
fcomp qword [esi + 0x1e0]
fnstsw ax
test ah, 5
jp 0x407bb5
fld qword [esi + 0x1e8]
fsub qword [esi + 0x1e0]
cmp ecx, 5
fmul qword [ebp - 0x18]
jne 0x407b6d
fadd st(0), st(0)
jmp 0x407b73
fmul qword [0x46f430]
fsubr qword [esi + 0x1e8]
fstp qword [esi + 0x1e8]
fld qword [ebp - 0x18]
fmul qword [0x46f2a8]
fadd qword [esi + 0x1e8]
fst qword [esi + 0x1e8]
fcomp qword [esi + 0x1e0]
fnstsw ax
test ah, 1
jne 0x407bb5
fld qword [esi + 0x1e0]
fstp qword [esi + 0x1e8]
fldz
fstp qword [esi + 0x1e0]
cmp ecx, 9
jne 0x407f19
fld qword [esi + 0x178]
fcomp qword [ebx]
fnstsw ax
test ah, 0x41
jne 0x407bec
fld qword [ebx]
fadd qword [0x46f348]
fcomp qword [esi + 0x178]
fnstsw ax
test ah, 5
jp 0x407bec
fld qword [ebx]
fadd qword [0x46f340]
jmp 0x407c18
fld qword [esi + 0x178]
fcomp qword [ebx]
fnstsw ax
test ah, 5
jp 0x407c1a
fld qword [ebx]
fsub qword [0x46f348]
fcomp qword [esi + 0x178]
fnstsw ax
test ah, 0x41
jne 0x407c1a
fld qword [ebx]
fsub qword [0x46f340]
fstp qword [ebx]
fld qword [esi + 0x180]
fcomp qword [edi]
fnstsw ax
test ah, 0x41
jne 0x407c48
fld qword [edi]
fadd qword [0x46f348]
fcomp qword [esi + 0x180]
fnstsw ax
test ah, 5
jp 0x407c48
fld qword [edi]
fadd qword [0x46f340]
jmp 0x407c74
fld qword [esi + 0x180]
fcomp qword [edi]
fnstsw ax
test ah, 5
jp 0x407c76
fld qword [edi]
fsub qword [0x46f348]
fcomp qword [esi + 0x180]
fnstsw ax
test ah, 0x41
jne 0x407c76
fld qword [edi]
fsub qword [0x46f340]
fstp qword [edi]
cmp byte [esi + 0x2430], 0
je 0x407c87
fld dword [0x46f378]
jmp 0x407c8d
fld dword [0x46f428]
fdivr qword [ebp - 0x18]
fst qword [ebp - 0x10]
fcomp qword [0x46f2a0]
fnstsw ax
test ah, 5
jp 0x407ca4
fldz
jmp 0x407cb6
fld qword [ebp - 0x10]
fcomp qword [0x46f370]
fnstsw ax
test ah, 0x41
jne 0x407cb9
fld1
fstp qword [ebp - 0x10]
fld qword [esi + 0x178]
fsub qword [ebx]
push ecx
push ecx
fst qword [ebp - 8]
fld qword [esi + 0x180]
fsub qword [edi]
fst qword [ebp - 0x28]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fstp qword [esp]
fstp st(0)
fstp st(0)
call fcn.00461b74
fstp qword [ebp - 0x20]
fld qword [ebp - 8]
fcomp qword [0x46f2a0]
pop ecx
pop ecx
fnstsw ax
test ah, 0x41
jne 0x407d16
fld qword [ebp - 0x28]
fdiv qword [ebp - 8]
push ecx
push ecx
fstp qword [esp]
call fcn.00462214
fadd qword [0x46f420]
pop ecx
pop ecx
jmp 0x407d5b
fld qword [ebp - 8]
fcomp qword [0x46f2a0]
fld qword [ebp - 0x28]
fnstsw ax
test ah, 5
jp 0x407d40
fdiv qword [ebp - 8]
push ecx
push ecx
fstp qword [esp]
call fcn.00462214
fadd qword [0x46f418]
pop ecx
pop ecx
jmp 0x407d5b
fcomp qword [0x46f2a0]
fnstsw ax
test ah, 1
jne 0x407d55
fld qword [0x46f410]
jmp 0x407d5b
fld qword [0x46f408]
fstp qword [ebp - 8]
fld qword [ebp - 0x20]
fcomp qword [0x46f370]
fnstsw ax
test ah, 5
jp 0x407d73
fld qword [ebp - 0x20]
jmp 0x407d8e
fld qword [0x46f2d0]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [ebp - 0x20]
fstp qword [esp]
call fcn.004622b9
add esp, 0x10
fmul qword [ebp - 0x10]
push ecx
push ecx
fstp qword [ebp - 0x20]
fld qword [ebp - 8]
fstp qword [esp]
call fcn.004619f4
fmul qword [ebp - 0x20]
fstp qword [ebp - 0x28]
fld qword [ebp - 8]
fstp qword [esp]
call fcn.00461944
fmul qword [ebp - 0x20]
fld qword [ebp - 0x28]
fadd qword [ebx]
fst qword [ebx]
fld st(1)
fadd qword [edi]
fstp qword [edi]
fld qword [esi + 0x178]
fsub st(1)
fstp qword [esp]
fstp st(0)
fstp st(0)
call fcn.004624bd
fcomp qword [0x46f2d0]
pop ecx
pop ecx
fnstsw ax
test ah, 5
jp 0x407e70
fld qword [esi + 0x180]
fsub qword [edi]
push ecx
push ecx
fstp qword [esp]
call fcn.004624bd
fcomp qword [0x46f2d0]
pop ecx
pop ecx
fnstsw ax
test ah, 5
jp 0x407e70
fld qword [esi + 0x200]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [0x46f2b8]
fstp qword [esp]
call fcn.004622b9
fmul qword [esi + 0x1e8]
add esp, 0x10
fcomp qword [esi + 0x188]
fnstsw ax
test ah, 0x41
jp 0x407e47
mov dword [esi + 0x1b0], 0xa
jmp 0x407eaf
fld qword [ebp - 0x18]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [0x46f2b8]
fstp qword [esp]
call fcn.004622b9
fmul qword [esi + 0x1e8]
add esp, 0x10
fstp qword [esi + 0x1e8]
jmp 0x407eaf
fld qword [ebp - 0x18]
fadd st(0), st(0)
fcom qword [0x46f2a0]
fnstsw ax
test ah, 5
jp 0x407e88
fstp st(0)
fldz
jmp 0x407e99
fcom qword [0x46f370]
fnstsw ax
test ah, 0x41
jne 0x407e99
fstp st(0)
fld1
fld qword [esi + 0x170]
lea eax, [esi + 0x1e8]
fsub qword [eax]
fmul st(1)
fadd qword [eax]
fstp qword [eax]
fstp st(0)
mov eax, dword [esi + 0x1b0]
cmp eax, 7
je 0x407ec3
cmp eax, 5
jne 0x408616
cmp byte [esi + 0x2430], 0
jne 0x408616
cmp byte [esi + 0x2ba], 0
jne 0x408600
cmp byte [esi + 0x219], 0
jne 0x408600
cmp byte [esi + 0x218], 0
jne 0x408616
push 0x7f03
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov byte [esi + 0x218], 1
push 1
jmp 0x408610
cmp ecx, 3
jne 0x407f43
fld qword [ebp - 8]
fld st(0)
fsub qword [ebx]
fstp qword [esi + 0x150]
fld qword [ebp - 0x20]
fld st(0)
fsub qword [edi]
fstp qword [esi + 0x158]
fld st(1)
fstp qword [ebx]
fstp qword [edi]
jmp 0x407ead
cmp ecx, 8
jne 0x408041
mov eax, dword [ebp - 0x38]
mov ecx, dword [esi + 0x294]
dec eax
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], ecx
fild dword [ebp - 0xc]
fidiv dword [ebp - 4]
fcom qword [0x46f2a0]
fnstsw ax
test ah, 0x44
jnp 0x407ead
fld qword [ebp - 0x18]
fcomp qword [0x46f2a0]
fnstsw ax
test ah, 0x41
jne 0x407ead
fld qword [esi + 0x1e0]
fcomp qword [0x46f2a0]
fnstsw ax
test ah, 0x44
jp 0x407fad
fld qword [esi + 0x1e8]
fstp qword [esi + 0x1e0]
fcom qword [0x46f2a0]
fmul qword [ebp - 0x18]
fmul qword [0x46f400]
fnstsw ax
test ah, 0x41
jne 0x407fd1
fadd qword [0x46f370]
fdivr qword [esi + 0x1e0]
jmp 0x407fdd
fsubr qword [0x46f370]
fmul qword [esi + 0x1e0]
fstp qword [esi + 0x1e0]
fld qword [esi + 0x1e0]
lea ecx, [esi + 0x1c0]
fcomp qword [ecx]
fnstsw ax
test ah, 5
jp 0x408000
fld qword [ecx]
fstp qword [esi + 0x1e0]
fld qword [esi + 0x1e0]
lea ecx, [esi + 0x1c8]
fcomp qword [ecx]
fnstsw ax
test ah, 0x41
jne 0x40801d
fld qword [ecx]
fstp qword [esi + 0x1e0]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x274], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x22c], eax
mov ecx, esi
call fcn.0040a7df
jmp 0x407eaf
cmp ecx, 6
jne 0x4084cb
test byte [0x47b1b4], 1
jne 0x408066
fld qword [0x46f430]
or byte [0x47b1b4], 1
fstp qword [0x47b1c0]
test byte [0x47b1b4], 2
jne 0x408082
fld qword [0x46f430]
or byte [0x47b1b4], 2
fstp qword [0x47afa0]
test byte [0x47b1b4], 4
jne 0x40809e
fld qword [0x46f3f8]
or byte [0x47b1b4], 4
fstp qword [0x47b208]
fld qword [esi + 0x1e8]
cmp byte [esi + 0x21a], 0
fstp qword [ebp - 0x28]
je 0x4080b8
fld qword [0x46f3f0]
jmp 0x4080be
fld qword [0x46f430]
fstp qword [ebp - 8]
cmp byte [esi + 0x128], 0
fld qword [0x46f2e8]
jne 0x4081e6
fld qword [0x47afa0]
fld qword [esi + 0x1a8]
fsub st(1)
xor cl, cl
fcomp qword [ebx]
fnstsw ax
test ah, 0x41
jne 0x408107
fst qword [ebp - 8]
fcom qword [0x46f430]
fnstsw ax
test ah, 5
jp 0x408178
fadd st(1)
fstp qword [0x47afa0]
jmp 0x40817a
fld st(0)
fadd qword [esi + 0x1a8]
fcomp qword [ebx]
fnstsw ax
test ah, 5
jp 0x408121
fld st(0)
fchs
fstp qword [ebp - 8]
jmp 0x4080f0
fld qword [esi + 0x1a8]
fsub st(2)
fcomp qword [ebx]
fnstsw ax
test ah, 0x41
jne 0x40814c
fcom st(1)
fnstsw ax
test ah, 1
jne 0x408147
fld st(0)
fsub st(2)
fst qword [0x47afa0]
fstp st(1)
fstp qword [ebp - 8]
jmp 0x40817a
fld qword [esi + 0x1a8]
fadd st(2)
fcomp qword [ebx]
fnstsw ax
test ah, 5
jp 0x408176
fcom st(1)
fnstsw ax
test ah, 1
jne 0x408172
fld st(0)
fsub st(2)
fst qword [0x47afa0]
fstp st(1)
fchs
jmp 0x408147
mov cl, 1
fstp st(0)
cmp byte [esi + 0x21b], 0
jne 0x408187
test cl, cl
je 0x4081e6
fstp st(0)
fldz
lea ecx, [esi + 0x104]
fstp qword [ebp - 8]
fild dword [esi + 0x108]
fld qword [0x46f348]
fild dword [esi + 0x12c]
fmul qword [0x46f340]
fdiv st(2)
fsub st(1)
fstp qword [ebp - 0x10]
fild dword [esi + 0x130]
fmul qword [0x46f340]
fdiv st(2)
fsub st(1)
fstp qword [ebp - 0x30]
fstp st(0)
fstp st(0)
call fcn.004087f0
fld qword [ebp - 0x30]
fsub qword [ebp - 0x10]
fmulp st(1)
fadd qword [ebp - 0x10]
fstp qword [esi + 0x1a8]
fld qword [0x46f2e8]
fld qword [0x47b208]
fld qword [esi + 0x1a0]
fsub st(1)
xor cl, cl
fcomp qword [edi]
fnstsw ax
test ah, 0x41
jne 0x408219
fst qword [ebp - 0x20]
fcom qword [0x46f3f8]
fnstsw ax
test ah, 5
jp 0x40828a
fadd st(1)
fstp qword [0x47b208]
jmp 0x40828c
fld st(0)
fadd qword [esi + 0x1a0]
fcomp qword [edi]
fnstsw ax
test ah, 5
jp 0x408233
fld st(0)
fchs
fstp qword [ebp - 0x20]
jmp 0x408202
fld qword [esi + 0x1a0]
fsub st(2)
fcomp qword [edi]
fnstsw ax
test ah, 0x41
jne 0x40825e
fcom st(1)
fnstsw ax
test ah, 1
jne 0x408259
fld st(0)
fsub st(2)
fst qword [0x47b208]
fstp st(1)
fstp qword [ebp - 0x20]
jmp 0x40828c
fld qword [esi + 0x1a0]
fadd st(2)
fcomp qword [edi]
fnstsw ax
test ah, 5
jp 0x408288
fcom st(1)
fnstsw ax
test ah, 1
jne 0x408284
fld st(0)
fsub st(2)
fst qword [0x47b208]
fstp st(1)
fchs
jmp 0x408259
mov cl, 1
fstp st(0)
cmp byte [esi + 0x21b], 0
jne 0x40829d
test cl, cl
je 0x408336
cmp byte [esi + 0x128], 0
lea ecx, [esi + 0x104]
fstp st(0)
fldz
fstp qword [ebp - 0x20]
jne 0x4082fb
fild dword [esi + 0x10c]
fild dword [esi + 0x134]
fmul qword [0x46f348]
fdiv st(1)
fsubr qword [0x46f318]
fstp qword [ebp - 0x10]
fild dword [esi + 0x138]
fmul qword [0x46f348]
fdiv st(1)
fsubr qword [0x46f318]
fstp qword [ebp - 0x30]
fstp st(0)
call fcn.004087f0
fld qword [ebp - 0x30]
fsub qword [ebp - 0x10]
fmulp st(1)
fadd qword [ebp - 0x10]
jmp 0x40832a
call fcn.00408748
movsx eax, ax
mov dword [ebp - 0xc], eax
fild dword [ebp - 0xc]
fmul qword [0x46f3e8]
fcom qword [0x46f2a0]
fnstsw ax
test ah, 5
jp 0x408324
fld st(0)
fmul st(1)
fchs
fstp st(1)
fmul qword [0x46f318]
fstp qword [esi + 0x1a0]
fld qword [0x46f2e8]
fld qword [0x47b1c0]
fld qword [esi + 0x198]
fsub st(1)
xor cl, cl
fcomp qword [ebp - 0x28]
fnstsw ax
test ah, 0x41
jne 0x408355
fst qword [ebp - 0x10]
jmp 0x40836e
fld st(0)
fadd qword [esi + 0x198]
fcomp qword [ebp - 0x28]
fnstsw ax
test ah, 5
jp 0x408385
fld st(0)
fchs
fstp qword [ebp - 0x10]
fcom qword [0x46f430]
fnstsw ax
test ah, 5
jp 0x4083ee
fadd st(1)
fstp qword [0x47b1c0]
jmp 0x4083f0
fld qword [esi + 0x198]
fsub st(2)
fcomp qword [ebp - 0x28]
fnstsw ax
test ah, 0x41
jne 0x4083b9
fcom st(1)
fnstsw ax
test ah, 1
jne 0x4083aa
fsub st(1)
fstp qword [0x47b1c0]
jmp 0x4083ac
fstp st(0)
fstp st(0)
fld qword [0x47b1c0]
fstp qword [ebp - 0x10]
jmp 0x4083f2
fld qword [esi + 0x198]
fadd st(2)
fcomp qword [ebp - 0x28]
fnstsw ax
test ah, 5
jp 0x4083ec
fcom st(1)
fnstsw ax
test ah, 1
jne 0x4083de
fsub st(1)
fstp qword [0x47b1c0]
jmp 0x4083e0
fstp st(0)
fstp st(0)
fld qword [0x47b1c0]
fchs
jmp 0x4083b4
mov cl, 1
fstp st(0)
fstp st(0)
cmp byte [esi + 0x21b], 0
jne 0x4083ff
test cl, cl
je 0x408429
fldz
lea ecx, [esi + 0x104]
fstp qword [ebp - 0x10]
call fcn.004087bf
fld qword [esi + 0x1d8]
fsub qword [esi + 0x1d0]
fmulp st(1)
fadd qword [esi + 0x1d0]
fstp qword [esi + 0x198]
fld qword [ebp - 8]
fstp qword [esi + 0x150]
fld qword [ebp - 0x20]
fstp qword [esi + 0x158]
fld qword [ebp - 0x18]
fadd qword [esi + 0x220]
fst qword [esi + 0x220]
fcomp qword [0x46f370]
fnstsw ax
test ah, 0x41
jne 0x40845f
fld1
fstp qword [esi + 0x220]
fld qword [0x46f3f8]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [esi + 0x220]
fstp qword [esp]
call fcn.004622b9
fld st(0)
fmul qword [esi + 0x1e8]
fld qword [ebp - 8]
add esp, 0x10
and byte [esi + 0x21b], 0
fmul st(1)
fmul qword [ebp - 0x18]
fmul qword [0x46f3e0]
fadd qword [ebx]
fstp qword [ebx]
fmul qword [ebp - 0x20]
fmul qword [ebp - 0x18]
fmul qword [0x46f3e0]
fadd qword [edi]
fstp qword [edi]
fmul qword [ebp - 0x10]
fmul qword [ebp - 0x18]
fmul qword [0x46f2d0]
fadd qword [esi + 0x1e8]
fstp qword [esi + 0x1e8]
jmp 0x407eaf
cmp ecx, 4
jne 0x408501
fld qword [ebp - 8]
fstp qword [esi + 0x150]
fld qword [ebp - 0x20]
fld st(0)
fsub qword [edi]
fstp qword [esi + 0x158]
fld qword [ebp - 8]
fmul qword [esi + 0x1e8]
fmul qword [ebp - 0x18]
fmul qword [0x46f3e0]
fadd qword [ebx]
fstp qword [ebx]
jmp 0x4085f9
cmp ecx, 7
jne 0x4085b6
fld1
sub esp, 0x10
fsub qword [esi + 0xb90]
fstp qword [esp + 8]
fld qword [0x46f3d8]
fstp qword [esp]
call fcn.004622b9
fld qword [ebp - 0x18]
fstp qword [esp + 8]
fstp qword [esp]
call fcn.004622b9
lea eax, [esi + 0x150]
add esp, 0x10
fld st(0)
fmul qword [eax]
fld qword [ebp - 8]
fmul qword [esi + 0x1e8]
fmul qword [0x46f3d0]
faddp st(1)
fst qword [eax]
lea eax, [esi + 0x158]
fld st(1)
fmul qword [eax]
fld qword [ebp - 0x20]
fmul qword [esi + 0x1e8]
fmul qword [0x46f3c8]
faddp st(1)
fst qword [ebp - 0x30]
fstp qword [eax]
fld qword [esi + 0xb90]
fmul qword [0x46f3c0]
fsubr qword [0x46f3b8]
fst qword [ebp - 0x28]
fmul st(1)
fmul qword [ebp - 0x18]
fmul qword [0x46f3b0]
fadd qword [ebx]
fstp qword [ebx]
fstp st(0)
fstp st(0)
fld qword [ebp - 0x28]
fmul qword [ebp - 0x30]
fmul qword [ebp - 0x18]
fmul qword [0x46f3b0]
fadd qword [edi]
fstp qword [edi]
jmp 0x408035
cmp ecx, 5
jne 0x407eaf
fld qword [ebp - 8]
lea eax, [esi + 0x1e8]
fstp qword [esi + 0x150]
fld qword [ebp - 0x20]
fstp qword [esi + 0x158]
fld qword [ebp - 8]
fmul qword [eax]
fmul qword [ebp - 0x18]
fmul qword [0x46f3a8]
fadd qword [ebx]
fstp qword [ebx]
fld qword [ebp - 0x20]
fmul qword [eax]
fmul qword [ebp - 0x18]
fmul qword [0x46f3e0]
fadd qword [edi]
fstp qword [edi]
jmp 0x407eaf
lea eax, [esi + 0x218]
cmp byte [eax], 0
je 0x408616
and byte [eax], 0
push 0
call dword [sym.imp.USER32.dll_ShowCursor]
fld qword [edi]
fcomp qword [0x46f318]
fnstsw ax
test ah, 0x41
jne 0x40862d
fld qword [0x46f318]
jmp 0x408642
fld qword [edi]
fcomp qword [0x46f438]
fnstsw ax
test ah, 5
jp 0x408644
fld qword [0x46f438]
fstp qword [edi]
fld qword [esi + 0x1f0]
sub esp, 0x10
lea ecx, [esi + 0x108]
fstp qword [esp + 8]
fld qword [esi + 0x1e8]
fstp qword [esp]
push edi
push ebx
call fcn.0040bbb7
test al, al
jne 0x40867f
fld qword [esi + 0x140]
fstp qword [esi + 0x1a8]
fld qword [edi]
fstp qword [esi + 0x1a0]
cmp byte [esi + 0x2bd], 0
jne 0x4086ec
fldz
sub esp, 0xc
lea ebx, [esi + 0x1fd0]
fstp dword [esp + 8]
fldz
fstp dword [esp + 4]
fldz
fstp dword [esp]
push ebx
call fcn.0040f8c2
fld qword [esi + 0x140]
fmul qword [0x46f3a0]
push ecx
lea eax, [ebp - 0x80]
fstp dword [esp]
push eax
call fcn.0040f998
lea eax, [ebp - 0x80]
push eax
push ebx
push ebx
call fcn.0040f7df
fld qword [edi]
fmul qword [0x46f398]
push ecx
lea eax, [ebp - 0x80]
fstp dword [esp]
push eax
call fcn.0040f91e
lea eax, [ebp - 0x80]
push eax
push ebx
push ebx
call fcn.0040f7df
fild dword [esi + 0xc28]
pop edi
pop ebx
fsub dword [esi + 0xc2c]
fcom qword [0x46f2a0]
fst dword [ebp - 4]
fild dword [esi + 0xc24]
fnstsw ax
test ah, 0x41
jne 0x408723
fadd st(1)
fmul qword [ebp - 0x18]
fstp st(1)
fcom dword [ebp - 4]
fnstsw ax
test ah, 0x41
jne 0x408739
jmp 0x408734
fsubr st(1)
fmul qword [ebp - 0x18]
fstp st(1)
fcom dword [ebp - 4]
fnstsw ax
test ah, 5
jp 0x408739
fstp st(0)
fld dword [ebp - 4]
fadd dword [esi + 0xc2c]
fstp dword [esi + 0xc2c]
pop esi
leave
ret