Function at 0x4083f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffff004
push eax
add esp, 0xfffff580
mov edx, dword [0x40bb1c]
xor eax, eax
call fcn.00404ed0
push 0
push 1
push 0x4195a0
push 0
mov eax, dword [0x40bb1c]
push eax
mov eax, dword [eax]
call dword [eax + 0x64]
mov eax, dword [0x4195c4]
mov dword [0x419714], eax
mov eax, dword [0x40bb4c]
cmp byte [eax], 0
je 0x40847b
mov eax, dword [0x4195b0]
shr eax, 2
mov dword [esp], eax
mov eax, dword [0x40bb34]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x40bb34]
mov edx, dword [esp]
mov dword [eax + 4], edx
mov edi, 0x4af
mov ebx, dword [0x40bb34]
add ebx, 4
mov eax, dword [ebx]
add eax, dword [esp]
mov dword [ebx + 4], eax
add ebx, 4
dec edi
jne 0x408465
mov eax, dword [0x40bb4c]
mov byte [eax], 0
mov eax, dword [0x41dd3c]
mov edx, dword [0x41dd40]
sub eax, dword [0x41dd44]
sbb edx, dword [0x41dd48]
mov dword [esp + 0x1a30], eax
mov dword [esp + 0x1a34], edx
fild qword [esp + 0x1a30]
fild qword [0x41dd4c]
fdivp st(1)
fstp qword [0x41dd54]
wait
mov eax, dword [0x41dd3c]
mov dword [0x41dd44], eax
mov eax, dword [0x41dd40]
mov dword [0x41dd48], eax
push 0x41dd3c
call sub.kernel32.dll_QueryPerformanceCounter
fld qword [0x41973c]
call fcn.00402708
cmp eax, 0xa
jge 0x408501
sub eax, 3
jb 0x40852a
sub eax, 3
jb 0x408557
sub eax, 4
jb 0x408584
jmp 0x409e8d
add eax, 0xfffffff6
sub eax, 0xb
jb 0x4085b1
sub eax, 0xf
jb 0x40884b
sub eax, 0xf
jb 0x409852
je 0x409e7c
jmp 0x409e8d
push 0x40340000
push 0
push 0x403e0000
push 0
mov eax, dword [0x419714]
push eax
mov ecx, 0xff00
mov edx, 0x409ee4
mov eax, 0x12c
call fcn.00405674
jmp 0x409e8d
push 0x40340000
push 0
push 0x403e0000
push 0
mov eax, dword [0x419714]
push eax
mov ecx, 0xff00
mov edx, 0x409f00
mov eax, 0x12c
call fcn.00405674
jmp 0x409e8d
push 0x403e0000
push 0
push 0x40490000
push 0
mov eax, dword [0x419714]
push eax
mov ecx, 0xffff
mov edx, 0x409f1c
mov eax, 0x12c
call fcn.00405674
jmp 0x409e8d
push 0x1f4
mov eax, dword [0x419714]
push eax
push 0xffffff
lea eax, [esp + 0x1a3c]
push eax
mov ecx, 0x2bc
mov edx, 0x63
mov eax, 0x63
call fcn.00405244
xor edi, edi
mov ebx, 0x41dbac
fld qword [ebx + 0x10]
call fcn.004026c4
fmul qword [ebx + 0x18]
fmul qword [0x41dd54]
fadd qword [ebx]
fstp qword [ebx]
wait
xor eax, eax
mov al, byte [ebx + 0x20]
mov dword [esp + 0x1a38], eax
fild dword [esp + 0x1a38]
fsubr qword [ebx]
fcomp dword [0x409f28]
fnstsw ax
sahf
jae 0x408656
xor eax, eax
mov al, byte [ebx + 0x20]
mov dword [esp + 0x1a38], eax
fild dword [esp + 0x1a38]
fsubr qword [ebx]
fsub dword [0x409f28]
fsubr qword [ebx]
fstp qword [ebx]
wait
fld xword [0x409f2c]
fsub qword [ebx + 0x10]
fstp qword [ebx + 0x10]
wait
lea eax, [ebx + 0x20]
mov ecx, 1
mov dl, 0xc8
call fcn.00404c7c
xor eax, eax
mov al, byte [ebx + 0x20]
mov dword [esp + 0x1a38], eax
fild dword [esp + 0x1a38]
fadd qword [ebx]
fcomp dword [0x409f38]
fnstsw ax
sahf
jbe 0x4086b2
xor eax, eax
mov al, byte [ebx + 0x20]
mov dword [esp + 0x1a38], eax
fild dword [esp + 0x1a38]
fadd qword [ebx]
fsub dword [0x409f38]
fsubr qword [ebx]
fstp qword [ebx]
wait
fld xword [0x409f2c]
fsub qword [ebx + 0x10]
fstp qword [ebx + 0x10]
wait
lea eax, [ebx + 0x20]
mov ecx, 1
mov dl, 0xc8
call fcn.00404c7c
fld qword [ebx + 0x10]
call fcn.004026ec
fmul qword [ebx + 0x18]
fmul qword [0x41dd54]
fadd qword [ebx + 8]
fstp qword [ebx + 8]
wait
xor eax, eax
mov al, byte [ebx + 0x20]
mov dword [esp + 0x1a38], eax
fild dword [esp + 0x1a38]
fsubr qword [ebx + 8]
fcomp dword [0x409f28]
fnstsw ax
sahf
jae 0x408726
xor eax, eax
mov al, byte [ebx + 0x20]
mov dword [esp + 0x1a38], eax
fild dword [esp + 0x1a38]
fsubr qword [ebx + 8]
fsub dword [0x409f28]
fsubr qword [ebx + 8]
fstp qword [ebx + 8]
wait
fld qword [ebx + 0x10]
fchs
fstp qword [ebx + 0x10]
wait
lea eax, [ebx + 0x20]
mov ecx, 1
mov dl, 0xc8
call fcn.00404c7c
xor eax, eax
mov al, byte [ebx + 0x20]
mov dword [esp + 0x1a38], eax
fild dword [esp + 0x1a38]
fadd qword [ebx + 8]
fcomp dword [0x409f3c]
fnstsw ax
sahf
jbe 0x408782
xor eax, eax
mov al, byte [ebx + 0x20]
mov dword [esp + 0x1a38], eax
fild dword [esp + 0x1a38]
fadd qword [ebx + 8]
fsub dword [0x409f3c]
fsubr qword [ebx + 8]
fstp qword [ebx + 8]
wait
fld qword [ebx + 0x10]
fchs
fstp qword [ebx + 0x10]
wait
lea eax, [ebx + 0x20]
mov ecx, 1
mov dl, 0xc8
call fcn.00404c7c
lea esi, [edi + 1]
cmp esi, 9
jg 0x408804
fld qword [ebx]
lea ebp, [esi + esi*4]
fsub qword [ebp*8 + 0x41dbac]
fmul st(0)
fstp xword [esp + 0x1a3c]
wait
fld qword [ebx + 8]
fsub qword [ebp*8 + 0x41dbb4]
fmul st(0)
fld xword [esp + 0x1a3c]
faddp st(1)
fsqrt
xor eax, eax
mov al, byte [ebx + 0x20]
xor edx, edx
mov dl, byte [ebp*8 + 0x41dbcc]
add eax, edx
mov dword [esp + 0x1a38], eax
fild dword [esp + 0x1a38]
fcompp
fnstsw ax
sahf
jbe 0x4087fe
lea eax, [ebx + 0x20]
mov ecx, 1
mov dl, 1
call fcn.00404ca0
lea eax, [ebp*8 + 0x41dbcc]
mov ecx, 1
mov dl, 1
call fcn.00404ca0
inc esi
cmp esi, 9
jle 0x40878a
inc edi
add ebx, 0x28
cmp edi, 0xa
jne 0x4085e4
mov edi, 0xa
mov ebx, 0x41dbac
mov eax, dword [0x419714]
push eax
mov eax, dword [ebx + 0x24]
push eax
fld qword [ebx + 8]
call fcn.004026fc
push eax
fld qword [ebx]
call fcn.004026fc
xor ecx, ecx
mov cl, byte [ebx + 0x20]
pop edx
call fcn.00407e10
add ebx, 0x28
dec edi
jne 0x40881b
jmp 0x409e8d
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0x40690000
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 0x4072c000
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0xc062c000
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0x4062c000
mov eax, dword [esp + 0x28]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x58], 0x54442d18
mov dword [esp + 0x5c], 0x3fd921fb
xor edi, edi
lea eax, [esp + 0x278]
mov edx, 0x600
call fcn.0040481c
cmp edi, 0x30
jge 0x408d0e
mov eax, edi
sub eax, 0x10
jb 0x4088e9
sub eax, 0x10
jb 0x40894e
sub eax, 0x10
jb 0x4089c3
jmp 0x408a36
mov dword [esp + 0x1a38], edi
fild dword [esp + 0x1a38]
fmul qword [esp + 0x58]
call fcn.004026c4
fmul qword [esp + 0x28]
fadd qword [esp + 0x10]
fstp qword [0x419774]
wait
mov eax, dword [esp + 0x18]
mov dword [0x41977c], eax
mov eax, dword [esp + 0x1c]
mov dword [0x419780], eax
mov dword [esp + 0x1a38], edi
fild dword [esp + 0x1a38]
fmul qword [esp + 0x58]
call fcn.004026ec
fmul qword [esp + 0x38]
fadd qword [esp + 0x20]
fstp qword [0x419784]
wait
jmp 0x408a36
mov eax, edi
and eax, 0x80000007
jns 0x40895c
dec eax
or eax, 0xfffffff8
inc eax
test eax, eax
jne 0x408961
inc edi
mov dword [esp + 0x1a38], edi
fild dword [esp + 0x1a38]
fmul qword [esp + 0x58]
call fcn.004026c4
fmul qword [esp + 0x28]
fadd qword [esp + 0x10]
fstp qword [0x419774]
wait
mov dword [esp + 0x1a38], edi
fild dword [esp + 0x1a38]
fmul qword [esp + 0x58]
call fcn.004026ec
fmul qword [esp + 0x30]
fadd qword [esp + 0x18]
fstp qword [0x41977c]
wait
mov eax, dword [esp + 0x20]
mov dword [0x419784], eax
mov eax, dword [esp + 0x24]
mov dword [0x419788], eax
jmp 0x408a36
mov eax, edi
and eax, 0x80000003
jns 0x4089d1
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x4089d6
inc edi
mov eax, dword [esp + 0x10]
mov dword [0x419774], eax
mov eax, dword [esp + 0x14]
mov dword [0x419778], eax
mov dword [esp + 0x1a38], edi
fild dword [esp + 0x1a38]
fmul qword [esp + 0x58]
call fcn.004026c4
fmul qword [esp + 0x30]
fadd qword [esp + 0x18]
fstp qword [0x41977c]
wait
mov dword [esp + 0x1a38], edi
fild dword [esp + 0x1a38]
fmul qword [esp + 0x58]
call fcn.004026ec
fmul qword [esp + 0x38]
fadd qword [esp + 0x20]
fstp qword [0x419784]
wait
push dword [0x419778]
push dword [0x419774]
push dword [0x419780]
push dword [0x41977c]
push dword [0x419788]
push dword [0x419784]
push dword [esp + 0x2c]
push dword [esp + 0x2c]
push dword [esp + 0x3c]
push dword [esp + 0x3c]
push dword [esp + 0x4c]
push dword [esp + 0x4c]
fld qword [0x419734]
fdiv dword [0x409f40]
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [esp + 0x1a80]
call fcn.00407f74
push edi
lea esi, [esp + 0x1a4c]
mov edi, 0x419774
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
push dword [0x419778]
push dword [0x419774]
push dword [0x419780]
push dword [0x41977c]
push dword [0x419788]
push dword [0x419784]
push dword [esp + 0x2c]
push dword [esp + 0x2c]
push dword [esp + 0x3c]
push dword [esp + 0x3c]
push dword [esp + 0x4c]
push dword [esp + 0x4c]
fld qword [0x419734]
fdiv dword [0x409f40]
call fcn.004026ec
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [esp + 0x1a80]
call fcn.00408088
push edi
lea esi, [esp + 0x1a4c]
mov edi, 0x419774
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
push dword [0x419778]
push dword [0x419774]
push dword [0x419780]
push dword [0x41977c]
push dword [0x419788]
push dword [0x419784]
push dword [esp + 0x2c]
push dword [esp + 0x2c]
push dword [esp + 0x3c]
push dword [esp + 0x3c]
push dword [esp + 0x4c]
push dword [esp + 0x4c]
fld xword [0x409f44]
fdivr qword [0x419734]
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [esp + 0x1a80]
call fcn.00407ffc
push edi
lea esi, [esp + 0x1a4c]
mov edi, 0x419774
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
push dword [0x419778]
push dword [0x419774]
push dword [0x419780]
push dword [0x41977c]
push dword [0x419788]
push dword [0x419784]
push 0x4082c000
push 0
lea eax, [esp + 0x1a68]
call fcn.00408110
push edi
lea esi, [esp + 0x1a4c]
mov edi, 0x4197d4
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
fld qword [0x419774]
fsub dword [0x409f50]
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [0x419780]
push dword [0x41977c]
push dword [0x419788]
push dword [0x419784]
push 0x4082c000
push 0
lea eax, [esp + 0x1a68]
call fcn.00408110
push edi
lea esi, [esp + 0x1a4c]
mov edi, 0x4197ec
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
fld qword [0x419774]
fadd dword [0x409f50]
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [0x419780]
push dword [0x41977c]
push dword [0x419788]
push dword [0x419784]
push 0x4082c000
push 0
lea eax, [esp + 0x1a68]
call fcn.00408110
push edi
lea esi, [esp + 0x1a4c]
mov edi, 0x419804
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
fld qword [0x4197d4]
call fcn.004026fc
mov edx, edi
shl edx, 2
mov dword [esp + edx*8 + 0x278], eax
fld qword [0x4197dc]
call fcn.004026fc
mov edx, edi
shl edx, 2
mov dword [esp + edx*8 + 0x27c], eax
fld qword [0x419804]
fsub qword [0x4197ec]
call fcn.004026fc
mov edx, edi
shl edx, 2
mov dword [esp + edx*8 + 0x280], eax
lea eax, [edi + 1]
imul eax, eax, 0x627522
mov ecx, 0xffffff
cdq
idiv ecx
mov eax, edi
shl eax, 2
mov dword [esp + eax*8 + 0x290], edx
mov eax, edi
shl eax, 2
mov edx, dword [0x419784]
mov dword [esp + eax*8 + 0x288], edx
mov edx, dword [0x419788]
mov dword [esp + eax*8 + 0x28c], edx
inc edi
cmp edi, 0x30
jl 0x4088cf
xor edi, edi
lea ebx, [edi + 1]
sub ebx, 0x2f
jg 0x408d65
dec ebx
lea edx, [esp + 0x868]
fld qword [edx]
fcomp qword [edx - 0x20]
fnstsw ax
sahf
jae 0x408d5f
push edi
lea esi, [edx - 0x10]
lea edi, [esp + 0x87c]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
pop edi
push edi
lea esi, [edx - 0x30]
lea edi, [edx - 0x10]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
pop edi
push edi
lea edi, [edx - 0x30]
lea esi, [esp + 0x87c]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
pop edi
sub edx, 0x20
inc ebx
jne 0x408d20
inc edi
cmp edi, 0x30
jne 0x408d10
mov edi, 0x2a
lea ebx, [esp + 0x278]
mov eax, dword [0x419714]
push eax
mov eax, dword [ebx + 0x18]
push eax
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 4]
mov eax, dword [ebx]
call fcn.00407e10
add ebx, 0x20
dec edi
jne 0x408d77
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0x40845000
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 0x404a8000
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0xc0490000
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0x40590000
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], 0x40310000
mov eax, dword [esp + 0x28]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x3c], eax
xor edi, edi
lea ebx, [esp + 0x898]
xor esi, esi
mov ebp, ebx
mov dword [esp + 0x1a38], edi
fild dword [esp + 0x1a38]
fdiv dword [0x409f54]
fadd qword [0x419734]
call fcn.004026ec
mov dword [esp + 0x1a60], esi
fild dword [esp + 0x1a60]
fld xword [0x409f2c]
fmulp st(1)
fdiv dword [0x409f40]
fadd qword [0x419734]
mov dword [esp + 0x1a64], edi
fild dword [esp + 0x1a64]
fdiv dword [0x409f58]
faddp st(1)
faddp st(1)
call fcn.004026c4
fmul qword [esp + 0x28]
fadd qword [esp + 0x10]
fstp qword [ebp]
wait
mov dword [esp + 0x1a38], edi
fild dword [esp + 0x1a38]
fmul qword [esp + 0x30]
fadd qword [esp + 0x18]
fstp qword [ebp + 8]
wait
mov dword [esp + 0x1a38], edi
fild dword [esp + 0x1a38]
fdiv dword [0x409f54]
fadd qword [0x419734]
call fcn.004026ec
mov dword [esp + 0x1a60], esi
fild dword [esp + 0x1a60]
fld xword [0x409f2c]
fmulp st(1)
fdiv dword [0x409f40]
fadd qword [0x419734]
mov dword [esp + 0x1a64], edi
fild dword [esp + 0x1a64]
fdiv dword [0x409f58]
faddp st(1)
faddp st(1)
call fcn.004026ec
fmul qword [esp + 0x38]
fadd qword [esp + 0x20]
fstp qword [ebp + 0x10]
wait
inc esi
add ebp, 0x18
cmp esi, 4
jne 0x408df7
inc edi
add ebx, 0x60
cmp edi, 0x1e
jne 0x408df3
mov edi, 0xe
lea ebx, [esp + 0x898]
xor esi, esi
mov ebp, ebx
push esi
push edi
mov esi, ebp
mov edi, 0x419774
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
lea eax, [esi + 1]
and eax, 0x80000003
jns 0x408f30
dec eax
or eax, 0xfffffffc
inc eax
lea eax, [eax + eax*2]
push esi
push edi
lea esi, [ebx + eax*8]
mov edi, 0x41978c
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push esi
push edi
lea esi, [ebp + 0x60]
mov edi, 0x4197a4
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push dword [0x419778]
push dword [0x419774]
push dword [0x419780]
push dword [0x41977c]
push dword [0x419788]
push dword [0x419784]
push 0x4082c000
push 0
lea eax, [esp + 0x1a68]
call fcn.00408110
push esi
push edi
lea esi, [esp + 0x1a50]
mov edi, 0x4197d4
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push dword [0x419790]
push dword [0x41978c]
push dword [0x419798]
push dword [0x419794]
push dword [0x4197a0]
push dword [0x41979c]
push 0x4082c000
push 0
lea eax, [esp + 0x1a68]
call fcn.00408110
push esi
push edi
lea esi, [esp + 0x1a50]
mov edi, 0x4197ec
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push dword [0x4197a8]
push dword [0x4197a4]
push dword [0x4197b0]
push dword [0x4197ac]
push dword [0x4197b8]
push dword [0x4197b4]
push 0x4082c000
push 0
lea eax, [esp + 0x1a68]
call fcn.00408110
push esi
push edi
lea esi, [esp + 0x1a50]
mov edi, 0x419804
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
lea eax, [esp + 0x1a48]
push eax
mov ecx, 0x419804
mov edx, 0x4197ec
mov eax, 0x4197d4
call fcn.00408370
push esi
push edi
lea esi, [esp + 0x1a50]
mov edi, 0x419744
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
lea eax, [esp + 0x1a48]
push eax
mov ecx, 0x4197a4
mov edx, 0x41978c
mov eax, 0x419774
call fcn.00408370
push esi
push edi
lea esi, [esp + 0x1a50]
mov edi, 0x41975c
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov eax, 0x41975c
call fcn.0040823c
fstp st(0)
fld qword [0x41976c]
fcomp dword [0x409f5c]
fnstsw ax
sahf
jae 0x4090fb
fld qword [0x41976c]
fmul dword [0x409f60]
fabs
call fcn.004026fc
push eax
fld qword [0x41976c]
fmul dword [0x409f64]
fabs
call fcn.004026fc
xor ecx, ecx
pop edx
call fcn.00404cc4
mov dword [esp + 0x60], eax
jmp 0x409101
xor eax, eax
mov dword [esp + 0x60], eax
fld qword [0x419754]
fcomp dword [0x409f5c]
fnstsw ax
sahf
jae 0x40916b
fld qword [0x4197f4]
call fcn.004026fc
push eax
fld qword [0x419804]
call fcn.004026fc
push eax
fld qword [0x41980c]
call fcn.004026fc
push eax
mov eax, dword [0x419714]
push eax
mov eax, dword [esp + 0x70]
push eax
fld qword [0x4197ec]
call fcn.004026fc
push eax
fld qword [0x4197dc]
call fcn.004026fc
push eax
fld qword [0x4197d4]
call fcn.004026fc
pop edx
pop ecx
call fcn.00407938
lea eax, [esi + 1]
and eax, 0x80000003
jns 0x40917a
dec eax
or eax, 0xfffffffc
inc eax
lea eax, [eax + eax*2]
push esi
push edi
lea esi, [ebx + eax*8 + 0x60]
mov edi, 0x419774
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push esi
push edi
lea esi, [ebp + 0x60]
mov edi, 0x41978c
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
lea eax, [esi + 1]
and eax, 0x80000003
jns 0x4091b3
dec eax
or eax, 0xfffffffc
inc eax
lea eax, [eax + eax*2]
push esi
push edi
lea esi, [ebx + eax*8]
mov edi, 0x4197a4
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push dword [0x419778]
push dword [0x419774]
push dword [0x419780]
push dword [0x41977c]
push dword [0x419788]
push dword [0x419784]
push 0x4082c000
push 0
lea eax, [esp + 0x1a68]
call fcn.00408110
push esi
push edi
lea esi, [esp + 0x1a50]
mov edi, 0x4197d4
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push dword [0x419790]
push dword [0x41978c]
push dword [0x419798]
push dword [0x419794]
push dword [0x4197a0]
push dword [0x41979c]
push 0x4082c000
push 0
lea eax, [esp + 0x1a68]
call fcn.00408110
push esi
push edi
lea esi, [esp + 0x1a50]
mov edi, 0x4197ec
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push dword [0x4197a8]
push dword [0x4197a4]
push dword [0x4197b0]
push dword [0x4197ac]
push dword [0x4197b8]
push dword [0x4197b4]
push 0x4082c000
push 0
lea eax, [esp + 0x1a68]
call fcn.00408110
push esi
push edi
lea esi, [esp + 0x1a50]
mov edi, 0x419804
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
lea eax, [esp + 0x1a48]
push eax
mov ecx, 0x419804
mov edx, 0x4197ec
mov eax, 0x4197d4
call fcn.00408370
push esi
push edi
lea esi, [esp + 0x1a50]
mov edi, 0x419744
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
lea eax, [esp + 0x1a48]
push eax
mov ecx, 0x4197a4
mov edx, 0x41978c
mov eax, 0x419774
call fcn.00408370
push esi
push edi
lea esi, [esp + 0x1a50]
mov edi, 0x41975c
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov eax, 0x41975c
call fcn.0040823c
fstp st(0)
fld qword [0x419754]
fcomp dword [0x409f5c]
fnstsw ax
sahf
jae 0x40938f
fld qword [0x4197f4]
call fcn.004026fc
push eax
fld qword [0x419804]
call fcn.004026fc
push eax
fld qword [0x41980c]
call fcn.004026fc
push eax
mov eax, dword [0x419714]
push eax
mov eax, dword [esp + 0x70]
push eax
fld qword [0x4197ec]
call fcn.004026fc
push eax
fld qword [0x4197dc]
call fcn.004026fc
push eax
fld qword [0x4197d4]
call fcn.004026fc
pop edx
pop ecx
call fcn.00407938
inc esi
add ebp, 0x18
cmp esi, 4
jne 0x408f0f
add ebx, 0x60
dec edi
jne 0x408f0b
mov edi, 0xfffffff1
lea ebx, [esp + 0x12b8]
xor esi, esi
mov ebp, ebx
push esi
push edi
mov esi, ebp
mov edi, 0x419774
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
lea eax, [esi + 1]
and eax, 0x80000003
jns 0x4093d7
dec eax
or eax, 0xfffffffc
inc eax
lea eax, [eax + eax*2]
push esi
push edi
lea esi, [ebx + eax*8]
mov edi, 0x41978c
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push esi
push edi
lea esi, [ebp + 0x60]
mov edi, 0x4197a4
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push dword [0x419778]
push dword [0x419774]
push dword [0x419780]
push dword [0x41977c]
push dword [0x419788]
push dword [0x419784]
push 0x4082c000
push 0
lea eax, [esp + 0x1a68]
call fcn.00408110
push esi
push edi
lea esi, [esp + 0x1a50]
mov edi, 0x4197d4
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push dword [0x419790]
push dword [0x41978c]
push dword [0x419798]
push dword [0x419794]
push dword [0x4197a0]
push dword [0x41979c]
push 0x4082c000
push 0
lea eax, [esp + 0x1a68]
call fcn.00408110
push esi
push edi
lea esi, [esp + 0x1a50]
mov edi, 0x4197ec
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push dword [0x4197a8]
push dword [0x4197a4]
push dword [0x4197b0]
push dword [0x4197ac]
push dword [0x4197b8]
push dword [0x4197b4]
push 0x4082c000
push 0
lea eax, [esp + 0x1a68]
call fcn.00408110
push esi
push edi
lea esi, [esp + 0x1a50]
mov edi, 0x419804
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
lea eax, [esp + 0x1a48]
push eax
mov ecx, 0x419804
mov edx, 0x4197ec
mov eax, 0x4197d4
call fcn.00408370
push esi
push edi
lea esi, [esp + 0x1a50]
mov edi, 0x419744
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
lea eax, [esp + 0x1a48]
push eax
mov ecx, 0x4197a4
mov edx, 0x41978c
mov eax, 0x419774
call fcn.00408370
push esi
push edi
lea esi, [esp + 0x1a50]
mov edi, 0x41975c
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov eax, 0x41975c
call fcn.0040823c
fstp st(0)
fld qword [0x41976c]
fcomp dword [0x409f5c]
fnstsw ax
sahf
jae 0x4095a2
fld qword [0x41976c]
fmul dword [0x409f60]
fabs
call fcn.004026fc
push eax
fld qword [0x41976c]
fmul dword [0x409f64]
fabs
call fcn.004026fc
xor ecx, ecx
pop edx
call fcn.00404cc4
mov dword [esp + 0x60], eax
jmp 0x4095a8
xor eax, eax
mov dword [esp + 0x60], eax
fld qword [0x419754]
fcomp dword [0x409f5c]
fnstsw ax
sahf
jae 0x409612
fld qword [0x4197f4]
call fcn.004026fc
push eax
fld qword [0x419804]
call fcn.004026fc
push eax
fld qword [0x41980c]
call fcn.004026fc
push eax
mov eax, dword [0x419714]
push eax
mov eax, dword [esp + 0x70]
push eax
fld qword [0x4197ec]
call fcn.004026fc
push eax
fld qword [0x4197dc]
call fcn.004026fc
push eax
fld qword [0x4197d4]
call fcn.004026fc
pop edx
pop ecx
call fcn.00407938
lea eax, [esi + 1]
and eax, 0x80000003
jns 0x409621
dec eax
or eax, 0xfffffffc
inc eax
lea eax, [eax + eax*2]
push esi
push edi
lea esi, [ebx + eax*8 + 0x60]
mov edi, 0x419774
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push esi
push edi
lea esi, [ebp + 0x60]
mov edi, 0x41978c
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
lea eax, [esi + 1]
and eax, 0x80000003
jns 0x40965a
dec eax
or eax, 0xfffffffc
inc eax
lea eax, [eax + eax*2]
push esi
push edi
lea esi, [ebx + eax*8]
mov edi, 0x4197a4
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push dword [0x419778]
push dword [0x419774]
push dword [0x419780]
push dword [0x41977c]
push dword [0x419788]
push dword [0x419784]
push 0x4082c000
push 0
lea eax, [esp + 0x1a68]
call fcn.00408110
push esi
push edi
lea esi, [esp + 0x1a50]
mov edi, 0x4197d4
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push dword [0x419790]
push dword [0x41978c]
push dword [0x419798]
push dword [0x419794]
push dword [0x4197a0]
push dword [0x41979c]
push 0x4082c000
push 0
lea eax, [esp + 0x1a68]
call fcn.00408110
push esi
push edi
lea esi, [esp + 0x1a50]
mov edi, 0x4197ec
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push dword [0x4197a8]
push dword [0x4197a4]
push dword [0x4197b0]
push dword [0x4197ac]
push dword [0x4197b8]
push dword [0x4197b4]
push 0x4082c000
push 0
lea eax, [esp + 0x1a68]
call fcn.00408110
push esi
push edi
lea esi, [esp + 0x1a50]
mov edi, 0x419804
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
lea eax, [esp + 0x1a48]
push eax
mov ecx, 0x419804
mov edx, 0x4197ec
mov eax, 0x4197d4
call fcn.00408370
push esi
push edi
lea esi, [esp + 0x1a50]
mov edi, 0x419744
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
lea eax, [esp + 0x1a48]
push eax
mov ecx, 0x4197a4
mov edx, 0x41978c
mov eax, 0x419774
call fcn.00408370
push esi
push edi
lea esi, [esp + 0x1a50]
mov edi, 0x41975c
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov eax, 0x41975c
call fcn.0040823c
fstp st(0)
fld qword [0x419754]
fcomp dword [0x409f5c]
fnstsw ax
sahf
jae 0x409836
fld qword [0x4197f4]
call fcn.004026fc
push eax
fld qword [0x419804]
call fcn.004026fc
push eax
fld qword [0x41980c]
call fcn.004026fc
push eax
mov eax, dword [0x419714]
push eax
mov eax, dword [esp + 0x70]
push eax
fld qword [0x4197ec]
call fcn.004026fc
push eax
fld qword [0x4197dc]
call fcn.004026fc
push eax
fld qword [0x4197d4]
call fcn.004026fc
pop edx
pop ecx
call fcn.00407938
inc esi
add ebp, 0x18
cmp esi, 4
jne 0x4093b6
sub ebx, 0x60
inc edi
jne 0x4093b2
jmp 0x409e8d
xor eax, eax
mov dword [esp + 4], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0x40240000
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], 0x40590000
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 0x40240000
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0x40590000
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 0x40809000
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0xc082c000
lea eax, [esp + 0x78]
mov edx, 0x200
call fcn.0040481c
xor esi, esi
xor eax, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
xor ebx, ebx
lea edi, [esp + 0x70]
lea eax, [esi + ebx]
mov dword [esp + 0x1a38], eax
fild dword [esp + 0x1a38]
fdiv dword [0x409f58]
call fcn.004026ec
fstp xword [esp + 0x1a3c]
wait
mov dword [esp + 0x1a60], esi
fild dword [esp + 0x1a60]
fdiv dword [0x409f68]
mov dword [esp + 0x1a64], ebx
fild dword [esp + 0x1a64]
fdiv dword [0x409f58]
faddp st(1)
fld xword [0x409f6c]
fmul qword [0x419734]
faddp st(1)
call fcn.004026c4
fmul dword [0x409f78]
mov dword [esp + 0x1a68], ebx
fild dword [esp + 0x1a68]
fdiv dword [0x409f7c]
faddp st(1)
call fcn.004026c4
fld xword [esp + 0x1a3c]
fmulp st(1)
fstp xword [esp + 0x1a6c]
wait
mov dword [esp + 0x1a78], ebx
fild dword [esp + 0x1a78]
fdiv dword [0x409f80]
fmul qword [0x419734]
fld xword [0x409f84]
fmulp st(1)
call fcn.004026c4
fmul dword [0x409f54]
mov dword [esp + 0x1a7c], esi
fild dword [esp + 0x1a7c]
fdiv dword [0x409f90]
faddp st(1)
call fcn.004026ec
fld xword [esp + 0x1a6c]
fmulp st(1)
fabs
fstp qword [esp + 0x40]
wait
test ebx, ebx
jle 0x409d8c
test esi, esi
jle 0x409d8c
mov dword [esp + 0x1a38], ebx
fild dword [esp + 0x1a38]
add esp, 0xfffffff8
fstp qword [esp]
wait
fild dword [esp + 0xc]
add esp, 0xfffffff8
fstp qword [esp]
wait
mov dword [esp + 0x1a70], esi
fild dword [esp + 0x1a70]
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [esp + 0x1a60]
call fcn.00408210
push esi
push edi
lea esi, [esp + 0x1a50]
mov edi, 0x419774
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
lea eax, [ebx + 1]
mov dword [esp + 0x1a38], eax
fild dword [esp + 0x1a38]
add esp, 0xfffffff8
fstp qword [esp]
wait
fild dword [esp + 0xc]
add esp, 0xfffffff8
fstp qword [esp]
wait
mov dword [esp + 0x1a70], esi
fild dword [esp + 0x1a70]
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [esp + 0x1a60]
call fcn.00408210
push esi
push edi
lea esi, [esp + 0x1a50]
mov edi, 0x41978c
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov dword [esp + 0x1a38], ebx
fild dword [esp + 0x1a38]
add esp, 0xfffffff8
fstp qword [esp]
wait
fild dword [esp + 0xc]
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [esi + 1]
mov dword [esp + 0x1a70], eax
fild dword [esp + 0x1a70]
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [esp + 0x1a60]
call fcn.00408210
push esi
push edi
lea esi, [esp + 0x1a50]
mov edi, 0x4197a4
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
lea eax, [ebx + 1]
mov dword [esp + 0x1a38], eax
fild dword [esp + 0x1a38]
add esp, 0xfffffff8
fstp qword [esp]
wait
fild dword [esp + 0xc]
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [esi + 1]
mov dword [esp + 0x1a70], eax
fild dword [esp + 0x1a70]
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [esp + 0x1a60]
call fcn.00408210
push esi
push edi
lea esi, [esp + 0x1a50]
mov edi, 0x4197bc
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
fld qword [esp + 0x28]
fmul qword [0x419774]
fadd qword [esp + 0x10]
add esp, 0xfffffff8
fstp qword [esp]
wait
fld qword [0x41977c]
fsub qword [edi]
fmul qword [esp + 0x38]
fadd qword [esp + 0x20]
add esp, 0xfffffff8
fstp qword [esp]
wait
fld qword [esp + 0x48]
fmul qword [0x419784]
fadd qword [esp + 0x30]
add esp, 0xfffffff8
fstp qword [esp]
wait
push 0x4082c000
push 0
lea eax, [esp + 0x1a68]
call fcn.00408110
push esi
push edi
lea esi, [esp + 0x1a50]
mov edi, 0x4197d4
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
fld qword [esp + 0x28]
fmul qword [0x41978c]
fadd qword [esp + 0x10]
add esp, 0xfffffff8
fstp qword [esp]
wait
fld qword [0x419794]
fsub qword [edi + 8]
fmul qword [esp + 0x38]
fadd qword [esp + 0x20]
add esp, 0xfffffff8
fstp qword [esp]
wait
fld qword [esp + 0x48]
fmul qword [0x41979c]
fadd qword [esp + 0x30]
add esp, 0xfffffff8
fstp qword [esp]
wait
push 0x4082c000
push 0
lea eax, [esp + 0x1a68]
call fcn.00408110
push esi
push edi
lea esi, [esp + 0x1a50]
mov edi, 0x4197ec
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
fld qword [esp + 0x28]
fmul qword [0x4197a4]
fadd qword [esp + 0x10]
add esp, 0xfffffff8
fstp qword [esp]
wait
fld qword [0x4197ac]
fsub qword [esp + 0x50]
fmul qword [esp + 0x38]
fadd qword [esp + 0x20]
add esp, 0xfffffff8
fstp qword [esp]
wait
fld qword [esp + 0x48]
fmul qword [0x4197b4]
fadd qword [esp + 0x30]
add esp, 0xfffffff8
fstp qword [esp]
wait
push 0x4082c000
push 0
lea eax, [esp + 0x1a68]
call fcn.00408110
push esi
push edi
lea esi, [esp + 0x1a50]
mov edi, 0x419804
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
fld qword [esp + 0x28]
fmul qword [0x4197bc]
fadd qword [esp + 0x10]
add esp, 0xfffffff8
fstp qword [esp]
wait
fld qword [0x4197c4]
fsub qword [esp + 0x48]
fmul qword [esp + 0x38]
fadd qword [esp + 0x20]
add esp, 0xfffffff8
fstp qword [esp]
wait
fld qword [esp + 0x48]
fmul qword [0x4197cc]
fadd qword [esp + 0x30]
add esp, 0xfffffff8
fstp qword [esp]
wait
push 0x4082c000
push 0
lea eax, [esp + 0x1a68]
call fcn.00408110
push esi
push edi
lea esi, [esp + 0x1a50]
mov edi, 0x41981c
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
fld qword [0x4197f4]
call fcn.004026fc
push eax
fld qword [0x419804]
call fcn.004026fc
push eax
fld qword [0x41980c]
call fcn.004026fc
push eax
fld qword [0x41981c]
call fcn.004026fc
push eax
fld qword [0x419824]
call fcn.004026fc
push eax
mov eax, dword [0x419714]
push eax
fld dword [0x409f64]
fmul qword [esp + 0x58]
call fcn.004026fc
push eax
fld dword [0x409f64]
fmul qword [esp + 0x5c]
call fcn.004026fc
push eax
fld dword [0x409f60]
fmul qword [esp + 0x60]
call fcn.004026fc
add eax, 0x80
pop edx
pop ecx
call fcn.00404cc4
push eax
fld qword [0x4197ec]
call fcn.004026fc
push eax
fld qword [0x4197dc]
call fcn.004026fc
push eax
fld qword [0x4197d4]
call fcn.004026fc
pop edx
pop ecx
call fcn.00408314
test ebx, ebx
je 0x409d9d
mov eax, dword [esp + 0x48]
mov dword [edi], eax
mov eax, dword [esp + 0x4c]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x4c], eax
inc ebx
add edi, 8
cmp ebx, 0x40
jne 0x4098cc
mov eax, dword [esp + 0x40]
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x274], eax
inc esi
cmp esi, 0x40
jne 0x4098bc
push 0x403e0000
push 0
push 0x403e0000
push 0
mov eax, dword [0x419714]
push eax
mov ecx, 0xffffff
mov edx, 0x409f9c
mov eax, 0x96
call fcn.00405674
push 0x40340000
push 0
push 0x40340000
push 0
mov eax, dword [0x419714]
push eax
mov ecx, 0xff00
mov edx, 0x409fb0
mov eax, 0xc8
call fcn.00405674
push 0x40340000
push 0
push 0x40340000
push 0
mov eax, dword [0x419714]
push eax
mov ecx, 0xff00
mov edx, 0x409fc4
mov eax, 0xf0
call fcn.00405674
push 0x40340000
push 0
push 0x40340000
push 0
mov eax, dword [0x419714]
push eax
mov ecx, 0xff00
mov edx, 0x409fd8
mov eax, 0x118
call fcn.00405674
jmp 0x409e8d
push 0
push 0
push 0x10
mov eax, dword [0x41957c]
push eax
call sub.user32.dll_PostMessageA
add dword [0x419720], 1
adc dword [0x419724], 0
fld xword [0x409fe8]
fadd qword [0x419734]
fstp qword [0x419734]
wait
fld qword [0x41973c]
fadd qword [0x41dd54]
fstp qword [0x41973c]
wait
push 0
mov eax, dword [0x40bb1c]
push eax
mov eax, dword [eax]
call dword [eax + 0x80]
add esp, 0x1a80
pop ebp
pop edi
pop esi
pop ebx
ret