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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88
push ebx
push esi
mov esi, ecx
push edi
cmp byte [esi + 0x36c], 0
jne 0x412e40
lea edi, [esi + 0x2a4]
push edi
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x48]
lea ebx, [esi + 0x2f18]
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 + 0x37c]
mov ebx, dword [ebp - 0x40]
add dword [edi], eax
mov ecx, dword [esi + 0x380]
add dword [esi + 0x2a8], ecx
mov ecx, dword [esi + 0x2a8]
lea eax, [esi + 0x2a8]
mov edi, dword [edi]
mov eax, ebx
mov dword [ebp - 4], edi
cdq
fild dword [ebp - 4]
sub eax, edx
mov dword [ebp - 0xc], ecx
sar eax, 1
cmp edi, eax
jge 0x411eeb
dec eax
mov dword [ebp - 4], eax
fild dword [ebp - 4]
jmp 0x411ef4
dec ebx
fadd st(0), st(0)
mov dword [ebp - 4], ebx
fild dword [ebp - 4]
fdivp st(1)
mov edi, dword [ebp - 0x3c]
mov eax, edi
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
fsub qword [0x4382f0]
fmul qword [0x438380]
fstp qword [ebp - 8]
fild dword [ebp - 0xc]
jge 0x411f1f
dec eax
mov dword [ebp - 0xc], eax
fild dword [ebp - 0xc]
jmp 0x411f28
dec edi
fadd st(0), st(0)
mov dword [ebp - 0xc], edi
fild dword [ebp - 0xc]
fdivp st(1)
push ecx
push ecx
lea ebx, [esi + 0x118]
fsubr qword [0x4382f0]
fmul qword [0x4385f0]
fstp qword [ebp - 0x18]
fld qword [0x438450]
fstp qword [esp]
fld qword [ebx]
push ecx
push ecx
fstp qword [esp]
call fcn.0042afc0
fstp qword [ebx]
fld qword [0x438450]
add esp, 8
lea edi, [esi + 0x120]
fstp qword [esp]
fld qword [edi]
push ecx
push ecx
fstp qword [esp]
call fcn.0042afc0
fstp qword [edi]
fld qword [0x438380]
fcom qword [ebx]
fld qword [ebx]
add esp, 0x10
fnstsw ax
sahf
jae 0x411f92
fsub qword [0x438450]
jmp 0x411fa5
fcomp qword [0x4385e8]
fnstsw ax
sahf
jae 0x411fa7
fld qword [ebx]
fadd qword [0x438450]
fstp qword [ebx]
fld qword [edi]
fcomp qword [0x4385f0]
fnstsw ax
sahf
jbe 0x411fbc
fld qword [0x4385f0]
jmp 0x411fcf
fld qword [edi]
fcomp qword [0x4385e0]
fnstsw ax
sahf
jae 0x411fd1
fld qword [0x4385e0]
fstp qword [edi]
mov ecx, dword [esi + 0x188]
cmp ecx, 0xa
jne 0x412056
fstp st(0)
fld qword [esi + 0xc50]
push ecx
push ecx
fstp qword [esp]
fld qword [0x438398]
push ecx
push ecx
fstp qword [esp]
call fcn.00428759
fmul qword [esi + 0x1d0]
lea ecx, [esi + 0x160]
add esp, 0x10
fst qword [esi + 0x1d0]
fcomp qword [ecx]
fnstsw ax
sahf
ja 0x41201d
fld qword [ecx]
fstp qword [esi + 0x1d0]
fld qword [esi + 0xc50]
fadd qword [esi + 0x1e0]
fst qword [esi + 0x1e0]
fcomp qword [esi + 0x1e8]
fnstsw ax
sahf
jb 0x412d6c
fld qword [esi + 0x1f0]
fstp qword [esi + 0x1e0]
and dword [esi + 0x188], 0
jmp 0x412d6c
fld qword [esi + 0x1e0]
fcomp qword [0x438448]
fnstsw ax
sahf
jbe 0x412137
fstp st(0)
fld qword [esi + 0x1d0]
fcomp qword [esi + 0x148]
fnstsw ax
sahf
jbe 0x4120b5
fld qword [esi + 0xc50]
push ecx
push ecx
fstp qword [esp]
fld qword [0x4383a0]
push ecx
push ecx
fstp qword [esp]
call fcn.00428759
fmul qword [esi + 0x1d0]
add esp, 0x10
fst qword [esi + 0x1d0]
fcomp qword [esi + 0x148]
fnstsw ax
sahf
ja 0x412109
jmp 0x4120fd
fld qword [esi + 0x1d0]
fcomp qword [esi + 0x148]
fnstsw ax
sahf
jae 0x412109
fld qword [esi + 0xc50]
push ecx
push ecx
fstp qword [esp]
fld1
push ecx
push ecx
fdiv qword [0x4383a0]
fstp qword [esp]
call fcn.00428759
fmul qword [esi + 0x1d0]
add esp, 0x10
fst qword [esi + 0x1d0]
fcomp qword [esi + 0x148]
fnstsw ax
sahf
jb 0x412109
fld qword [esi + 0x148]
fstp qword [esi + 0x1d0]
fld qword [esi + 0x1e0]
fsub qword [esi + 0xc50]
fst qword [esi + 0x1e0]
fcomp qword [0x438448]
fnstsw ax
sahf
ja 0x412d6c
fldz
fstp qword [esi + 0x1e0]
jmp 0x412d6c
cmp ecx, 9
je 0x412231
fld qword [esi + 0x1c8]
fcomp qword [0x438448]
fnstsw ax
sahf
je 0x412231
fld qword [esi + 0x1d0]
fcomp qword [esi + 0x1c8]
fnstsw ax
sahf
jbe 0x4121bc
fld qword [esi + 0xc50]
fmul qword [0x438400]
fsubr qword [esi + 0x1d0]
fst qword [esi + 0x1d0]
cmp dword [esi + 0x188], 5
fld st(0)
fsub qword [esi + 0x1c8]
fmul qword [esi + 0xc50]
jne 0x412199
fadd st(0), st(0)
jmp 0x41219f
fmul qword [0x4384e8]
fsubr st(1)
fstp qword [esi + 0x1d0]
fstp st(0)
fld qword [esi + 0x1d0]
fcomp qword [esi + 0x1c8]
fnstsw ax
sahf
ja 0x412231
jmp 0x41221d
fld qword [esi + 0x1d0]
fcomp qword [esi + 0x1c8]
fnstsw ax
sahf
jae 0x412231
fld qword [esi + 0x1d0]
fsub qword [esi + 0x1c8]
cmp ecx, 5
fmul qword [esi + 0xc50]
jne 0x4121e8
fadd st(0), st(0)
jmp 0x4121ee
fmul qword [0x4384e8]
fsubr qword [esi + 0x1d0]
fstp qword [esi + 0x1d0]
fld qword [esi + 0xc50]
fmul qword [0x438400]
fadd qword [esi + 0x1d0]
fst qword [esi + 0x1d0]
fcomp qword [esi + 0x1c8]
fnstsw ax
sahf
jb 0x412231
fld qword [esi + 0x1c8]
fstp qword [esi + 0x1d0]
fldz
fstp qword [esi + 0x1c8]
mov eax, dword [esi + 0x188]
cmp eax, 9
jne 0x41257c
fld qword [esi + 0x150]
fcomp qword [ebx]
fnstsw ax
sahf
jbe 0x412266
fld qword [ebx]
fadd st(1)
fcomp qword [esi + 0x150]
fnstsw ax
sahf
jae 0x412266
fld qword [ebx]
fadd qword [0x438450]
jmp 0x41228a
fld qword [esi + 0x150]
fcomp qword [ebx]
fnstsw ax
sahf
jae 0x41228c
fld qword [ebx]
fsub st(1)
fcomp qword [esi + 0x150]
fnstsw ax
sahf
jbe 0x41228c
fld qword [ebx]
fsub qword [0x438450]
fstp qword [ebx]
fld qword [esi + 0x158]
fcomp qword [edi]
fnstsw ax
sahf
jbe 0x4122b4
fld qword [edi]
fadd st(1)
fcomp qword [esi + 0x158]
fnstsw ax
sahf
jae 0x4122b4
fstp st(0)
fld qword [edi]
fadd qword [0x438450]
jmp 0x4122dc
fld qword [esi + 0x158]
fcomp qword [edi]
fnstsw ax
sahf
jae 0x4122e0
fld qword [edi]
fsub st(1)
fld qword [esi + 0x158]
fcompp
fnstsw ax
sahf
fstp st(0)
jae 0x4122e2
fld qword [edi]
fsub qword [0x438450]
fstp qword [edi]
jmp 0x4122e2
fstp st(0)
cmp byte [esi + 0x29d8], 0
je 0x4122f3
fld dword [0x4384d8]
jmp 0x4122f9
fld dword [0x4385d8]
fdivr qword [esi + 0xc50]
fst qword [ebp - 0x10]
fcomp qword [0x438448]
fnstsw ax
sahf
jae 0x412311
fldz
jmp 0x412321
fld qword [ebp - 0x10]
fcomp qword [0x4382f0]
fnstsw ax
sahf
jbe 0x412324
fld1
fstp qword [ebp - 0x10]
fld qword [esi + 0x150]
fsub qword [ebx]
push ecx
push ecx
fst qword [ebp - 8]
fld qword [esi + 0x158]
fsub qword [edi]
fst qword [ebp - 0x20]
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.0042a984
fstp qword [ebp - 0x18]
fld qword [ebp - 8]
fcomp qword [0x438448]
pop ecx
pop ecx
fnstsw ax
sahf
jbe 0x41237f
fld qword [ebp - 0x20]
fdiv qword [ebp - 8]
push ecx
push ecx
fstp qword [esp]
call fcn.0042a8e4
fadd qword [0x4385d0]
pop ecx
pop ecx
jmp 0x4123c0
fld qword [ebp - 8]
fcomp qword [0x438448]
fld qword [ebp - 0x20]
fnstsw ax
sahf
jae 0x4123a7
fdiv qword [ebp - 8]
push ecx
push ecx
fstp qword [esp]
call fcn.0042a8e4
fadd qword [0x4385c8]
pop ecx
pop ecx
jmp 0x4123c0
fcomp qword [0x438448]
fnstsw ax
sahf
jb 0x4123ba
fld qword [0x4385c0]
jmp 0x4123c0
fld qword [0x4385b8]
fstp qword [ebp - 8]
fld qword [ebp - 0x18]
fcomp qword [0x4382f0]
fnstsw ax
sahf
jae 0x4123d6
fld qword [ebp - 0x18]
jmp 0x4123f1
fld qword [0x4383c0]
push ecx
push ecx
fstp qword [esp]
fld qword [ebp - 0x18]
push ecx
push ecx
fstp qword [esp]
call fcn.00428759
add esp, 0x10
fmul qword [ebp - 0x10]
push ecx
push ecx
fstp qword [ebp - 0x18]
fld qword [ebp - 8]
fstp qword [esp]
call fcn.0042a834
fmul qword [ebp - 0x18]
fstp qword [ebp - 0x28]
fld qword [ebp - 8]
fstp qword [esp]
call fcn.0042a784
fmul qword [ebp - 0x18]
fld qword [ebp - 0x28]
fadd qword [ebx]
fstp qword [ebx]
fadd qword [edi]
fstp qword [edi]
fld qword [esi + 0x150]
fsub qword [ebx]
fstp qword [esp]
call fcn.0042aa2a
fcomp qword [0x4383c0]
pop ecx
pop ecx
fnstsw ax
sahf
jae 0x4124d0
fld qword [esi + 0x158]
fsub qword [edi]
push ecx
push ecx
fstp qword [esp]
call fcn.0042aa2a
fcomp qword [0x4383c0]
pop ecx
pop ecx
fnstsw ax
sahf
jae 0x4124d0
fld qword [0x438398]
push ecx
push ecx
fstp qword [ebp - 0x28]
fld qword [esi + 0x1e8]
fstp qword [esp]
fld qword [0x438398]
push ecx
push ecx
fstp qword [esp]
call fcn.00428759
fmul qword [esi + 0x1d0]
add esp, 0x10
fcomp qword [esi + 0x160]
fnstsw ax
sahf
ja 0x4124a7
mov dword [esi + 0x188], 0xa
jmp 0x412512
fld qword [esi + 0xc50]
push ecx
push ecx
fstp qword [esp]
fld qword [ebp - 0x28]
push ecx
push ecx
fstp qword [esp]
call fcn.00428759
fmul qword [esi + 0x1d0]
add esp, 0x10
fstp qword [esi + 0x1d0]
jmp 0x412512
fld qword [esi + 0xc50]
fadd st(0), st(0)
fcom qword [0x438448]
fnstsw ax
sahf
jae 0x4124e9
fstp st(0)
fldz
jmp 0x4124f8
fcom qword [0x4382f0]
fnstsw ax
sahf
jbe 0x4124f8
fstp st(0)
fld1
fld qword [esi + 0x148]
fsub qword [esi + 0x1d0]
lea eax, [esi + 0x1d0]
fmul st(1)
fadd qword [eax]
fstp qword [eax]
fstp st(0)
mov eax, dword [esi + 0x188]
cmp eax, 7
je 0x412526
cmp eax, 5
jne 0x412d6c
cmp byte [esi + 0x29d8], 0
jne 0x412d6c
cmp byte [esi + 0x2a20], 0
jne 0x412d52
cmp byte [esi + 0x201], 0
jne 0x412d52
cmp byte [esi + 0x200], 0
jne 0x412d6c
push 0x7f03
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov byte [esi + 0x200], 1
push 1
jmp 0x412d66
cmp eax, 3
fstp st(0)
jne 0x4125a8
fld qword [ebp - 8]
fld st(0)
fsub qword [ebx]
fstp qword [esi + 0x128]
fld qword [ebp - 0x18]
fld st(0)
fsub qword [edi]
fstp qword [esi + 0x130]
fld st(1)
fstp qword [ebx]
fstp qword [edi]
jmp 0x412510
cmp eax, 8
jne 0x4126aa
mov eax, dword [ebp - 0x40]
mov ecx, dword [esi + 0x2a4]
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 [0x438448]
fnstsw ax
sahf
je 0x412510
fld qword [esi + 0xc50]
fcomp qword [0x438448]
fnstsw ax
sahf
jbe 0x412510
fld qword [esi + 0x1c8]
fcomp qword [0x438448]
fnstsw ax
sahf
jne 0x41260f
fld qword [esi + 0x1d0]
fstp qword [esi + 0x1c8]
fcom qword [0x438448]
fmul qword [esi + 0xc50]
fmul qword [0x438468]
fnstsw ax
sahf
jbe 0x412634
fadd qword [0x4382f0]
fdivr qword [esi + 0x1c8]
jmp 0x412640
fsubr qword [0x4382f0]
fmul qword [esi + 0x1c8]
fstp qword [esi + 0x1c8]
fld qword [esi + 0x1c8]
fcomp qword [esi + 0x1a0]
lea ecx, [esi + 0x1a0]
fnstsw ax
sahf
jae 0x412665
fld qword [ecx]
fstp qword [esi + 0x1c8]
fld qword [esi + 0x1c8]
fcomp qword [esi + 0x1b0]
lea ecx, [esi + 0x1b0]
fnstsw ax
sahf
jbe 0x412684
fld qword [ecx]
fstp qword [esi + 0x1c8]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x284], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x214], eax
push 0
mov ecx, esi
call fcn.00416b4d
jmp 0x412512
cmp eax, 6
jne 0x412bfc
test byte [0x444638], 1
jne 0x4126cf
fld qword [0x4384e8]
or byte [0x444638], 1
fstp qword [0x445d70]
test byte [0x444638], 2
jne 0x4126eb
fld qword [0x4385b0]
or byte [0x444638], 2
fstp qword [0x445d60]
fld qword [esi + 0x208]
fadd qword [esi + 0xc50]
fst qword [esi + 0x208]
fcomp qword [0x4382f0]
fnstsw ax
sahf
jbe 0x412710
fld1
fstp qword [esi + 0x208]
fld qword [0x4385b0]
push ecx
push ecx
fstp qword [esp]
fld qword [esi + 0x208]
push ecx
push ecx
fstp qword [esp]
call fcn.00428759
fstp qword [ebp - 0x30]
add esp, 0x10
cmp byte [esi + 0x202], 0
je 0x412742
fld qword [0x4385a8]
jmp 0x412748
fld qword [0x4384e8]
fstp qword [ebp - 8]
cmp byte [esi + 0x100], 0
fld qword [0x4383d8]
jne 0x412866
fld qword [0x445d70]
fld qword [esi + 0x180]
fsub st(1)
xor cl, cl
fcomp qword [ebx]
fnstsw ax
sahf
jbe 0x41278d
fst qword [ebp - 8]
fcom qword [0x4384e8]
fnstsw ax
sahf
jae 0x4127f8
fadd st(1)
fstp qword [0x445d70]
jmp 0x4127fa
fld st(0)
fadd qword [esi + 0x180]
fcomp qword [ebx]
fnstsw ax
sahf
jae 0x4127a5
fld st(0)
fchs
fstp qword [ebp - 8]
jmp 0x412778
fld qword [esi + 0x180]
fsub st(2)
fcomp qword [ebx]
fnstsw ax
sahf
jbe 0x4127cc
fcom st(1)
fnstsw ax
sahf
jb 0x4127c7
fld st(0)
fsub st(2)
fst qword [0x445d70]
fstp st(1)
fstp qword [ebp - 8]
jmp 0x4127fa
fld qword [esi + 0x180]
fadd st(2)
fcomp qword [ebx]
fnstsw ax
sahf
jae 0x4127f2
fcom st(1)
fnstsw ax
sahf
jb 0x4127ee
fld st(0)
fsub st(2)
fst qword [0x445d70]
fstp st(1)
fchs
jmp 0x4127c7
fstp st(0)
mov cl, 1
jmp 0x4127fa
fstp st(0)
cmp byte [esi + 0x203], 0
jne 0x412807
test cl, cl
je 0x412866
fstp st(0)
fldz
lea ecx, [esi + 0xdc]
fstp qword [ebp - 8]
fild dword [esi + 0xe0]
fld qword [0x438380]
fild dword [esi + 0x104]
fmul qword [0x438450]
fdiv st(2)
fsub st(1)
fstp qword [ebp - 0x20]
fild dword [esi + 0x108]
fmul qword [0x438450]
fdiv st(2)
fsub st(1)
fstp qword [ebp - 0x28]
fstp st(0)
fstp st(0)
call fcn.00412ef0
fld qword [ebp - 0x28]
fsub qword [ebp - 0x20]
fmulp st(1)
fadd qword [ebp - 0x20]
fstp qword [esi + 0x180]
fld qword [0x4383d8]
fld qword [0x445d60]
fld qword [esi + 0x178]
fsub st(1)
xor cl, cl
fcomp qword [edi]
fnstsw ax
sahf
jbe 0x412895
fst qword [ebp - 0x18]
fcom qword [0x4385b0]
fnstsw ax
sahf
jae 0x412900
fadd st(1)
fstp qword [0x445d60]
jmp 0x412902
fld st(0)
fadd qword [esi + 0x178]
fcomp qword [edi]
fnstsw ax
sahf
jae 0x4128ad
fld st(0)
fchs
fstp qword [ebp - 0x18]
jmp 0x412880
fld qword [esi + 0x178]
fsub st(2)
fcomp qword [edi]
fnstsw ax
sahf
jbe 0x4128d4
fcom st(1)
fnstsw ax
sahf
jb 0x4128cf
fld st(0)
fsub st(2)
fst qword [0x445d60]
fstp st(1)
fstp qword [ebp - 0x18]
jmp 0x412902
fld qword [esi + 0x178]
fadd st(2)
fcomp qword [edi]
fnstsw ax
sahf
jae 0x4128fa
fcom st(1)
fnstsw ax
sahf
jb 0x4128f6
fld st(0)
fsub st(2)
fst qword [0x445d60]
fstp st(1)
fchs
jmp 0x4128cf
fstp st(0)
mov cl, 1
jmp 0x412902
fstp st(0)
cmp byte [esi + 0x203], 0
jne 0x412913
test cl, cl
je 0x4129dc
cmp byte [esi + 0x100], 0
fstp st(0)
fldz
fstp qword [ebp - 0x18]
jne 0x412971
fild dword [esi + 0xe4]
fld qword [0x4385f0]
fild dword [esi + 0x10c]
lea ecx, [esi + 0xdc]
fmul qword [0x438380]
fdiv st(2)
fsubr st(1)
fstp qword [ebp - 0x20]
fild dword [esi + 0x110]
fmul qword [0x438380]
fdiv st(2)
fsubr st(1)
fstp qword [ebp - 0x28]
fstp st(0)
fstp st(0)
call fcn.00412ef0
fld qword [ebp - 0x28]
fsub qword [ebp - 0x20]
fmulp st(1)
fadd qword [ebp - 0x20]
jmp 0x4129d0
lea ecx, [esi + 0xdc]
call fcn.00412e45
movsx eax, ax
mov dword [ebp - 0xc], eax
mov eax, dword [esi + 0x2ac]
fild dword [ebp - 0xc]
test al, 0x20
fmul qword [0x4385a0]
je 0x4129a2
fcom qword [0x438448]
fnstsw ax
sahf
jbe 0x4129b7
jmp 0x4129b1
test al, 0x10
je 0x4129b7
fcom qword [0x438448]
fnstsw ax
sahf
jbe 0x4129ca
fld st(0)
fmulp st(1)
jmp 0x4129ca
fcom qword [0x438448]
fnstsw ax
sahf
jae 0x4129ca
fld st(0)
fmul st(1)
fchs
fstp st(1)
fmul qword [0x4385f0]
fstp qword [esi + 0x178]
fld qword [0x4383d8]
test byte [0x444638], 4
jne 0x4129fa
fld qword [0x4384e8]
or byte [0x444638], 4
fst qword [0x445d78]
jmp 0x412a00
fld qword [0x445d78]
fld qword [esi + 0x1d0]
fld qword [esi + 0x1a0]
fmul qword [0x438598]
xor cl, cl
fstp qword [ebp - 0x28]
fldz
fstp qword [ebp - 0x10]
fld qword [esi + 0x170]
fsub st(2)
fld st(1)
fcompp
fnstsw ax
sahf
jae 0x412a34
fstp st(0)
fst qword [ebp - 0x10]
jmp 0x412a4e
fld st(1)
fadd qword [esi + 0x170]
fld st(1)
fcompp
fnstsw ax
sahf
jbe 0x412a63
fstp st(0)
fld st(0)
fchs
fstp qword [ebp - 0x10]
fcom qword [0x4384e8]
fnstsw ax
sahf
jae 0x412ad0
fadd st(1)
fstp qword [0x445d78]
jmp 0x412ad2
fld qword [esi + 0x170]
fsub st(3)
fld st(1)
fcompp
fnstsw ax
sahf
jae 0x412a96
fstp st(0)
fcom st(1)
fnstsw ax
sahf
jb 0x412a87
fsub st(1)
fstp qword [0x445d78]
jmp 0x412a89
fstp st(0)
fstp st(0)
fld qword [0x445d78]
fstp qword [ebp - 0x10]
jmp 0x412ad4
fld qword [esi + 0x170]
fadd st(3)
fld st(1)
fcompp
fnstsw ax
sahf
fstp st(0)
jbe 0x412ac8
fcom st(1)
fnstsw ax
sahf
jb 0x412aba
fsub st(1)
fstp qword [0x445d78]
jmp 0x412abc
fstp st(0)
fstp st(0)
fld qword [0x445d78]
fchs
jmp 0x412a91
fstp st(0)
fstp st(0)
mov cl, 1
jmp 0x412ad4
fstp st(0)
fstp st(0)
cmp byte [esi + 0x203], 0
jne 0x412ae5
test cl, cl
je 0x412b77
fldz
lea ecx, [esi + 0xdc]
fstp qword [ebp - 0x10]
fld qword [esi + 0x1c0]
fsub qword [esi + 0x1b8]
fstp qword [ebp - 0x20]
call fcn.00412ebc
fmul qword [ebp - 0x20]
fst qword [ebp - 0x38]
fadd qword [esi + 0x1d0]
fcom qword [esi + 0x1b8]
fnstsw ax
sahf
jb 0x412b26
fcom qword [esi + 0x1c0]
fnstsw ax
sahf
jbe 0x412b31
fstp st(0)
fld qword [esi + 0x1d0]
fsub qword [ebp - 0x38]
fstp qword [esi + 0x170]
fld qword [esi + 0x170]
fcomp qword [esi + 0x1c0]
fnstsw ax
sahf
jbe 0x412b57
fld qword [esi + 0x170]
fsub qword [ebp - 0x20]
fstp qword [esi + 0x170]
fld qword [esi + 0x170]
fcomp qword [esi + 0x1b8]
fnstsw ax
sahf
jae 0x412b77
fld qword [ebp - 0x20]
fadd qword [esi + 0x170]
fstp qword [esi + 0x170]
fld qword [esi + 0x170]
fcomp qword [ebp - 0x28]
fnstsw ax
sahf
jae 0x412b8e
fld qword [ebp - 0x28]
fstp qword [esi + 0x170]
fld qword [ebp - 0x10]
fmul qword [esi + 0xc50]
and byte [esi + 0x203], 0
fmul qword [ebp - 0x30]
fmul qword [0x4383c0]
fadd qword [esi + 0x1d0]
fst qword [esi + 0x1d0]
fld qword [ebp - 8]
fstp qword [esi + 0x128]
fld qword [ebp - 0x18]
fstp qword [esi + 0x130]
fmul qword [esi + 0xc50]
fmul qword [ebp - 0x30]
fmul qword [ebp - 8]
fmul qword [0x438590]
fadd qword [ebx]
fstp qword [ebx]
fld qword [ebp - 0x30]
fmul qword [esi + 0xc50]
fmul qword [ebp - 0x18]
fmul qword [esi + 0x1d0]
fmul qword [0x438590]
fadd qword [edi]
fstp qword [edi]
jmp 0x412512
cmp eax, 4
jne 0x412c35
fld qword [ebp - 8]
fstp qword [esi + 0x128]
fld qword [ebp - 0x18]
fld st(0)
fsub qword [edi]
fstp qword [esi + 0x130]
fld qword [esi + 0xc50]
fmul qword [esi + 0x1d0]
fmul qword [ebp - 8]
fmul qword [0x438590]
fadd qword [ebx]
fstp qword [ebx]
jmp 0x412d4b
cmp eax, 7
jne 0x412d04
cmp byte [esi + 0x2a20], 0
jne 0x412512
fld1
push ecx
push ecx
fsub qword [esi + 0xc68]
fstp qword [esp]
fld qword [0x438588]
push ecx
push ecx
fstp qword [esp]
call fcn.00428759
fld qword [esi + 0xc50]
add esp, 8
fstp qword [esp]
push ecx
push ecx
fstp qword [esp]
call fcn.00428759
fld qword [ebp - 8]
fmul qword [esi + 0x1d0]
lea eax, [esi + 0x128]
add esp, 0x10
fmul qword [0x438580]
fld st(1)
fmul qword [eax]
faddp st(1)
fst qword [ebp - 0x28]
fstp qword [eax]
fld qword [ebp - 0x18]
fmul qword [esi + 0x1d0]
fmul qword [0x438578]
fld st(1)
fmul qword [esi + 0x130]
faddp st(1)
fstp qword [esi + 0x130]
fstp st(0)
fld qword [esi + 0xc68]
fmul qword [0x438570]
fsubr qword [0x438538]
fld st(0)
fmul qword [ebp - 0x28]
fmul qword [esi + 0xc50]
fmul qword [0x438568]
fadd qword [ebx]
fstp qword [ebx]
fmul qword [esi + 0x130]
fmul qword [esi + 0xc50]
fmul qword [0x438568]
fadd qword [edi]
fstp qword [edi]
jmp 0x41269c
cmp eax, 5
jne 0x412512
fld qword [ebp - 8]
lea eax, [esi + 0xc50]
lea ecx, [esi + 0x1d0]
fstp qword [esi + 0x128]
fld qword [ebp - 0x18]
fstp qword [esi + 0x130]
fld qword [ebp - 8]
fmul qword [eax]
fmul qword [ecx]
fmul qword [0x438560]
fadd qword [ebx]
fstp qword [ebx]
fld qword [ebp - 0x18]
fmul qword [eax]
fmul qword [ecx]
fmul qword [0x438590]
fadd qword [edi]
fstp qword [edi]
jmp 0x412512
cmp byte [esi + 0x200], 0
lea eax, [esi + 0x200]
je 0x412d6c
and byte [eax], 0
push 0
call dword [sym.imp.USER32.dll_ShowCursor]
fld qword [edi]
fcomp qword [0x4385f0]
fnstsw ax
sahf
jbe 0x412d81
fld qword [0x4385f0]
jmp 0x412d94
fld qword [edi]
fcomp qword [0x4385e0]
fnstsw ax
sahf
jae 0x412d96
fld qword [0x4385e0]
fstp qword [edi]
fld qword [esi + 0x1d8]
push ecx
push ecx
fstp qword [esp]
fld qword [esi + 0x1d0]
push ecx
push ecx
lea ecx, [esi + 0xe0]
fstp qword [esp]
push edi
push ebx
call fcn.00419db0
test al, al
jne 0x412dcd
fld qword [ebx]
fstp qword [esi + 0x180]
fld qword [edi]
fstp qword [esi + 0x178]
cmp byte [esi + 0x378], 0
jne 0x412e40
fldz
push ecx
add esi, 0x2360
fstp dword [esp]
fldz
push ecx
fstp dword [esp]
fldz
push ecx
fstp dword [esp]
push esi
call fcn.0041cc14
fld qword [ebx]
fmul qword [0x438558]
push ecx
lea eax, [ebp - 0x88]
fstp dword [esp]
push eax
call fcn.0041ccea
lea eax, [ebp - 0x88]
push eax
push esi
push esi
call fcn.0041cb31
fld qword [edi]
fmul qword [0x438550]
push ecx
lea eax, [ebp - 0x88]
fstp dword [esp]
push eax
call fcn.0041cc70
lea eax, [ebp - 0x88]
push eax
push esi
push esi
call fcn.0041cb31
pop edi
pop esi
pop ebx
leave
ret