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

Disassembly:
push ebx
push esi
push edi
add esp, 0xfffff970
mov dword [esp], eax
lea edi, [esp + 0x210]
mov eax, dword [esp]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x4c6025
inc eax
mov dword [esp + 0x78], eax
mov dword [esp + 4], 0
mov eax, dword [esp]
mov ebx, dword [eax + 4]
mov eax, dword [esp + 4]
imul eax, eax, 0x148
add ebx, eax
mov eax, dword [ebx + 0x128]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x12c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x90]
mov dword [esp + 0x18], edx
mov edx, dword [eax + 0x94]
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0xc]
push edi
lea esi, [eax + 0x80]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0xe0]
mov dword [esp + 0x28], edx
mov edx, dword [eax + 0xe4]
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0xf0]
mov dword [esp + 0x38], edx
mov edx, dword [eax + 0xf4]
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x90]
mov dword [esp + 0x20], edx
mov edx, dword [eax + 0x94]
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x10]
push edi
lea esi, [eax + 0x80]
lea edi, [esp + 0x224]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0xe0]
mov dword [esp + 0x30], edx
mov edx, dword [eax + 0xe4]
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0xf0]
mov dword [esp + 0x40], edx
mov edx, dword [eax + 0xf4]
mov dword [esp + 0x44], edx
push edi
lea esi, [ebx + 0xd0]
lea edi, [esp + 0x244]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
fld dword [0x4c6030]
fmul qword [esp + 0x248]
fstp qword [esp + 0x2f0]
wait
fld dword [0x4c6034]
fmul qword [esp + 0x240]
fstp qword [esp + 0x2f8]
wait
push edi
lea esi, [esp + 0x2f4]
lea edi, [esp + 0x254]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
mov eax, dword [ebx + 0x138]
mov dword [esp + 0x48], eax
mov eax, dword [ebx + 0x13c]
mov dword [esp + 0x4c], eax
mov esi, dword [ebx + 0x140]
dec esi
test esi, esi
jl 0x4c4bb9
inc esi
mov dword [esp + 8], 0
imul eax, dword [esp + 8], 0xb
lea edx, [ebx + eax*8]
lea eax, [edx + 0x20]
fld qword [esp + 0x20]
fchs
fmul qword [eax + 8]
fstp qword [esp + 0x300]
wait
fld qword [esp + 0x20]
fmul qword [eax]
fstp qword [esp + 0x308]
wait
fld qword [esp + 0x220]
fadd qword [esp + 0x300]
fstp qword [esp + 0x310]
wait
fld qword [esp + 0x228]
fadd qword [esp + 0x308]
fstp qword [esp + 0x318]
wait
lea eax, [edx + 0x10]
fld qword [esp + 0x18]
fchs
fmul qword [eax + 8]
fstp qword [esp + 0x320]
wait
fld qword [esp + 0x18]
fmul qword [eax]
fstp qword [esp + 0x328]
wait
fld qword [edi]
fadd qword [esp + 0x320]
fstp qword [esp + 0x330]
wait
fld qword [edi + 8]
fadd qword [esp + 0x328]
fstp qword [esp + 0x338]
wait
fld qword [esp + 0x310]
fsub qword [esp + 0x330]
fstp qword [esp + 0x340]
wait
fld qword [esp + 0x318]
fsub qword [esp + 0x338]
fstp qword [esp + 0x348]
wait
push esi
push edi
lea esi, [esp + 0x348]
lea edi, [esp + 0x238]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
fld qword [esp + 0x230]
fmul qword [esp + 0x250]
fld qword [esp + 0x238]
fmul qword [esp + 0x258]
faddp st(1)
fstp qword [esp + 0x80]
wait
fld qword [esp + 0x80]
fchs
fmul qword [edx + 0x48]
fstp qword [esp + 0x50]
wait
fld qword [esp + 0x48]
fmul qword [edx + 0x30]
fstp qword [esp + 0x58]
wait
fld qword [edx + 0x38]
fadd qword [esp + 0x50]
fcomp qword [esp + 0x58]
wait
fnstsw ax
sahf
jb 0x4c49de
mov eax, dword [esp + 0x58]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x94], eax
jmp 0x4c49ed
fld qword [edx + 0x38]
fadd qword [esp + 0x50]
fstp qword [esp + 0x90]
wait
fld qword [esp + 0x58]
fchs
fcomp qword [esp + 0x90]
wait
fnstsw ax
sahf
jb 0x4c4a10
fld qword [esp + 0x58]
fchs
fstp qword [esp + 0x98]
wait
jmp 0x4c4a2c
mov eax, dword [esp + 0x90]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x64], eax
fld qword [esp + 0x60]
fsub qword [edx + 0x38]
fstp qword [esp + 0x50]
wait
fld qword [esp + 0x250]
fmul qword [esp + 0x50]
fstp qword [esp + 0x350]
wait
fld qword [esp + 0x258]
fmul qword [esp + 0x50]
fstp qword [esp + 0x358]
wait
push esi
push edi
lea esi, [esp + 0x358]
lea edi, [esp + 0x268]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
fld qword [esp + 0x260]
fmul qword [esp + 0x28]
fstp qword [esp + 0x360]
wait
fld qword [esp + 0x268]
fmul qword [esp + 0x28]
fstp qword [esp + 0x368]
wait
fld qword [edi]
fsub qword [esp + 0x360]
fstp qword [edi]
wait
fld qword [edi + 8]
fsub qword [esp + 0x368]
fstp qword [edi + 8]
wait
fld qword [esp + 0x260]
fmul qword [esp + 0x30]
fstp qword [esp + 0x370]
wait
fld qword [esp + 0x268]
fmul qword [esp + 0x30]
fstp qword [esp + 0x378]
wait
fld qword [esp + 0x220]
fadd qword [esp + 0x370]
fstp qword [esp + 0x220]
wait
fld qword [esp + 0x228]
fadd qword [esp + 0x378]
fstp qword [esp + 0x228]
wait
lea eax, [edx + 0x10]
fld qword [eax]
fmul qword [esp + 0x268]
fld qword [eax + 8]
fmul qword [esp + 0x260]
fsubp st(1)
fstp qword [esp + 0xa0]
wait
fld qword [esp + 0x38]
fmul qword [esp + 0xa0]
fsubr qword [esp + 0x18]
fstp qword [esp + 0x18]
wait
lea eax, [edx + 0x20]
fld qword [eax]
fmul qword [esp + 0x268]
fld qword [eax + 8]
fmul qword [esp + 0x260]
fsubp st(1)
fstp qword [esp + 0xa8]
wait
fld qword [esp + 0x40]
fmul qword [esp + 0xa8]
fadd qword [esp + 0x20]
fstp qword [esp + 0x20]
wait
mov eax, dword [esp + 0x60]
mov dword [edx + 0x38], eax
mov eax, dword [esp + 0x64]
mov dword [edx + 0x3c], eax
inc dword [esp + 8]
dec esi
jne 0x4c4895
cmp dword [ebx + 0x140], 1
jne 0x4c4ec8
mov edx, ebx
lea eax, [edx + 0x20]
mov dword [esp + 0xb0], eax
fld qword [esp + 0x20]
fchs
mov eax, dword [esp + 0xb0]
fmul qword [eax + 8]
fstp qword [esp + 0x380]
wait
fld qword [esp + 0x20]
mov eax, dword [esp + 0xb0]
fmul qword [eax]
fstp qword [esp + 0x388]
wait
fld qword [esp + 0x220]
fadd qword [esp + 0x380]
fstp qword [esp + 0x390]
wait
fld qword [esp + 0x228]
fadd qword [esp + 0x388]
fstp qword [esp + 0x398]
wait
lea eax, [edx + 0x10]
mov dword [esp + 0xb4], eax
fld qword [esp + 0x18]
fchs
mov eax, dword [esp + 0xb4]
fmul qword [eax + 8]
fstp qword [esp + 0x3a0]
wait
fld qword [esp + 0x18]
mov eax, dword [esp + 0xb4]
fmul qword [eax]
fstp qword [esp + 0x3a8]
wait
fld qword [edi]
fadd qword [esp + 0x3a0]
fstp qword [esp + 0x3b0]
wait
fld qword [edi + 8]
fadd qword [esp + 0x3a8]
fstp qword [esp + 0x3b8]
wait
fld qword [esp + 0x390]
fsub qword [esp + 0x3b0]
fstp qword [esp + 0x3c0]
wait
fld qword [esp + 0x398]
fsub qword [esp + 0x3b8]
fstp qword [esp + 0x3c8]
wait
push edi
lea esi, [esp + 0x3c4]
lea edi, [esp + 0x234]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
fld qword [esp + 0x230]
fmul qword [esp + 0x240]
fld qword [esp + 0x238]
fmul qword [esp + 0x248]
faddp st(1)
fstp qword [esp + 0xb8]
wait
fld qword [esp + 0xb8]
fsub qword [edx + 0x50]
fld qword [edx + 0x40]
fchs
fmulp st(1)
fstp qword [esp + 0x50]
wait
fld qword [edx + 0x30]
fadd qword [esp + 0x50]
fcomp dword [0x4c6038]
wait
fnstsw ax
sahf
jb 0x4c4d25
fld qword [edx + 0x30]
fadd qword [esp + 0x50]
fstp qword [esp + 0xc0]
wait
jmp 0x4c4d35
xor eax, eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x64], eax
fld qword [esp + 0x60]
fsub qword [edx + 0x30]
fstp qword [esp + 0x50]
wait
fld qword [esp + 0x240]
fmul qword [esp + 0x50]
fstp qword [esp + 0x3d0]
wait
fld qword [esp + 0x248]
fmul qword [esp + 0x50]
fstp qword [esp + 0x3d8]
wait
push edi
lea esi, [esp + 0x3d4]
lea edi, [esp + 0x264]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
fld qword [esp + 0x260]
fmul qword [esp + 0x28]
fstp qword [esp + 0x3e0]
wait
fld qword [esp + 0x268]
fmul qword [esp + 0x28]
fstp qword [esp + 0x3e8]
wait
fld qword [edi]
fsub qword [esp + 0x3e0]
fstp qword [edi]
wait
fld qword [edi + 8]
fsub qword [esp + 0x3e8]
fstp qword [edi + 8]
wait
fld qword [esp + 0x260]
fmul qword [esp + 0x30]
fstp qword [esp + 0x3f0]
wait
fld qword [esp + 0x268]
fmul qword [esp + 0x30]
fstp qword [esp + 0x3f8]
wait
fld qword [esp + 0x220]
fadd qword [esp + 0x3f0]
fstp qword [esp + 0x220]
wait
fld qword [esp + 0x228]
fadd qword [esp + 0x3f8]
fstp qword [esp + 0x228]
wait
lea eax, [edx + 0x10]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc8]
fld qword [eax]
fmul qword [esp + 0x268]
mov eax, dword [esp + 0xc8]
fld qword [eax + 8]
fmul qword [esp + 0x260]
fsubp st(1)
fstp qword [esp + 0xd0]
wait
fld qword [esp + 0x38]
fmul qword [esp + 0xd0]
fsubr qword [esp + 0x18]
fstp qword [esp + 0x18]
wait
lea eax, [edx + 0x20]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xd8]
fld qword [eax]
fmul qword [esp + 0x268]
mov eax, dword [esp + 0xd8]
fld qword [eax + 8]
fmul qword [esp + 0x260]
fsubp st(1)
fstp qword [esp + 0xe0]
wait
fld qword [esp + 0x40]
fmul qword [esp + 0xe0]
fadd qword [esp + 0x20]
fstp qword [esp + 0x20]
wait
mov eax, dword [esp + 0x60]
mov dword [edx + 0x30], eax
mov eax, dword [esp + 0x64]
mov dword [edx + 0x34], eax
jmp 0x4c5fbe
mov edx, ebx
lea esi, [ebx + 0x58]
mov eax, dword [edx + 0x30]
mov dword [esp + 0x270], eax
mov eax, dword [edx + 0x34]
mov dword [esp + 0x274], eax
mov eax, dword [esi + 0x30]
mov dword [esp + 0x278], eax
mov eax, dword [esi + 0x34]
mov dword [esp + 0x27c], eax
lea eax, [edx + 0x20]
mov dword [esp + 0xe8], eax
fld qword [esp + 0x20]
fchs
mov eax, dword [esp + 0xe8]
fmul qword [eax + 8]
fstp qword [esp + 0x400]
wait
fld qword [esp + 0x20]
mov eax, dword [esp + 0xe8]
fmul qword [eax]
fstp qword [esp + 0x408]
wait
fld qword [esp + 0x220]
fadd qword [esp + 0x400]
fstp qword [esp + 0x410]
wait
fld qword [esp + 0x228]
fadd qword [esp + 0x408]
fstp qword [esp + 0x418]
wait
lea eax, [edx + 0x10]
mov dword [esp + 0xec], eax
fld qword [esp + 0x18]
fchs
mov eax, dword [esp + 0xec]
fmul qword [eax + 8]
fstp qword [esp + 0x420]
wait
fld qword [esp + 0x18]
mov eax, dword [esp + 0xec]
fmul qword [eax]
fstp qword [esp + 0x428]
wait
fld qword [edi]
fadd qword [esp + 0x420]
fstp qword [esp + 0x430]
wait
fld qword [edi + 8]
fadd qword [esp + 0x428]
fstp qword [esp + 0x438]
wait
fld qword [esp + 0x410]
fsub qword [esp + 0x430]
fstp qword [esp + 0x440]
wait
fld qword [esp + 0x418]
fsub qword [esp + 0x438]
fstp qword [esp + 0x448]
wait
push esi
push edi
lea esi, [esp + 0x448]
lea edi, [esp + 0x2d8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
lea eax, [esi + 0x20]
mov dword [esp + 0xf0], eax
fld qword [esp + 0x20]
fchs
mov eax, dword [esp + 0xf0]
fmul qword [eax + 8]
fstp qword [esp + 0x450]
wait
fld qword [esp + 0x20]
mov eax, dword [esp + 0xf0]
fmul qword [eax]
fstp qword [esp + 0x458]
wait
fld qword [esp + 0x220]
fadd qword [esp + 0x450]
fstp qword [esp + 0x460]
wait
fld qword [esp + 0x228]
fadd qword [esp + 0x458]
fstp qword [esp + 0x468]
wait
lea eax, [esi + 0x10]
mov dword [esp + 0xf4], eax
fld qword [esp + 0x18]
fchs
mov eax, dword [esp + 0xf4]
fmul qword [eax + 8]
fstp qword [esp + 0x470]
wait
fld qword [esp + 0x18]
mov eax, dword [esp + 0xf4]
fmul qword [eax]
fstp qword [esp + 0x478]
wait
fld qword [edi]
fadd qword [esp + 0x470]
fstp qword [esp + 0x480]
wait
fld qword [edi + 8]
fadd qword [esp + 0x478]
fstp qword [esp + 0x488]
wait
fld qword [esp + 0x460]
fsub qword [esp + 0x480]
fstp qword [esp + 0x490]
wait
fld qword [esp + 0x468]
fsub qword [esp + 0x488]
fstp qword [esp + 0x498]
wait
push esi
push edi
lea esi, [esp + 0x498]
lea edi, [esp + 0x2e8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
fld qword [esp + 0x2d0]
fmul qword [esp + 0x240]
fld qword [esp + 0x2d8]
fmul qword [esp + 0x248]
faddp st(1)
fstp qword [esp + 0xf8]
wait
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x6c], eax
fld qword [esp + 0x2e0]
fmul qword [esp + 0x240]
fld qword [esp + 0x2e8]
fmul qword [esp + 0x248]
faddp st(1)
fstp qword [esp + 0x100]
wait
mov eax, dword [esp + 0x100]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0x74], eax
fld qword [esp + 0x68]
fsub qword [edx + 0x50]
fstp qword [esp + 0x280]
wait
fld qword [esp + 0x70]
fsub qword [esi + 0x50]
fstp qword [esp + 0x288]
wait
lea eax, [ebx + 0x100]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x108]
fld qword [eax]
fmul qword [esp + 0x270]
mov eax, dword [esp + 0x108]
fld qword [eax + 0x10]
fmul qword [esp + 0x278]
faddp st(1)
fstp qword [esp + 0x4a0]
wait
mov eax, dword [esp + 0x108]
fld qword [eax + 8]
fmul qword [esp + 0x270]
mov eax, dword [esp + 0x108]
fld qword [eax + 0x18]
fmul qword [esp + 0x278]
faddp st(1)
fstp qword [esp + 0x4a8]
wait
fld qword [esp + 0x280]
fsub qword [esp + 0x4a0]
fstp qword [esp + 0x280]
wait
fld qword [esp + 0x288]
fsub qword [esp + 0x4a8]
fstp qword [esp + 0x288]
wait
lea eax, [ebx + 0xe0]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x10c]
fld qword [eax]
fmul qword [esp + 0x280]
mov eax, dword [esp + 0x10c]
fld qword [eax + 0x10]
fmul qword [esp + 0x288]
faddp st(1)
fstp qword [esp + 0x4b0]
wait
mov eax, dword [esp + 0x10c]
fld qword [eax + 8]
fmul qword [esp + 0x280]
mov eax, dword [esp + 0x10c]
fld qword [eax + 0x18]
fmul qword [esp + 0x288]
faddp st(1)
fstp qword [esp + 0x4b8]
wait
fld qword [esp + 0x4b0]
fchs
fstp qword [esp + 0x4c0]
wait
fld qword [esp + 0x4b8]
fchs
fstp qword [esp + 0x4c8]
wait
push esi
push edi
lea esi, [esp + 0x4c8]
lea edi, [esp + 0x298]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
fld qword [esp + 0x290]
fcomp dword [0x4c6038]
wait
fnstsw ax
sahf
jb 0x4c55ca
fld qword [esp + 0x298]
fcomp dword [0x4c6038]
wait
fnstsw ax
sahf
jb 0x4c55ca
fld qword [esp + 0x290]
fsub qword [esp + 0x270]
fstp qword [esp + 0x4d0]
wait
fld qword [esp + 0x298]
fsub qword [esp + 0x278]
fstp qword [esp + 0x4d8]
wait
push esi
push edi
lea esi, [esp + 0x4d8]
lea edi, [esp + 0x2a8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
fld qword [esp + 0x240]
fmul qword [esp + 0x2a0]
fstp qword [esp + 0x4e0]
wait
fld qword [esp + 0x248]
fmul qword [esp + 0x2a0]
fstp qword [esp + 0x4e8]
wait
push esi
push edi
lea esi, [esp + 0x4e8]
lea edi, [esp + 0x2b8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
fld qword [esp + 0x240]
fmul qword [esp + 0x2a8]
fstp qword [esp + 0x4f0]
wait
fld qword [esp + 0x248]
fmul qword [esp + 0x2a8]
fstp qword [esp + 0x4f8]
wait
push esi
push edi
lea esi, [esp + 0x4f8]
lea edi, [esp + 0x2c8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
fld qword [esp + 0x2b0]
fadd qword [esp + 0x2c0]
fstp qword [esp + 0x500]
wait
fld qword [esp + 0x2b8]
fadd qword [esp + 0x2c8]
fstp qword [esp + 0x508]
wait
fld qword [esp + 0x500]
fmul qword [esp + 0x28]
fstp qword [esp + 0x510]
wait
fld qword [esp + 0x508]
fmul qword [esp + 0x28]
fstp qword [esp + 0x518]
wait
fld qword [edi]
fsub qword [esp + 0x510]
fstp qword [edi]
wait
fld qword [edi + 8]
fsub qword [esp + 0x518]
fstp qword [edi + 8]
wait
fld qword [esp + 0x2b0]
fadd qword [esp + 0x2c0]
fstp qword [esp + 0x520]
wait
fld qword [esp + 0x2b8]
fadd qword [esp + 0x2c8]
fstp qword [esp + 0x528]
wait
fld qword [esp + 0x520]
fmul qword [esp + 0x30]
fstp qword [esp + 0x530]
wait
fld qword [esp + 0x528]
fmul qword [esp + 0x30]
fstp qword [esp + 0x538]
wait
fld qword [esp + 0x220]
fadd qword [esp + 0x530]
fstp qword [esp + 0x220]
wait
fld qword [esp + 0x228]
fadd qword [esp + 0x538]
fstp qword [esp + 0x228]
wait
lea eax, [edx + 0x10]
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x110]
fld qword [eax]
fmul qword [esp + 0x2b8]
mov eax, dword [esp + 0x110]
fld qword [eax + 8]
fmul qword [esp + 0x2b0]
fsubp st(1)
fstp qword [esp + 0x118]
wait
lea eax, [esi + 0x10]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x120]
fld qword [eax]
fmul qword [esp + 0x2c8]
mov eax, dword [esp + 0x120]
fld qword [eax + 8]
fmul qword [esp + 0x2c0]
fsubp st(1)
fstp qword [esp + 0x128]
wait
fld qword [esp + 0x118]
fadd qword [esp + 0x128]
fmul qword [esp + 0x38]
fsubr qword [esp + 0x18]
fstp qword [esp + 0x18]
wait
lea eax, [edx + 0x20]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x130]
fld qword [eax]
fmul qword [esp + 0x2b8]
mov eax, dword [esp + 0x130]
fld qword [eax + 8]
fmul qword [esp + 0x2b0]
fsubp st(1)
fstp qword [esp + 0x138]
wait
lea eax, [esi + 0x20]
mov dword [esp + 0x140], eax
mov eax, dword [esp + 0x140]
fld qword [eax]
fmul qword [esp + 0x2c8]
mov eax, dword [esp + 0x140]
fld qword [eax + 8]
fmul qword [esp + 0x2c0]
fsubp st(1)
fstp qword [esp + 0x148]
wait
fld qword [esp + 0x138]
fadd qword [esp + 0x148]
fmul qword [esp + 0x40]
fadd qword [esp + 0x20]
fstp qword [esp + 0x20]
wait
mov eax, dword [esp + 0x290]
mov dword [edx + 0x30], eax
mov eax, dword [esp + 0x294]
mov dword [edx + 0x34], eax
mov eax, dword [esp + 0x298]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x29c]
mov dword [esi + 0x34], eax
jmp 0x4c5fbe
fld qword [edx + 0x40]
fchs
fmul qword [esp + 0x280]
fstp qword [esp + 0x290]
wait
xor eax, eax
mov dword [esp + 0x298], eax
mov dword [esp + 0x29c], eax
fld qword [ebx + 0x108]
fmul qword [esp + 0x290]
fadd qword [esp + 0x288]
fstp qword [esp + 0x70]
wait
fld qword [esp + 0x290]
fcomp dword [0x4c6038]
wait
fnstsw ax
sahf
jb 0x4c5919
fld qword [esp + 0x70]
fcomp dword [0x4c6038]
wait
fnstsw ax
sahf
jb 0x4c5919
fld qword [esp + 0x290]
fsub qword [esp + 0x270]
fstp qword [esp + 0x540]
wait
fld qword [esp + 0x298]
fsub qword [esp + 0x278]
fstp qword [esp + 0x548]
wait
push esi
push edi
lea esi, [esp + 0x548]
lea edi, [esp + 0x2a8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
fld qword [esp + 0x240]
fmul qword [esp + 0x2a0]
fstp qword [esp + 0x550]
wait
fld qword [esp + 0x248]
fmul qword [esp + 0x2a0]
fstp qword [esp + 0x558]
wait
push esi
push edi
lea esi, [esp + 0x558]
lea edi, [esp + 0x2b8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
fld qword [esp + 0x240]
fmul qword [esp + 0x2a8]
fstp qword [esp + 0x560]
wait
fld qword [esp + 0x248]
fmul qword [esp + 0x2a8]
fstp qword [esp + 0x568]
wait
push esi
push edi
lea esi, [esp + 0x568]
lea edi, [esp + 0x2c8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
fld qword [esp + 0x2b0]
fadd qword [esp + 0x2c0]
fstp qword [esp + 0x570]
wait
fld qword [esp + 0x2b8]
fadd qword [esp + 0x2c8]
fstp qword [esp + 0x578]
wait
fld qword [esp + 0x570]
fmul qword [esp + 0x28]
fstp qword [esp + 0x580]
wait
fld qword [esp + 0x578]
fmul qword [esp + 0x28]
fstp qword [esp + 0x588]
wait
fld qword [edi]
fsub qword [esp + 0x580]
fstp qword [edi]
wait
fld qword [edi + 8]
fsub qword [esp + 0x588]
fstp qword [edi + 8]
wait
fld qword [esp + 0x2b0]
fadd qword [esp + 0x2c0]
fstp qword [esp + 0x590]
wait
fld qword [esp + 0x2b8]
fadd qword [esp + 0x2c8]
fstp qword [esp + 0x598]
wait
fld qword [esp + 0x590]
fmul qword [esp + 0x30]
fstp qword [esp + 0x5a0]
wait
fld qword [esp + 0x598]
fmul qword [esp + 0x30]
fstp qword [esp + 0x5a8]
wait
fld qword [esp + 0x220]
fadd qword [esp + 0x5a0]
fstp qword [esp + 0x220]
wait
fld qword [esp + 0x228]
fadd qword [esp + 0x5a8]
fstp qword [esp + 0x228]
wait
lea eax, [edx + 0x10]
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0x150]
fld qword [eax]
fmul qword [esp + 0x2b8]
mov eax, dword [esp + 0x150]
fld qword [eax + 8]
fmul qword [esp + 0x2b0]
fsubp st(1)
fstp qword [esp + 0x158]
wait
lea eax, [esi + 0x10]
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0x160]
fld qword [eax]
fmul qword [esp + 0x2c8]
mov eax, dword [esp + 0x160]
fld qword [eax + 8]
fmul qword [esp + 0x2c0]
fsubp st(1)
fstp qword [esp + 0x168]
wait
fld qword [esp + 0x158]
fadd qword [esp + 0x168]
fmul qword [esp + 0x38]
fsubr qword [esp + 0x18]
fstp qword [esp + 0x18]
wait
lea eax, [edx + 0x20]
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0x170]
fld qword [eax]
fmul qword [esp + 0x2b8]
mov eax, dword [esp + 0x170]
fld qword [eax + 8]
fmul qword [esp + 0x2b0]
fsubp st(1)
fstp qword [esp + 0x178]
wait
lea eax, [esi + 0x20]
mov dword [esp + 0x180], eax
mov eax, dword [esp + 0x180]
fld qword [eax]
fmul qword [esp + 0x2c8]
mov eax, dword [esp + 0x180]
fld qword [eax + 8]
fmul qword [esp + 0x2c0]
fsubp st(1)
fstp qword [esp + 0x188]
wait
fld qword [esp + 0x178]
fadd qword [esp + 0x188]
fmul qword [esp + 0x40]
fadd qword [esp + 0x20]
fstp qword [esp + 0x20]
wait
mov eax, dword [esp + 0x290]
mov dword [edx + 0x30], eax
mov eax, dword [esp + 0x294]
mov dword [edx + 0x34], eax
mov eax, dword [esp + 0x298]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x29c]
mov dword [esi + 0x34], eax
jmp 0x4c5fbe
xor eax, eax
mov dword [esp + 0x290], eax
mov dword [esp + 0x294], eax
fld qword [esi + 0x40]
fchs
fmul qword [esp + 0x288]
fstp qword [esp + 0x298]
wait
fld qword [ebx + 0x110]
fmul qword [esp + 0x298]
fadd qword [esp + 0x280]
fstp qword [esp + 0x68]
wait
fld qword [esp + 0x298]
fcomp dword [0x4c6038]
wait
fnstsw ax
sahf
jb 0x4c5c68
fld qword [esp + 0x68]
fcomp dword [0x4c6038]
wait
fnstsw ax
sahf
jb 0x4c5c68
fld qword [esp + 0x290]
fsub qword [esp + 0x270]
fstp qword [esp + 0x5b0]
wait
fld qword [esp + 0x298]
fsub qword [esp + 0x278]
fstp qword [esp + 0x5b8]
wait
push esi
push edi
lea esi, [esp + 0x5b8]
lea edi, [esp + 0x2a8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
fld qword [esp + 0x240]
fmul qword [esp + 0x2a0]
fstp qword [esp + 0x5c0]
wait
fld qword [esp + 0x248]
fmul qword [esp + 0x2a0]
fstp qword [esp + 0x5c8]
wait
push esi
push edi
lea esi, [esp + 0x5c8]
lea edi, [esp + 0x2b8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
fld qword [esp + 0x240]
fmul qword [esp + 0x2a8]
fstp qword [esp + 0x5d0]
wait
fld qword [esp + 0x248]
fmul qword [esp + 0x2a8]
fstp qword [esp + 0x5d8]
wait
push esi
push edi
lea esi, [esp + 0x5d8]
lea edi, [esp + 0x2c8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
fld qword [esp + 0x2b0]
fadd qword [esp + 0x2c0]
fstp qword [esp + 0x5e0]
wait
fld qword [esp + 0x2b8]
fadd qword [esp + 0x2c8]
fstp qword [esp + 0x5e8]
wait
fld qword [esp + 0x5e0]
fmul qword [esp + 0x28]
fstp qword [esp + 0x5f0]
wait
fld qword [esp + 0x5e8]
fmul qword [esp + 0x28]
fstp qword [esp + 0x5f8]
wait
fld qword [edi]
fsub qword [esp + 0x5f0]
fstp qword [edi]
wait
fld qword [edi + 8]
fsub qword [esp + 0x5f8]
fstp qword [edi + 8]
wait
fld qword [esp + 0x2b0]
fadd qword [esp + 0x2c0]
fstp qword [esp + 0x600]
wait
fld qword [esp + 0x2b8]
fadd qword [esp + 0x2c8]
fstp qword [esp + 0x608]
wait
fld qword [esp + 0x600]
fmul qword [esp + 0x30]
fstp qword [esp + 0x610]
wait
fld qword [esp + 0x608]
fmul qword [esp + 0x30]
fstp qword [esp + 0x618]
wait
fld qword [esp + 0x220]
fadd qword [esp + 0x610]
fstp qword [esp + 0x220]
wait
fld qword [esp + 0x228]
fadd qword [esp + 0x618]
fstp qword [esp + 0x228]
wait
lea eax, [edx + 0x10]
mov dword [esp + 0x190], eax
mov eax, dword [esp + 0x190]
fld qword [eax]
fmul qword [esp + 0x2b8]
mov eax, dword [esp + 0x190]
fld qword [eax + 8]
fmul qword [esp + 0x2b0]
fsubp st(1)
fstp qword [esp + 0x198]
wait
lea eax, [esi + 0x10]
mov dword [esp + 0x1a0], eax
mov eax, dword [esp + 0x1a0]
fld qword [eax]
fmul qword [esp + 0x2c8]
mov eax, dword [esp + 0x1a0]
fld qword [eax + 8]
fmul qword [esp + 0x2c0]
fsubp st(1)
fstp qword [esp + 0x1a8]
wait
fld qword [esp + 0x198]
fadd qword [esp + 0x1a8]
fmul qword [esp + 0x38]
fsubr qword [esp + 0x18]
fstp qword [esp + 0x18]
wait
lea eax, [edx + 0x20]
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x1b0]
fld qword [eax]
fmul qword [esp + 0x2b8]
mov eax, dword [esp + 0x1b0]
fld qword [eax + 8]
fmul qword [esp + 0x2b0]
fsubp st(1)
fstp qword [esp + 0x1b8]
wait
lea eax, [esi + 0x20]
mov dword [esp + 0x1c0], eax
mov eax, dword [esp + 0x1c0]
fld qword [eax]
fmul qword [esp + 0x2c8]
mov eax, dword [esp + 0x1c0]
fld qword [eax + 8]
fmul qword [esp + 0x2c0]
fsubp st(1)
fstp qword [esp + 0x1c8]
wait
fld qword [esp + 0x1b8]
fadd qword [esp + 0x1c8]
fmul qword [esp + 0x40]
fadd qword [esp + 0x20]
fstp qword [esp + 0x20]
wait
mov eax, dword [esp + 0x290]
mov dword [edx + 0x30], eax
mov eax, dword [esp + 0x294]
mov dword [edx + 0x34], eax
mov eax, dword [esp + 0x298]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x29c]
mov dword [esi + 0x34], eax
jmp 0x4c5fbe
xor eax, eax
mov dword [esp + 0x290], eax
mov dword [esp + 0x294], eax
xor eax, eax
mov dword [esp + 0x298], eax
mov dword [esp + 0x29c], eax
mov eax, dword [esp + 0x280]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x284]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x288]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x74], eax
fld qword [esp + 0x68]
fcomp dword [0x4c6038]
wait
fnstsw ax
sahf
jb 0x4c5fbe
fld qword [esp + 0x70]
fcomp dword [0x4c6038]
wait
fnstsw ax
sahf
jb 0x4c5fbe
fld qword [esp + 0x290]
fsub qword [esp + 0x270]
fstp qword [esp + 0x620]
wait
fld qword [esp + 0x298]
fsub qword [esp + 0x278]
fstp qword [esp + 0x628]
wait
push esi
push edi
lea esi, [esp + 0x628]
lea edi, [esp + 0x2a8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
fld qword [esp + 0x240]
fmul qword [esp + 0x2a0]
fstp qword [esp + 0x630]
wait
fld qword [esp + 0x248]
fmul qword [esp + 0x2a0]
fstp qword [esp + 0x638]
wait
push esi
push edi
lea esi, [esp + 0x638]
lea edi, [esp + 0x2b8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
fld qword [esp + 0x240]
fmul qword [esp + 0x2a8]
fstp qword [esp + 0x640]
wait
fld qword [esp + 0x248]
fmul qword [esp + 0x2a8]
fstp qword [esp + 0x648]
wait
push esi
push edi
lea esi, [esp + 0x648]
lea edi, [esp + 0x2c8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
fld qword [esp + 0x2b0]
fadd qword [esp + 0x2c0]
fstp qword [esp + 0x650]
wait
fld qword [esp + 0x2b8]
fadd qword [esp + 0x2c8]
fstp qword [esp + 0x658]
wait
fld qword [esp + 0x650]
fmul qword [esp + 0x28]
fstp qword [esp + 0x660]
wait
fld qword [esp + 0x658]
fmul qword [esp + 0x28]
fstp qword [esp + 0x668]
wait
fld qword [edi]
fsub qword [esp + 0x660]
fstp qword [edi]
wait
fld qword [edi + 8]
fsub qword [esp + 0x668]
fstp qword [edi + 8]
wait
fld qword [esp + 0x2b0]
fadd qword [esp + 0x2c0]
fstp qword [esp + 0x670]
wait
fld qword [esp + 0x2b8]
fadd qword [esp + 0x2c8]
fstp qword [esp + 0x678]
wait
fld qword [esp + 0x670]
fmul qword [esp + 0x30]
fstp qword [esp + 0x680]
wait
fld qword [esp + 0x678]
fmul qword [esp + 0x30]
fstp qword [esp + 0x688]
wait
fld qword [esp + 0x220]
fadd qword [esp + 0x680]
fstp qword [esp + 0x220]
wait
fld qword [esp + 0x228]
fadd qword [esp + 0x688]
fstp qword [esp + 0x228]
wait
lea eax, [edx + 0x10]
mov dword [esp + 0x1d0], eax
mov eax, dword [esp + 0x1d0]
fld qword [eax]
fmul qword [esp + 0x2b8]
mov eax, dword [esp + 0x1d0]
fld qword [eax + 8]
fmul qword [esp + 0x2b0]
fsubp st(1)
fstp qword [esp + 0x1d8]
wait
lea eax, [esi + 0x10]
mov dword [esp + 0x1e0], eax
mov eax, dword [esp + 0x1e0]
fld qword [eax]
fmul qword [esp + 0x2c8]
mov eax, dword [esp + 0x1e0]
fld qword [eax + 8]
fmul qword [esp + 0x2c0]
fsubp st(1)
fstp qword [esp + 0x1e8]
wait
fld qword [esp + 0x1d8]
fadd qword [esp + 0x1e8]
fmul qword [esp + 0x38]
fsubr qword [esp + 0x18]
fstp qword [esp + 0x18]
wait
lea eax, [edx + 0x20]
mov dword [esp + 0x1f0], eax
mov eax, dword [esp + 0x1f0]
fld qword [eax]
fmul qword [esp + 0x2b8]
mov eax, dword [esp + 0x1f0]
fld qword [eax + 8]
fmul qword [esp + 0x2b0]
fsubp st(1)
fstp qword [esp + 0x1f8]
wait
lea eax, [esi + 0x20]
mov dword [esp + 0x200], eax
mov eax, dword [esp + 0x200]
fld qword [eax]
fmul qword [esp + 0x2c8]
mov eax, dword [esp + 0x200]
fld qword [eax + 8]
fmul qword [esp + 0x2c0]
fsubp st(1)
fstp qword [esp + 0x208]
wait
fld qword [esp + 0x1f8]
fadd qword [esp + 0x208]
fmul qword [esp + 0x40]
fadd qword [esp + 0x20]
fstp qword [esp + 0x20]
wait
mov eax, dword [esp + 0x290]
mov dword [edx + 0x30], eax
mov eax, dword [esp + 0x294]
mov dword [edx + 0x34], eax
mov eax, dword [esp + 0x298]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x29c]
mov dword [esi + 0x34], eax
mov eax, dword [esp + 0xc]
push edi
mov esi, edi
lea edi, [eax + 0x80]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
mov dword [eax + 0x90], edx
mov edx, dword [esp + 0x1c]
mov dword [eax + 0x94], edx
mov eax, dword [esp + 0x10]
push edi
lea edi, [eax + 0x80]
lea esi, [esp + 0x224]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov dword [eax + 0x90], edx
mov edx, dword [esp + 0x24]
mov dword [eax + 0x94], edx
inc dword [esp + 4]
dec dword [esp + 0x78]
jne 0x4c473b
add esp, 0x690
pop edi
pop esi
pop ebx
ret