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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x78
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov ecx, dword [esi + 0x1fc]
mov eax, dword [esi + 0x1f8]
mov dword [esp + 0x24], ecx
mov ecx, dword [esi + 0xa8]
cmp ecx, 0xa
mov dword [esp + 0x20], eax
je 0x407e25
fld qword [esi + 0xf0]
fcomp qword [0x46f2b0]
fnstsw ax
test ah, 0x41
jp 0x407e25
cmp ecx, 9
je 0x407e25
fld qword [esi + 0x48]
fcomp qword [0x46f3c8]
fnstsw ax
and eax, 0x4100
jne 0x407e25
fld qword [esi + 0x48]
fcomp qword [0x46f3c0]
fnstsw ax
test ah, 5
jp 0x407e25
fld qword [esi + 0x50]
fcomp qword [0x46f3c8]
fnstsw ax
and eax, 0x4100
jne 0x407e25
fld qword [esi + 0x50]
fcomp qword [0x46f3c0]
fnstsw ax
test ah, 5
jp 0x407e25
fild dword [esi + 0x2a0]
fcomp dword [esi + 0x2a4]
fnstsw ax
test ah, 0x44
jp 0x407e25
fld qword [esi + 0xd8]
fcomp qword [0x46f2b0]
fnstsw ax
test ah, 0x44
jp 0x407e25
fld qword [esp + 0x20]
fcomp qword [0x46f3b8]
fnstsw ax
test ah, 5
jp 0x407e25
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
fld qword [esi + 0x108]
fcomp qword [0x46f2b0]
fnstsw ax
and eax, 0x4100
jne 0x407e61
fld qword [esp + 0x20]
fcomp qword [esi + 0x108]
fnstsw ax
and eax, 0x4100
jne 0x407e61
mov edx, dword [esi + 0x108]
mov eax, dword [esi + 0x10c]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x30]
push ecx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [esi + 0x28c4]
lea edx, [esp + 0x38]
push edx
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov edx, dword [esi + 0x28c4]
lea ecx, [esp + 0x30]
push ecx
push edx
call dword [sym.imp.USER32.dll_ScreenToClient]
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x30]
mov eax, ecx
cdq
fild dword [esp + 0x30]
sub eax, edx
sar eax, 1
cmp edi, eax
jge 0x407eb2
dec eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jmp 0x407ebd
dec ecx
fadd st(0), st(0)
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fdivp st(1)
mov ecx, dword [esp + 0x44]
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x34]
sar eax, 1
cmp edx, eax
fsub qword [0x46f3b0]
fmul qword [0x46f2c0]
fstp qword [esp + 0x18]
fild dword [esp + 0x34]
jge 0x407ef1
dec eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jmp 0x407efc
dec ecx
fadd st(0), st(0)
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fdivp st(1)
lea ebx, [esi + 0x38]
fsubr qword [0x46f3b0]
fmul qword [0x46f3a8]
fstp qword [esp + 0x10]
fld qword [ebx]
fld qword [0x46f2b8]
call fcn.0046256a
fst qword [esp + 0x28]
fstp qword [ebx]
fld qword [esi + 0x40]
fld qword [0x46f2b8]
lea ebp, [esi + 0x40]
call fcn.0046256a
fst qword [ebp]
fld qword [esp + 0x28]
fcomp qword [0x46f2c0]
fld qword [esp + 0x28]
fnstsw ax
and eax, 0x4100
jne 0x407f57
fsub qword [0x46f2b8]
jmp 0x407f6e
fcomp qword [0x46f3a0]
fnstsw ax
test ah, 5
jp 0x407f70
fld qword [esp + 0x28]
fadd qword [0x46f2b8]
fstp qword [ebx]
fcom qword [0x46f3a8]
xor edx, edx
fnstsw ax
and eax, 0x4100
jne 0x407f8f
fstp st(0)
mov dword [ebp], edx
mov dword [ebp + 4], 0x40568000
jmp 0x407faa
fcomp qword [0x46f398]
fnstsw ax
test ah, 5
jp 0x407faa
mov dword [ebp], 0
mov dword [ebp + 4], 0xc0568000
mov ecx, dword [esi + 0xa8]
cmp ecx, 0xa
jne 0x408043
fld qword [0x46f288]
fld qword [esp + 0x20]
call fcn.00461ba0
fmul qword [esi + 0xe0]
fst qword [esi + 0xe0]
fcomp qword [esi + 0x80]
fnstsw ax
test ah, 0x41
jp 0x407ff9
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x84]
mov dword [esi + 0xe0], eax
mov dword [esi + 0xe4], ecx
fld qword [esp + 0x20]
fadd qword [esi + 0xf0]
fst qword [esi + 0xf0]
fcomp qword [esi + 0xf8]
fnstsw ax
and eax, 0x100
jne 0x408dbe
mov edx, dword [esi + 0x100]
mov eax, dword [esi + 0x104]
mov dword [esi + 0xf0], edx
mov dword [esi + 0xf4], eax
mov dword [esi + 0xa8], 0
jmp 0x408dbe
fld qword [esi + 0xf0]
fcomp qword [0x46f2b0]
fnstsw ax
and eax, 0x4100
jne 0x40812a
fld qword [esi + 0xe0]
fcomp qword [esi + 0x68]
fnstsw ax
and eax, 0x4100
jne 0x4080a7
fld qword [0x46f290]
fld qword [esp + 0x20]
call fcn.00461ba0
fmul qword [esi + 0xe0]
fst qword [esi + 0xe0]
fcomp qword [esi + 0x68]
fnstsw ax
test ah, 0x41
jp 0x4080f6
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x6c]
mov dword [esi + 0xe0], ecx
mov dword [esi + 0xe4], edx
jmp 0x4080f6
fld qword [esi + 0xe0]
fcomp qword [esi + 0x68]
fnstsw ax
test ah, 5
jp 0x4080f6
fld qword [0x46f3b0]
fdiv qword [0x46f290]
fld qword [esp + 0x20]
call fcn.00461ba0
fmul qword [esi + 0xe0]
fst qword [esi + 0xe0]
fcomp qword [esi + 0x68]
fnstsw ax
and eax, 0x100
jne 0x4080f6
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
mov dword [esi + 0xe0], eax
mov dword [esi + 0xe4], ecx
fld qword [esi + 0xf0]
fsub qword [esp + 0x20]
fst qword [esi + 0xf0]
fcomp qword [0x46f2b0]
fnstsw ax
test ah, 0x41
jp 0x408dbe
xor eax, eax
mov dword [esi + 0xf0], eax
mov dword [esi + 0xf4], eax
jmp 0x408dbe
fld qword [esi + 0xd8]
fcomp qword [0x46f2b0]
fnstsw ax
test ah, 0x44
jnp 0x408231
fld qword [esi + 0xe0]
fcomp qword [esi + 0xd8]
fnstsw ax
and eax, 0x4100
jne 0x4081aa
fld qword [esp + 0x20]
fmul qword [0x46f390]
cmp ecx, 5
fsubr qword [esi + 0xe0]
fst qword [esi + 0xe0]
fld st(0)
fsub qword [esi + 0xd8]
fmul qword [esp + 0x20]
jne 0x408181
fadd st(0), st(0)
jmp 0x408187
fmul qword [0x46f388]
fsubr st(1)
fstp qword [esi + 0xe0]
fstp st(0)
fld qword [esi + 0xe0]
fcomp qword [esi + 0xd8]
fnstsw ax
test ah, 0x41
jp 0x408231
jmp 0x40820d
fld qword [esi + 0xe0]
fcomp qword [esi + 0xd8]
fnstsw ax
test ah, 5
jp 0x408231
fld qword [esi + 0xe0]
fsub qword [esi + 0xd8]
cmp ecx, 5
fmul qword [esp + 0x20]
jne 0x4081d6
fadd st(0), st(0)
jmp 0x4081dc
fmul qword [0x46f388]
fsubr qword [esi + 0xe0]
fstp qword [esi + 0xe0]
fld qword [esp + 0x20]
fmul qword [0x46f390]
fadd qword [esi + 0xe0]
fst qword [esi + 0xe0]
fcomp qword [esi + 0xd8]
fnstsw ax
and eax, 0x100
jne 0x408231
mov eax, dword [esi + 0xd8]
mov dword [esi + 0xd8], edx
mov dword [esi + 0xe0], eax
mov eax, dword [esi + 0xdc]
mov dword [esi + 0xe4], eax
mov dword [esi + 0xdc], edx
cmp ecx, 9
jne 0x408417
fld qword [esi + 0x70]
fcomp qword [ebx]
fnstsw ax
and eax, 0x4100
jne 0x408264
fld qword [ebx]
fadd qword [0x46f2c0]
fcomp qword [esi + 0x70]
fnstsw ax
test ah, 5
jp 0x408264
fld qword [ebx]
fadd qword [0x46f2b8]
jmp 0x40828c
fld qword [esi + 0x70]
fcomp qword [ebx]
fnstsw ax
test ah, 5
jp 0x40828e
fld qword [ebx]
fsub qword [0x46f2c0]
fcomp qword [esi + 0x70]
fnstsw ax
and eax, 0x4100
jne 0x40828e
fld qword [ebx]
fsub qword [0x46f2b8]
fstp qword [ebx]
fld qword [esi + 0x78]
fcomp qword [ebp]
fnstsw ax
and eax, 0x4100
jne 0x4082bb
fld qword [ebp]
fadd qword [0x46f2c0]
fcomp qword [esi + 0x78]
fnstsw ax
test ah, 5
jp 0x4082bb
fld qword [ebp]
fadd qword [0x46f2b8]
jmp 0x4082e6
fld qword [esi + 0x78]
fcomp qword [ebp]
fnstsw ax
test ah, 5
jp 0x4082e9
fld qword [ebp]
fsub qword [0x46f2c0]
fcomp qword [esi + 0x78]
fnstsw ax
and eax, 0x4100
jne 0x4082e9
fld qword [ebp]
fsub qword [0x46f2b8]
fstp qword [ebp]
fld qword [esp + 0x20]
fmul qword [0x46f380]
fcom qword [0x46f2b0]
fnstsw ax
test ah, 5
jp 0x40830a
fstp st(0)
fld qword [0x46f2b0]
jmp 0x408321
fcom qword [0x46f3b0]
fnstsw ax
and eax, 0x4100
jne 0x408321
fstp st(0)
fld qword [0x46f3b0]
fld qword [esi + 0x70]
fsub qword [ebx]
fld qword [esi + 0x78]
fsub qword [ebp]
fstp qword [esp + 0x28]
fcom qword [0x46f2b0]
fnstsw ax
test ah, 5
jp 0x408345
fchs
fsqrt
fchs
jmp 0x408347
fsqrt
fmul st(1)
fadd qword [ebx]
fst qword [ebx]
fld qword [esp + 0x28]
fcomp qword [0x46f2b0]
fld qword [esp + 0x28]
fnstsw ax
test ah, 5
jp 0x40836a
fchs
fsqrt
fchs
jmp 0x40836c
fsqrt
fmul st(2)
fadd qword [ebp]
fst qword [esp + 0x28]
fstp qword [ebp]
fld qword [esi + 0x70]
fsub st(1)
fabs
fcomp qword [0x46f388]
fnstsw ax
test ah, 5
fstp st(0)
jp 0x4083f9
fld qword [esi + 0x78]
fsub qword [esp + 0x28]
fabs
fcomp qword [0x46f388]
fnstsw ax
test ah, 5
jp 0x4083f9
fstp st(0)
fld qword [0x46f288]
fld qword [esi + 0xf8]
call fcn.00461ba0
fmul qword [esi + 0xe0]
fcomp qword [esi + 0x80]
fnstsw ax
test ah, 0x41
jp 0x4083d9
mov dword [esi + 0xa8], 0xa
jmp 0x408d4e
fld qword [0x46f288]
fld qword [esp + 0x20]
call fcn.00461ba0
fmul qword [esi + 0xe0]
fstp qword [esi + 0xe0]
jmp 0x408d4e
fld qword [esi + 0x68]
fsub qword [esi + 0xe0]
fmul st(1)
fadd qword [esi + 0xe0]
fstp qword [esi + 0xe0]
fstp st(0)
jmp 0x408d4e
cmp ecx, 3
jne 0x40844f
fld qword [esp + 0x18]
fsub qword [ebx]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov dword [ebx], ecx
mov ecx, dword [esp + 0x14]
mov dword [ebx + 4], edx
fstp qword [esi + 0x48]
fld qword [esp + 0x10]
fsub qword [ebp]
mov dword [ebp], eax
mov dword [ebp + 4], ecx
fstp qword [esi + 0x50]
jmp 0x408d4e
cmp ecx, 8
jne 0x408554
mov edx, dword [esp + 0x40]
lea eax, [edx - 1]
cdq
sub eax, edx
sar eax, 1
sub edi, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], edi
fild dword [esp + 0x10]
fidiv dword [esp + 0x18]
fld qword [esi + 0xd8]
fcomp qword [0x46f2b0]
fnstsw ax
test ah, 0x44
jp 0x4084a1
mov eax, dword [esi + 0xe0]
mov ecx, dword [esi + 0xe4]
mov dword [esi + 0xd8], eax
mov dword [esi + 0xdc], ecx
fcom qword [0x46f2b0]
fmul qword [esp + 0x20]
fmul qword [0x46f378]
fnstsw ax
and eax, 0x4100
jne 0x4084c8
fadd qword [0x46f3b0]
fdivr qword [esi + 0xd8]
jmp 0x4084d4
fsubr qword [0x46f3b0]
fmul qword [esi + 0xd8]
fstp qword [esi + 0xd8]
fld qword [esi + 0xd8]
fcomp qword [esi + 0xb8]
fnstsw ax
test ah, 5
jp 0x408505
mov edx, dword [esi + 0xb8]
mov eax, dword [esi + 0xbc]
mov dword [esi + 0xd8], edx
mov dword [esi + 0xdc], eax
fld qword [esi + 0xd8]
fcomp qword [esi + 0xc0]
fnstsw ax
and eax, 0x4100
jne 0x408532
mov ecx, dword [esi + 0xc0]
mov edx, dword [esi + 0xc4]
mov dword [esi + 0xd8], ecx
mov dword [esi + 0xdc], edx
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov dword [esi + 0x138], eax
call edi
mov ecx, esi
mov dword [esi + 0x11c], eax
call fcn.0040ac10
jmp 0x408d4e
cmp ecx, 6
jne 0x408c17
mov al, byte [0x47b108]
test al, 1
jne 0x408581
or al, 1
mov dword [0x47b110], 0
mov byte [0x47b108], al
mov dword [0x47b114], 0x40100000
test al, 2
jne 0x4085a0
or al, 2
mov dword [0x47afa0], 0
mov byte [0x47b108], al
mov dword [0x47afa4], 0x40100000
test al, 4
jne 0x4085bf
or al, 4
mov dword [0x47b118], 0
mov byte [0x47b108], al
mov dword [0x47b11c], 0x40000000
mov eax, dword [esi + 0xe0]
mov ecx, dword [esi + 0xe4]
mov dword [esp + 0x28], eax
mov al, byte [esi + 0x112]
test al, al
mov dword [esp + 0x2c], ecx
je 0x4085e5
fld qword [0x46f370]
jmp 0x4085eb
fld qword [0x46f388]
mov al, byte [esi + 0x24]
test al, al
jne 0x4087ab
fld qword [esi + 0xa0]
fsub qword [0x47afa0]
xor cl, cl
fcomp qword [ebx]
fnstsw ax
and eax, 0x4100
jne 0x408645
fstp st(0)
fld qword [0x47afa0]
fld qword [0x47afa0]
fcomp qword [0x46f388]
fnstsw ax
test ah, 5
jp 0x4086f8
fld qword [0x47afa0]
fadd qword [0x46f368]
fstp qword [0x47afa0]
jmp 0x4086f8
fld qword [0x47afa0]
fadd qword [esi + 0xa0]
fcomp qword [ebx]
fnstsw ax
test ah, 5
jp 0x408666
fstp st(0)
fld qword [0x47afa0]
fchs
jmp 0x408617
fld qword [esi + 0xa0]
fsub qword [0x46f368]
fcomp qword [ebx]
fnstsw ax
and eax, 0x4100
jne 0x4086ae
fstp st(0)
fld qword [0x47afa0]
fcomp qword [0x46f368]
fnstsw ax
and eax, 0x100
jne 0x4086a6
fld qword [0x47afa0]
fsub qword [0x46f368]
fstp qword [0x47afa0]
fld qword [0x47afa0]
jmp 0x4086f8
fld qword [esi + 0xa0]
fadd qword [0x46f368]
fcomp qword [ebx]
fnstsw ax
test ah, 5
jp 0x4086f6
fstp st(0)
fld qword [0x47afa0]
fcomp qword [0x46f368]
fnstsw ax
and eax, 0x100
jne 0x4086ec
fld qword [0x47afa0]
fsub qword [0x46f368]
fstp qword [0x47afa0]
fld qword [0x47afa0]
fchs
jmp 0x4086f8
mov cl, 1
mov al, byte [esi + 0x113]
test al, al
jne 0x40870a
test cl, cl
je 0x4087ab
fstp st(0)
fld qword [0x46f2b0]
fild dword [esi + 4]
fild dword [esi + 0x28]
mov ecx, dword [esi]
mov eax, ecx
mov edx, ecx
fmul qword [0x46f2b8]
shr eax, 3
and edx, 0x1ffff000
fdiv st(1)
xor eax, edx
shr eax, 0xc
shl ecx, 0x10
or eax, ecx
mov ecx, eax
mov edx, eax
shr ecx, 3
and edx, 0x1ffff000
xor ecx, edx
mov edx, eax
shr ecx, 0xc
shl edx, 0x10
or ecx, edx
mov dword [esi], ecx
shr ecx, 0x10
movsx ecx, cx
shr eax, 0x10
movsx edx, ax
mov dword [esp + 0x18], ecx
fsub qword [0x46f2c0]
fild dword [esp + 0x18]
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
faddp st(1)
fmul qword [0x46f360]
fmul qword [0x46f358]
fadd qword [0x46f2a0]
fild dword [esi + 0x2c]
fmul qword [0x46f2b8]
fdiv st(3)
fsub qword [0x46f2c0]
fsub st(2)
fmulp st(1)
fadd st(1)
fstp qword [esi + 0xa0]
fstp st(0)
fstp st(0)
fld qword [esi + 0x98]
fsub qword [0x47b118]
xor cl, cl
fcomp qword [ebp]
fld qword [0x47b118]
fnstsw ax
and eax, 0x4100
jne 0x408806
mov eax, dword [0x47b118]
mov edx, dword [0x47b11c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
fcomp qword [0x46f350]
fnstsw ax
test ah, 5
jp 0x4088cb
fld qword [0x47b118]
fadd qword [0x46f368]
fstp qword [0x47b118]
jmp 0x4088cb
fadd qword [esi + 0x98]
fcomp qword [ebp]
fnstsw ax
test ah, 5
jp 0x40882a
fld qword [0x47b118]
fchs
fstp qword [esp + 0x10]
fld qword [0x47b118]
jmp 0x4087de
fld qword [esi + 0x98]
fsub qword [0x46f368]
fcomp qword [ebp]
fnstsw ax
and eax, 0x4100
jne 0x40887e
fld qword [0x47b118]
fcomp qword [0x46f368]
fnstsw ax
and eax, 0x100
jne 0x408869
fld qword [0x47b118]
fsub qword [0x46f368]
fstp qword [0x47b118]
mov eax, dword [0x47b118]
mov edx, dword [0x47b11c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
jmp 0x4088cb
fld qword [esi + 0x98]
fadd qword [0x46f368]
fcomp qword [ebp]
fnstsw ax
test ah, 5
jp 0x4088c9
fld qword [0x47b118]
fcomp qword [0x46f368]
fnstsw ax
and eax, 0x100
jne 0x4088bb
fld qword [0x47b118]
fsub qword [0x46f368]
fstp qword [0x47b118]
fld qword [0x47b118]
fchs
fstp qword [esp + 0x10]
jmp 0x4088cb
mov cl, 1
mov al, byte [esi + 0x113]
test al, al
jne 0x4088dd
test cl, cl
je 0x408a27
mov al, byte [esi + 0x24]
mov dword [esp + 0x10], 0
test al, al
mov dword [esp + 0x14], 0
jne 0x408996
fild dword [esi + 8]
fild dword [esi + 0x30]
mov ecx, dword [esi]
mov eax, ecx
mov edx, ecx
fmul qword [0x46f2c0]
shr eax, 3
and edx, 0x1ffff000
fdiv st(1)
xor eax, edx
shr eax, 0xc
shl ecx, 0x10
or eax, ecx
mov ecx, eax
mov edx, eax
shr ecx, 3
and edx, 0x1ffff000
xor ecx, edx
mov edx, eax
shr ecx, 0xc
shl edx, 0x10
or ecx, edx
mov dword [esi], ecx
shr ecx, 0x10
movsx ecx, cx
shr eax, 0x10
movsx edx, ax
mov dword [esp + 0x18], ecx
fsubr qword [0x46f3a8]
fild dword [esp + 0x18]
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
faddp st(1)
fmul qword [0x46f360]
fmul qword [0x46f358]
fadd qword [0x46f2a0]
fild dword [esi + 0x34]
fmul qword [0x46f2c0]
fdiv st(3)
fsubr qword [0x46f3a8]
fsub st(2)
fmulp st(1)
fadd st(1)
fstp qword [esi + 0x98]
fstp st(0)
fstp st(0)
jmp 0x408a27
mov eax, dword [esi]
mov ecx, eax
mov edx, eax
shr ecx, 3
and edx, 0x1ffff000
xor ecx, edx
shr ecx, 0xc
shl eax, 0x10
or ecx, eax
mov edx, ecx
mov eax, ecx
shr edx, 3
and eax, 0x1ffff000
xor edx, eax
mov eax, ecx
shr edx, 0xc
shl eax, 0x10
or edx, eax
mov eax, edx
mov edi, edx
shr eax, 3
and edi, 0x1ffff000
xor eax, edi
mov edi, edx
shr eax, 0xc
shl edi, 0x10
or eax, edi
mov edi, eax
mov ebx, eax
shr edi, 3
and ebx, 0x1ffff000
xor edi, ebx
mov ebx, eax
shr edi, 0xc
shl ebx, 0x10
sar eax, 0x10
sar edx, 0x10
or edi, ebx
add eax, edx
sar ecx, 0x10
mov dword [esi], edi
add eax, ecx
sar edi, 0x10
add eax, edi
shr eax, 2
movsx ecx, ax
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
fmul qword [0x46f348]
fstp qword [esi + 0x98]
fld qword [esi + 0x90]
fsub qword [0x47b110]
xor cl, cl
fcomp qword [esp + 0x28]
fld qword [0x47b110]
fnstsw ax
and eax, 0x4100
jne 0x408a83
mov edx, dword [0x47b110]
mov eax, dword [0x47b114]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
fcomp qword [0x46f388]
fnstsw ax
test ah, 5
jp 0x408b4b
fld qword [0x47b110]
fadd qword [0x46f368]
fstp qword [0x47b110]
jmp 0x408b4b
fadd qword [esi + 0x90]
fcomp qword [esp + 0x28]
fnstsw ax
test ah, 5
jp 0x408aa8
fld qword [0x47b110]
fchs
fstp qword [esp + 0x28]
fld qword [0x47b110]
jmp 0x408a5b
fld qword [esi + 0x90]
fsub qword [0x46f368]
fcomp qword [esp + 0x28]
fnstsw ax
and eax, 0x4100
jne 0x408afd
fld qword [0x47b110]
fcomp qword [0x46f368]
fnstsw ax
and eax, 0x100
jne 0x408ae8
fld qword [0x47b110]
fsub qword [0x46f368]
fstp qword [0x47b110]
mov edx, dword [0x47b110]
mov eax, dword [0x47b114]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
jmp 0x408b4b
fld qword [esi + 0x90]
fadd qword [0x46f368]
fcomp qword [esp + 0x28]
fnstsw ax
test ah, 5
jp 0x408b49
fld qword [0x47b110]
fcomp qword [0x46f368]
fnstsw ax
and eax, 0x100
jne 0x408b3b
fld qword [0x47b110]
fsub qword [0x46f368]
fstp qword [0x47b110]
fld qword [0x47b110]
fchs
fstp qword [esp + 0x28]
jmp 0x408b4b
mov cl, 1
mov al, byte [esi + 0x113]
test al, al
jne 0x408b59
test cl, cl
je 0x408baf
mov ecx, dword [esi]
mov dword [esp + 0x28], 0
mov eax, ecx
mov edx, ecx
shr eax, 3
and edx, 0x1ffff000
mov dword [esp + 0x2c], 0
xor eax, edx
fld qword [esi + 0xd0]
shr eax, 0xc
shl ecx, 0x10
fsub qword [esi + 0xc8]
or eax, ecx
mov dword [esi], eax
shr eax, 0x10
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmulp st(1)
fmul qword [0x46f340]
fadd qword [esi + 0xc8]
fstp qword [esi + 0x90]
fst qword [esi + 0x48]
fmul qword [esi + 0xe0]
lea ebx, [esi + 0x38]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esi + 0x50], eax
fmul qword [esp + 0x20]
mov dword [esi + 0x54], ecx
mov byte [esi + 0x113], 0
fmul qword [0x46f338]
fadd qword [ebx]
fstp qword [ebx]
fld qword [esp + 0x10]
fmul qword [esi + 0xe0]
fmul qword [esp + 0x20]
fmul qword [0x46f338]
fadd qword [ebp]
fstp qword [ebp]
fld qword [esp + 0x28]
fmul qword [esp + 0x20]
fmul qword [0x46f2a0]
fadd qword [esi + 0xe0]
fstp qword [esi + 0xe0]
jmp 0x408d4e
cmp ecx, 4
jne 0x408c5f
fld qword [esp + 0x10]
fsub qword [ebp]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov dword [esi + 0x48], edx
mov edx, dword [esp + 0x14]
mov dword [esi + 0x4c], eax
fstp qword [esi + 0x50]
fld qword [esp + 0x18]
fmul qword [esi + 0xe0]
mov dword [ebp], ecx
mov dword [ebp + 4], edx
fmul qword [esp + 0x20]
fmul qword [0x46f338]
fadd qword [ebx]
fstp qword [ebx]
jmp 0x408d4e
cmp ecx, 7
jne 0x408cfb
fld qword [0x46f330]
fld qword [0x46f3b0]
fsub qword [esi + 0x218]
call fcn.00461ba0
fld qword [esp + 0x20]
call fcn.00461ba0
fld qword [esp + 0x18]
fmul qword [esi + 0xe0]
mov ecx, esi
fmul qword [0x46f328]
fld st(1)
fmul qword [esi + 0x48]
faddp st(1)
fstp qword [esi + 0x48]
fmul qword [esi + 0x50]
fld qword [esp + 0x10]
fmul qword [esi + 0xe0]
fmul qword [0x46f320]
faddp st(1)
fstp qword [esi + 0x50]
fld qword [esi + 0x218]
fmul qword [0x46f318]
fsubr qword [0x46f310]
fld qword [esp + 0x20]
fmul st(1)
fmul qword [esi + 0x48]
fmul qword [0x46f308]
fadd qword [ebx]
fstp qword [ebx]
fmul qword [esi + 0x50]
fmul qword [esp + 0x20]
fmul qword [0x46f308]
fadd qword [ebp]
fstp qword [ebp]
call fcn.0040ac10
jmp 0x408d4e
cmp ecx, 5
jne 0x408d4e
fld qword [esp + 0x18]
fmul qword [esi + 0xe0]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov dword [esi + 0x48], eax
fmul qword [esp + 0x20]
mov eax, dword [esp + 0x14]
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x50], edx
mov dword [esi + 0x54], eax
fmul qword [0x46f300]
fadd qword [ebx]
fstp qword [ebx]
fld qword [esp + 0x10]
fmul qword [esi + 0xe0]
fmul qword [esp + 0x20]
fmul qword [0x46f338]
fadd qword [ebp]
fstp qword [ebp]
mov eax, dword [esi + 0xa8]
cmp eax, 7
je 0x408d5e
cmp eax, 5
jne 0x408dbe
mov al, byte [esi + 0x2654]
test al, al
jne 0x408da5
mov al, byte [esi + 0x1d5]
test al, al
jne 0x408da5
mov al, byte [esi + 0x111]
test al, al
jne 0x408da5
mov al, byte [esi + 0x110]
test al, al
jne 0x408dbe
push 0x7f03
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov byte [esi + 0x110], 1
push 1
jmp 0x408db8
mov al, byte [esi + 0x110]
test al, al
je 0x408dbe
mov byte [esi + 0x110], 0
push 0
call dword [sym.imp.USER32.dll_ShowCursor]
fld qword [ebp]
fcomp qword [0x46f3a8]
fnstsw ax
and eax, 0x4100
jne 0x408dd9
mov dword [ebp + 4], 0x40568000
jmp 0x408df0
fld qword [ebp]
fcomp qword [0x46f398]
fnstsw ax
test ah, 5
jp 0x408df7
mov dword [ebp + 4], 0xc0568000
mov dword [ebp], 0
mov ecx, dword [esi + 0xec]
mov edx, dword [esi + 0xe8]
mov eax, dword [esi + 0xe4]
push ecx
mov ecx, dword [esi + 0xe0]
push edx
push eax
push ecx
push ebp
push ebx
lea ecx, [esi + 4]
call fcn.0040c160
test al, al
jne 0x408e44
mov edx, dword [ebx]
mov eax, dword [ebx + 4]
mov ecx, dword [ebp]
mov dword [esi + 0xa0], edx
mov edx, dword [ebp + 4]
mov dword [esi + 0xa4], eax
mov dword [esi + 0x98], ecx
mov dword [esi + 0x9c], edx
mov al, byte [esi + 0x1d7]
test al, al
jne 0x408ea5
push 0
lea edi, [esi + 0x23fc]
push 0
push 0
push edi
call fcn.0040ff32
fld qword [ebx]
fmul qword [0x46f2f8]
push ecx
lea eax, [esp + 0x4c]
fstp dword [esp]
push eax
call fcn.00410008
lea ecx, [esp + 0x48]
push ecx
push edi
push edi
call fcn.0040fe4f
fld qword [ebp]
fmul qword [0x46f2f0]
push ecx
lea edx, [esp + 0x4c]
fstp dword [esp]
push edx
call fcn.0040ff8e
lea eax, [esp + 0x48]
push eax
push edi
push edi
call fcn.0040fe4f
fild dword [esi + 0x2a0]
fsub dword [esi + 0x2a4]
fst dword [esp + 0x10]
fcomp qword [0x46f2b0]
fild dword [esi + 0x29c]
fnstsw ax
and eax, 0x4100
jne 0x408ee1
fadd dword [esp + 0x10]
fmul qword [esp + 0x20]
fcom dword [esp + 0x10]
fnstsw ax
and eax, 0x4100
jne 0x408efa
jmp 0x408ef4
fsubr dword [esp + 0x10]
fmul qword [esp + 0x20]
fcom dword [esp + 0x10]
fnstsw ax
test ah, 5
jp 0x408efa
fstp st(0)
fld dword [esp + 0x10]
fadd dword [esi + 0x2a4]
pop edi
fstp dword [esi + 0x2a4]
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret