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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x4c3f7a
mov eax, dword fs:[0]
push eax
sub esp, 0x1e8
push ebx
push esi
push edi
mov eax, dword [0x4f2fb0]
xor eax, esp
push eax
lea eax, [esp + 0x1f8]
mov dword fs:[0], eax
mov esi, ecx
fldz
lea ebx, [esi + 0x58]
fstp qword [esi + 0xd0]
or eax, 0xffffffff
fld qword [esi + 0xa0]
lea edi, [esi + 0x50]
fsub qword [ebx]
mov dword [esi + 0xc0], eax
mov dword [esi + 0xb4], eax
mov dword [esi + 0xb8], eax
mov dword [esi + 0xb0], eax
fstp qword [esi + 0xa8]
xor ecx, ecx
fld qword [0x4c77e0]
mov dword [esi + 0xe0], ecx
fcom qword [edi]
lea edx, [ecx + 1]
fnstsw ax
test ah, 0x41
jp 0x459b1b
mov dword [esi + 0xe0], edx
fcom qword [esi + 0x78]
fnstsw ax
test ah, 0x41
jp 0x459b2f
mov dword [esi + 0xe0], 2
fld qword [0x4cae48]
fcomp qword [esi + 0x90]
fnstsw ax
test ah, 1
je 0x459b55
fld qword [0x4cae40]
fcomp qword [esi + 0x90]
fnstsw ax
test ah, 0x41
jp 0x459b5f
mov dword [esi + 0xe0], 3
fcomp qword [esi + 0x90]
mov dword [esp + 0x1a8], ecx
fnstsw ax
test ah, 5
jp 0x459bd0
lea eax, [esi + 0x68]
push eax
lea ecx, [esi + 0x40]
push ecx
mov dword [esp + 0x1b0], edx
call fcn.00454810
lea edx, [esi + 0x88]
push edx
lea eax, [esi + 0x60]
push eax
call fcn.00454810
lea ecx, [esi + 0x70]
push ecx
lea edx, [esi + 0x48]
push edx
call fcn.00454810
lea eax, [esi + 0x78]
push eax
push edi
call fcn.00454810
lea eax, [esi + 0x80]
push eax
push ebx
call fcn.00454810
fld qword [0x4c79b8]
fsub qword [esi + 0x90]
add esp, 0x28
fstp qword [esi + 0x90]
lea ecx, [esp + 0xf4]
call fcn.004661f0
lea ecx, [esp + 0x7c]
call fcn.004661f0
lea ecx, [esp + 0x12c]
call fcn.004661f0
lea ecx, [esp + 0xac]
call fcn.004661f0
lea ecx, [esp + 0x5c]
call fcn.004661f0
lea ecx, [esp + 0x4c]
call fcn.004661f0
lea ecx, [esp + 0x11c]
call fcn.004661f0
lea ecx, [esp + 0xcc]
call fcn.004661f0
lea ecx, [esp + 0x14c]
call fcn.004661f0
lea ecx, [esp + 0x10c]
call fcn.004661f0
lea ecx, [esp + 0x9c]
call fcn.004661f0
lea ecx, [esp + 0x17c]
call fcn.004661f0
lea ecx, [esp + 0x8c]
call fcn.004661f0
lea ecx, [esp + 0xbc]
call fcn.004661f0
lea ecx, [esp + 0xdc]
call fcn.004661f0
lea ecx, [esp + 0x15c]
call fcn.004661f0
fld qword [edi]
fmul qword [0x4c77d8]
fst qword [esp + 0x18c]
call fcn.00499060
fstp qword [esp + 0x3c]
fld qword [esi + 0x90]
fmul qword [0x4c77d8]
fst qword [esp + 0x104]
call fcn.00499060
fstp qword [esp + 0x19c]
fld qword [esi + 0x78]
fmul qword [0x4c77d8]
fst qword [esp + 0xec]
call fcn.00499060
fstp qword [esp + 0x1ac]
fld qword [esp + 0x18c]
call fcn.00498f30
fstp qword [esp + 0x16c]
fld qword [esp + 0x104]
call fcn.00498f30
fstp qword [esp + 0x104]
fld qword [esp + 0xec]
call fcn.00498f30
fstp qword [esp + 0xec]
fldz
sub esp, 0x10
fst qword [esp + 0x19c]
lea ecx, [esp + 0x14c]
fld qword [esi + 0xa0]
fsub qword [esi + 0x40]
fstp qword [esp + 8]
fstp qword [esp]
call fcn.004661d0
mov ecx, dword [eax]
fld qword [edi]
mov dword [esp + 0xf4], ecx
fabs
mov edx, dword [eax + 4]
fcomp qword [0x4c77f8]
mov dword [esp + 0xf8], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0xfc], ecx
mov edx, dword [eax + 0xc]
fnstsw ax
fld qword [esi + 0xa0]
sub esp, 0x10
mov dword [esp + 0x110], edx
lea ecx, [esp + 0x14c]
test ah, 5
jp 0x459e43
fsub qword [ebx]
fstp qword [esp + 8]
fldz
fstp qword [esp]
call fcn.004661d0
fld qword [esi + 0xa0]
mov ecx, dword [eax]
fsub qword [ebx]
mov dword [esp + 0x7c], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x80], edx
mov edi, dword [eax + 8]
sub esp, 0x10
fstp qword [esp + 8]
mov dword [esp + 0x94], edi
mov eax, dword [eax + 0xc]
fld qword [ebx]
mov dword [esp + 0x6c], ecx
fstp qword [esp]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x13c], ecx
lea ecx, [esp + 0x14c]
mov dword [esp + 0x98], eax
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], eax
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], edi
mov dword [esp + 0xc8], eax
mov dword [esp + 0x140], edx
mov dword [esp + 0x144], edi
mov dword [esp + 0x148], eax
call fcn.004661d0
mov ecx, dword [eax]
mov dword [esp + 0x4c], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x50], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x54], ecx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x58], edx
jmp 0x45a32c
fsub qword [esi + 0x48]
fstp qword [esp + 8]
fldz
fstp qword [esp]
call fcn.004661d0
mov ecx, dword [eax]
mov dword [esp + 0x7c], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x80], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x84], ecx
mov edx, dword [eax + 0xc]
lea eax, [esp + 0x13c]
push eax
mov dword [esp + 0x8c], edx
call fcn.004662e0
fld qword [esi + 0x60]
mov edx, dword [eax]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
sub esp, 8
lea ecx, [esp + 0x1a4]
fstp qword [esp]
push ecx
call fcn.00466540
mov edx, dword [eax]
add esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x90]
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x8c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xa4]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xa8]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x8c]
push eax
call fcn.004663c0
fld qword [esp + 0x190]
mov ecx, dword [eax]
fstp qword [esp + 0x1c]
fld qword [esp + 0x60]
mov dword [esp + 0x150], ecx
mov edx, dword [eax + 4]
fchs
add esp, 0x14
mov dword [esp + 0x140], edx
fstp qword [esp]
mov ecx, dword [eax + 8]
mov dword [esp + 0x144], ecx
mov edx, dword [eax + 0xc]
lea ecx, [esp + 0x7c]
mov dword [esp + 0x148], edx
call fcn.004661d0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
fld qword [esi + 0x60]
sub esp, 8
lea ecx, [esp + 0x154]
fstp qword [esp]
push ecx
call fcn.00466540
mov edx, dword [eax]
add esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x140]
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x13c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x154]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x158]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x1ac]
push eax
call fcn.004663c0
fld qword [esp + 0x190]
mov ecx, dword [eax]
fchs
mov dword [esp + 0xd0], ecx
fstp qword [esp + 0x1c]
mov edx, dword [eax + 4]
fld qword [esp + 0x60]
mov dword [esp + 0xd4], edx
fstp qword [esp + 0x14]
mov edi, dword [eax + 8]
add esp, 0x14
mov dword [esp + 0xc4], edi
mov eax, dword [eax + 0xc]
mov dword [esp + 0x6c], ecx
lea ecx, [esp + 0x7c]
mov dword [esp + 0xc8], eax
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], eax
call fcn.004661d0
fld qword [ebx]
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
sub esp, 8
lea ecx, [esp + 0x154]
fstp qword [esp]
push ecx
call fcn.00466540
mov edx, dword [eax]
add esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x70]
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x6c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x1ac]
push eax
call fcn.004663c0
fld qword [esi + 0xa0]
mov ecx, dword [eax]
fsub qword [ebx]
mov dword [esp + 0x70], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x74], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x78], ecx
mov edx, dword [eax + 0xc]
fstp qword [esp + 0x1b0]
add esp, 0x24
lea ecx, [esp + 0x4c]
mov dword [esp + 0x58], edx
call fcn.00466240
fld qword [esp + 0x18c]
fsub qword [eax]
sub esp, 0x10
fld qword [esp + 0x4c]
lea ecx, [esp + 0x7c]
fdiv st(1), st(0)
fxch st(1)
fstp qword [esp + 0x19c]
fstp qword [esp + 8]
fld qword [esp + 0x17c]
fstp qword [esp]
call fcn.004661d0
mov edx, dword [eax]
fld qword [esp + 0x18c]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
sub esp, 8
lea ecx, [esp + 0x154]
fstp qword [esp]
push ecx
call fcn.00466540
mov edx, dword [eax]
mov dword [esp + 0xf8], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0xfc], ecx
mov edx, dword [eax + 8]
add esp, 0x1c
lea ecx, [esp + 0xdc]
mov dword [esp + 0xe4], edx
mov eax, dword [eax + 0xc]
push ecx
lea ecx, [esp + 0x60]
mov dword [esp + 0xec], eax
call fcn.00467170
lea edx, [esp + 0xdc]
push edx
lea ecx, [esp + 0x50]
call fcn.00467170
fldz
fcomp qword [esi + 0x50]
fnstsw ax
test ah, 0x41
jne 0x45a32c
lea ecx, [esp + 0x4c]
call fcn.00466230
fld qword [ebx]
fsub qword [eax]
lea eax, [esp + 0x6c]
push eax
fstp qword [esp + 0x40]
call fcn.004662e0
mov edx, dword [eax]
fld qword [esp + 0x40]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
sub esp, 8
lea ecx, [esp + 0x154]
fstp qword [esp]
push ecx
call fcn.00466540
add esp, 0x1c
push eax
lea ecx, [esp + 0x130]
call fcn.00467170
lea edx, [esp + 0x6c]
push edx
call fcn.004662e0
fld qword [esp + 0x40]
mov edx, dword [eax]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
sub esp, 8
lea ecx, [esp + 0x154]
fstp qword [esp]
push ecx
call fcn.00466540
add esp, 0x1c
push eax
lea ecx, [esp + 0x80]
call fcn.00467170
lea edx, [esp + 0x6c]
push edx
call fcn.004662e0
fld qword [esp + 0x40]
mov edx, dword [eax]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
sub esp, 8
lea ecx, [esp + 0x154]
fstp qword [esp]
push ecx
call fcn.00466540
add esp, 0x1c
push eax
lea ecx, [esp + 0xb0]
call fcn.00467170
lea edx, [esp + 0x6c]
push edx
call fcn.004662e0
mov edx, dword [eax]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
fld qword [esp + 0x4c]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
sub esp, 8
lea ecx, [esp + 0x154]
fstp qword [esp]
push ecx
call fcn.00466540
add esp, 0x1c
push eax
lea ecx, [esp + 0x60]
call fcn.00467170
lea edx, [esp + 0x6c]
push edx
call fcn.004662e0
fld qword [esp + 0x40]
mov edx, dword [eax]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
sub esp, 8
lea ecx, [esp + 0x154]
fstp qword [esp]
push ecx
call fcn.00466540
add esp, 0x1c
push eax
lea ecx, [esp + 0x50]
call fcn.00467170
fld qword [esp + 0x104]
sub esp, 0x10
fstp qword [esp + 8]
lea ecx, [esp + 0x7c]
fld qword [esp + 0x1ac]
fstp qword [esp]
call fcn.004661d0
mov edx, dword [eax]
fld qword [ebx]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
sub esp, 8
lea ecx, [esp + 0x154]
fstp qword [esp]
push ecx
call fcn.00466540
mov edx, dword [eax]
add esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x60]
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x5c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x78]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x18c]
push eax
call fcn.004663c0
fld qword [esp + 0x128]
mov ecx, dword [eax]
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c0]
mov dword [esp + 0x140], ecx
mov edx, dword [eax + 4]
fstp qword [esp + 0x14]
mov dword [esp + 0x144], edx
mov edi, dword [eax + 8]
add esp, 0x14
mov dword [esp + 0x134], edi
mov eax, dword [eax + 0xc]
mov dword [esp + 0xdc], ecx
lea ecx, [esp + 0x7c]
mov dword [esp + 0x138], eax
mov dword [esp + 0xe0], edx
mov dword [esp + 0xe4], edi
mov dword [esp + 0xe8], eax
call fcn.004661d0
fld qword [esi + 0x80]
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
sub esp, 8
lea ecx, [esp + 0x154]
fstp qword [esp]
push ecx
call fcn.00466540
mov edx, dword [eax]
add esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0xe0]
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0xdc]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xf4]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xf8]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x18c]
push eax
call fcn.00466480
fld qword [esp + 0x110]
mov ecx, dword [eax]
fstp qword [esp + 0x1c]
fld qword [esp + 0x1d0]
mov dword [esp + 0x170], ecx
mov edx, dword [eax + 4]
fstp qword [esp + 0x14]
mov dword [esp + 0x174], edx
mov ecx, dword [eax + 8]
add esp, 0x14
mov dword [esp + 0x164], ecx
mov edx, dword [eax + 0xc]
lea ecx, [esp + 0x7c]
mov dword [esp + 0x168], edx
call fcn.004661d0
fld qword [esi + 0x80]
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
sub esp, 8
lea ecx, [esp + 0x154]
fstp qword [esp]
push ecx
call fcn.00466540
mov edx, dword [eax]
add esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x160]
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x15c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x174]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x178]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x18c]
push eax
call fcn.004663c0
mov ecx, dword [eax]
mov dword [esp + 0x130], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x134], edx
mov edi, dword [eax + 8]
fld qword [esp + 0x110]
add esp, 0x14
fstp qword [esp + 8]
mov dword [esp + 0x124], edi
mov eax, dword [eax + 0xc]
fld qword [esp + 0x1bc]
mov dword [esp + 0xac], ecx
fstp qword [esp]
lea ecx, [esp + 0x7c]
mov dword [esp + 0x128], eax
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb8], eax
call fcn.004661d0
fld qword [esi + 0x88]
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
sub esp, 8
lea ecx, [esp + 0x154]
fstp qword [esp]
push ecx
call fcn.00466540
mov edx, dword [eax]
add esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0xb0]
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0xac]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xc4]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x18c]
push eax
call fcn.00466480
mov ecx, dword [eax]
mov dword [esp + 0x1a0], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x1a4], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x1a8], ecx
mov edx, dword [eax + 0xc]
lea eax, [esp + 0x90]
push eax
mov dword [esp + 0x1b0], edx
call fcn.004662e0
fld qword [esi + 0x88]
mov edx, dword [eax]
add esp, 0x18
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
sub esp, 8
lea ecx, [esp + 0x154]
fstp qword [esp]
push ecx
call fcn.00466540
mov edx, dword [eax]
add esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x190]
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x18c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x1a4]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x1a8]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x18c]
push eax
call fcn.004663c0
fld qword [esi + 0xa0]
mov ecx, dword [eax]
fsub qword [esi + 0x68]
mov dword [esp + 0xb0], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0xb4], edx
fstp qword [esp + 0x1c]
mov ecx, dword [eax + 8]
fld qword [esi + 0x98]
add esp, 0x14
mov dword [esp + 0xa4], ecx
fstp qword [esp]
mov edx, dword [eax + 0xc]
lea ecx, [esp + 0x7c]
mov dword [esp + 0xa8], edx
call fcn.004661d0
fld qword [esp + 0x104]
mov ecx, dword [eax]
fld st(0)
mov dword [esp + 0xbc], ecx
fabs
mov edx, dword [eax + 4]
fcomp qword [0x4c77f8]
mov dword [esp + 0xc0], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0xc4], ecx
mov edx, dword [eax + 0xc]
fnstsw ax
mov dword [esp + 0xc8], edx
test ah, 5
jp 0x45a7cc
fldz
fst qword [esp + 0x104]
fstp qword [esp + 0x3c]
fld qword [esp + 0x19c]
jmp 0x45a893
lea ecx, [esp + 0x8c]
fstp st(0)
call fcn.00466230
fld qword [esi + 0x98]
fsub qword [eax]
fst qword [esp + 0x3c]
fld qword [esp + 0xec]
fabs
fcomp qword [0x4c77f8]
fnstsw ax
test ah, 5
jp 0x45a812
fld st(0)
fld qword [esp + 0x19c]
fmul st(1), st(0)
fld qword [esp + 0x104]
fdiv st(2), st(0)
jmp 0x45a845
lea ecx, [esp + 0x8c]
fstp st(0)
call fcn.00466240
fld qword [esi + 0x70]
fsub qword [esi + 0xa0]
fadd qword [eax]
fld qword [esp + 0x3c]
fld qword [esp + 0x104]
fld qword [esp + 0x19c]
fxch st(2)
fxch st(3)
fxch st(2)
fxch st(1)
fld st(0)
fld qword [esp + 0x1ac]
fmul st(1), st(0)
fld qword [esp + 0xec]
fmul st(4)
fsubp st(2)
fld st(1)
fabs
fcomp qword [0x4c77f8]
fnstsw ax
test ah, 5
jp 0x45aeb1
fstp st(1)
mov dword [esi + 0xe0], 7
fstp st(4)
fxch st(2)
fdivrp st(3)
fxch st(2)
fstp qword [esp + 0x3c]
fldz
fstp qword [esp + 0x104]
fxch st(1)
sub esp, 0x10
fchs
fstp qword [esp + 8]
lea ecx, [esp + 0x7c]
fstp qword [esp]
call fcn.004661d0
mov edx, dword [eax]
fld qword [esp + 0x3c]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
sub esp, 8
lea ecx, [esp + 0x154]
fstp qword [esp]
push ecx
call fcn.00466540
fld qword [esp + 0x1c8]
mov edx, dword [eax]
fchs
mov dword [esp + 0xf8], edx
fstp qword [esp + 0x14]
mov ecx, dword [eax + 4]
fld qword [esp + 0x108]
mov dword [esp + 0xfc], ecx
fstp qword [esp + 0xc]
mov edx, dword [eax + 8]
add esp, 0xc
mov dword [esp + 0xf4], edx
mov eax, dword [eax + 0xc]
lea ecx, [esp + 0x7c]
mov dword [esp + 0xf8], eax
call fcn.004661d0
fld qword [esp + 0x104]
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
sub esp, 8
lea ecx, [esp + 0x154]
fstp qword [esp]
push ecx
call fcn.00466540
mov edx, dword [eax]
mov dword [esp + 0x178], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x17c], ecx
mov edx, dword [eax + 8]
add esp, 0x1c
lea ecx, [esp + 0xdc]
mov dword [esp + 0x164], edx
mov eax, dword [eax + 0xc]
push ecx
lea ecx, [esp + 0xd0]
mov dword [esp + 0x16c], eax
call fcn.00467170
lea edx, [esp + 0xdc]
push edx
lea ecx, [esp + 0x150]
call fcn.00467170
lea eax, [esp + 0xdc]
push eax
lea ecx, [esp + 0x110]
call fcn.00467170
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x160]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x178]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0xec]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0xf0]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x104]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x108]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x8c]
push eax
call fcn.004663c0
add esp, 0x24
push eax
lea ecx, [esp + 0xa0]
call fcn.00467170
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x160]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x174]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x178]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0xec]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0xf0]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x104]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x108]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x8c]
push eax
call fcn.004663c0
add esp, 0x24
push eax
lea ecx, [esp + 0x180]
call fcn.00467170
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x160]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x174]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x178]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0xec]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0xf0]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x104]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x108]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x8c]
push eax
call fcn.004663c0
add esp, 0x24
push eax
lea ecx, [esp + 0x90]
call fcn.00467170
xor ebx, ebx
cmp dword [ebp + 8], ebx
je 0x45acaa
lea ecx, [esp + 0xf4]
call fcn.00466230
lea ecx, [esp + 0x4c]
mov edi, eax
call fcn.00466230
fld qword [edi]
fsub qword [eax]
lea ecx, [esp + 0x7c]
fstp qword [edi]
call fcn.00466230
lea ecx, [esp + 0x4c]
mov edi, eax
call fcn.00466230
fld qword [edi]
fsub qword [eax]
lea ecx, [esp + 0x12c]
fstp qword [edi]
call fcn.00466230
lea ecx, [esp + 0x4c]
mov edi, eax
call fcn.00466230
fld qword [edi]
fsub qword [eax]
lea ecx, [esp + 0xac]
fstp qword [edi]
call fcn.00466230
lea ecx, [esp + 0x4c]
mov edi, eax
call fcn.00466230
fld qword [edi]
fsub qword [eax]
lea ecx, [esp + 0x5c]
fstp qword [edi]
call fcn.00466230
lea ecx, [esp + 0x4c]
mov edi, eax
call fcn.00466230
fld qword [edi]
fsub qword [eax]
lea ecx, [esp + 0x11c]
fstp qword [edi]
call fcn.00466230
lea ecx, [esp + 0x4c]
mov edi, eax
call fcn.00466230
fld qword [edi]
fsub qword [eax]
lea ecx, [esp + 0xcc]
fstp qword [edi]
call fcn.00466230
lea ecx, [esp + 0x4c]
mov edi, eax
call fcn.00466230
fld qword [edi]
fsub qword [eax]
lea ecx, [esp + 0x14c]
fstp qword [edi]
call fcn.00466230
lea ecx, [esp + 0x4c]
mov edi, eax
call fcn.00466230
fld qword [edi]
fsub qword [eax]
lea ecx, [esp + 0x10c]
fstp qword [edi]
call fcn.00466230
lea ecx, [esp + 0x4c]
mov edi, eax
call fcn.00466230
fld qword [edi]
fsub qword [eax]
lea ecx, [esp + 0x9c]
fstp qword [edi]
call fcn.00466230
lea ecx, [esp + 0x4c]
mov edi, eax
call fcn.00466230
fld qword [edi]
fsub qword [eax]
lea ecx, [esp + 0x17c]
fstp qword [edi]
call fcn.00466230
lea ecx, [esp + 0x4c]
mov edi, eax
call fcn.00466230
fld qword [edi]
fsub qword [eax]
lea ecx, [esp + 0x8c]
fstp qword [edi]
call fcn.00466230
lea ecx, [esp + 0x4c]
mov edi, eax
call fcn.00466230
fld qword [edi]
fsub qword [eax]
lea ecx, [esp + 0xbc]
fstp qword [edi]
call fcn.00466230
lea ecx, [esp + 0x4c]
mov edi, eax
call fcn.00466230
fld qword [edi]
fsub qword [eax]
lea ecx, [esp + 0x4c]
fstp qword [edi]
call fcn.00466230
fldz
fstp qword [eax]
cmp dword [esi + 0x3c], 0xffffffff
jne 0x45addf
lea ecx, [esp + 0xf4]
call fcn.00466230
fld qword [eax]
fmul qword [0x4c7a40]
lea ecx, [esp + 0x7c]
fstp qword [eax]
call fcn.00466230
fld qword [eax]
lea ecx, [esp + 0x12c]
fmul qword [0x4c7a40]
fstp qword [eax]
call fcn.00466230
fld qword [eax]
lea ecx, [esp + 0xac]
fmul qword [0x4c7a40]
fstp qword [eax]
call fcn.00466230
fld qword [eax]
lea ecx, [esp + 0x5c]
fmul qword [0x4c7a40]
fstp qword [eax]
call fcn.00466230
fld qword [eax]
lea ecx, [esp + 0x4c]
fmul qword [0x4c7a40]
fstp qword [eax]
call fcn.00466230
fld qword [eax]
lea ecx, [esp + 0x11c]
fmul qword [0x4c7a40]
fstp qword [eax]
call fcn.00466230
fld qword [eax]
lea ecx, [esp + 0xcc]
fmul qword [0x4c7a40]
fstp qword [eax]
call fcn.00466230
fld qword [eax]
lea ecx, [esp + 0x14c]
fmul qword [0x4c7a40]
fstp qword [eax]
call fcn.00466230
fld qword [eax]
lea ecx, [esp + 0x10c]
fmul qword [0x4c7a40]
fstp qword [eax]
call fcn.00466230
fld qword [eax]
lea ecx, [esp + 0x9c]
fmul qword [0x4c7a40]
fstp qword [eax]
call fcn.00466230
fld qword [eax]
lea ecx, [esp + 0x17c]
fmul qword [0x4c7a40]
fstp qword [eax]
call fcn.00466230
fld qword [eax]
lea ecx, [esp + 0x8c]
fmul qword [0x4c7a40]
fstp qword [eax]
call fcn.00466230
fld qword [eax]
lea ecx, [esp + 0xbc]
fmul qword [0x4c7a40]
fstp qword [eax]
call fcn.00466230
fld qword [eax]
fmul qword [0x4c7a40]
fstp qword [eax]
lea ecx, [esp + 0x7c]
call fcn.00466240
lea ecx, [esp + 0xf4]
mov edi, eax
call fcn.00466240
fld qword [eax]
fcomp qword [edi]
lea ecx, [esp + 0x7c]
fnstsw ax
test ah, 0x41
je 0x45ae0c
lea ecx, [esp + 0xf4]
call fcn.00466240
fld qword [eax]
lea ecx, [esp + 0xf4]
fstp qword [esp + 0x16c]
call fcn.00466240
fld qword [esp + 0x16c]
lea ecx, [esp + 0xbc]
fstp qword [eax]
call fcn.00466240
lea ecx, [esp + 0x8c]
mov edi, eax
call fcn.00466240
fld qword [eax]
fcomp qword [edi]
lea ecx, [esp + 0xbc]
fnstsw ax
test ah, 5
jp 0x45aee0
call fcn.00466240
lea ecx, [esp + 0x8c]
mov edi, eax
call fcn.00466240
fld qword [eax]
fcomp qword [edi]
lea ecx, [esp + 0xbc]
fnstsw ax
test ah, 0x41
je 0x45ae8b
lea ecx, [esp + 0x8c]
call fcn.00466240
fld qword [eax]
fsub qword [esi + 0x68]
lea ecx, [esp + 0xbc]
fstp qword [esp + 0x16c]
call fcn.00466240
fld qword [esp + 0x16c]
jmp 0x45af2d
fld st(4)
fmul st(3)
fld st(6)
fmul st(5)
fsubp st(1)
fdiv st(2)
fstp qword [esp + 0x104]
fmulp st(5)
fxch st(3)
fmul qword [esp + 0xec]
fsubp st(4)
fxch st(3)
fdivrp st(2)
fxch st(1)
fstp qword [esp + 0x3c]
jmp 0x45a893
call fcn.00466240
lea ecx, [esp + 0x8c]
mov edi, eax
call fcn.00466240
fld qword [eax]
fcomp qword [edi]
lea ecx, [esp + 0xbc]
fnstsw ax
test ah, 0x41
je 0x45af0c
lea ecx, [esp + 0x8c]
call fcn.00466240
fld qword [eax]
lea ecx, [esp + 0xbc]
fstp qword [esp + 0x16c]
call fcn.00466240
fld qword [esp + 0x16c]
fstp qword [eax]
fld qword [0x4c8648]
fcom qword [esp + 0x18c]
fnstsw ax
test ah, 0x41
jne 0x45af4d
mov dword [esi + 0xe0], 4
fcom qword [esp + 0x104]
fnstsw ax
test ah, 0x41
jne 0x45af65
mov dword [esi + 0xe0], 5
fcomp qword [esp + 0x3c]
fnstsw ax
test ah, 0x41
jne 0x45af7a
mov dword [esi + 0xe0], 6
mov ecx, dword [esp + 0x7c]
fldz
mov edx, dword [esp + 0x80]
fstp qword [esi + 0xd0]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x94]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x98]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x104]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x108]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x11c]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x120]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x8c]
push eax
mov dword [esi + 0x38], 0xffffffff
mov dword [esi + 0x14], ebx
mov dword [esi + 0x34], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 8], ebx
call fcn.00466480
mov edx, dword [eax]
add esp, 0x14
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
call fcn.00466a60
fabs
fcomp qword [0x4c77f8]
add esp, 0x10
mov byte [esp + 0x3b], 1
fnstsw ax
test ah, 5
jp 0x45b041
mov byte [esp + 0x3b], bl
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xb0]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xc4]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x8c]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x90]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xa4]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xa8]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x8c]
push eax
call fcn.00466480
mov edx, dword [eax]
add esp, 0x14
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
call fcn.00466a60
fabs
fcomp qword [0x4c77f8]
add esp, 0x10
mov byte [esp + 0x36], 1
fnstsw ax
test ah, 5
jp 0x45b0e1
mov byte [esp + 0x36], bl
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x78]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0xbc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0xc0]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xd4]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xd8]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x8c]
push eax
call fcn.00466480
mov edx, dword [eax]
add esp, 0x14
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
call fcn.00466a60
fabs
fcomp qword [0x4c77f8]
add esp, 0x10
mov byte [esp + 0x3a], 1
fnstsw ax
test ah, 5
jp 0x45b175
mov byte [esp + 0x3a], bl
mov ecx, dword [esp + 0x11c]
mov edx, dword [esp + 0x120]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x134]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x138]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x6c]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x70]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x84]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x88]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x8c]
push eax
call fcn.00466480
mov edx, dword [eax]
add esp, 0x14
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
call fcn.00466a60
fabs
fcomp qword [0x4c77f8]
add esp, 0x10
mov byte [esp + 0x38], 1
fnstsw ax
test ah, 5
jp 0x45b20f
mov byte [esp + 0x38], bl
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0xd0]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xe4]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xe8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x12c]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x130]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x144]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x148]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x8c]
push eax
call fcn.00466480
mov edx, dword [eax]
add esp, 0x14
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
call fcn.00466a60
fabs
fcomp qword [0x4c77f8]
add esp, 0x10
mov byte [esp + 0x34], 1
fnstsw ax
test ah, 5
jp 0x45b2af
mov byte [esp + 0x34], bl
mov ecx, dword [esp + 0x10c]
mov edx, dword [esp + 0x110]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x124]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x128]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0xdc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0xe0]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xf4]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xf8]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x8c]
push eax
call fcn.00466480
mov edx, dword [eax]
add esp, 0x14
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
call fcn.00466a60
fabs
fcomp qword [0x4c77f8]
add esp, 0x10
mov byte [esp + 0x35], 1
fnstsw ax
test ah, 5
jp 0x45b34f
mov byte [esp + 0x35], bl
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0xa0]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xb4]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xb8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x11c]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x120]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x134]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x138]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x8c]
push eax
call fcn.00466480
mov edx, dword [eax]
add esp, 0x14
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
call fcn.00466a60
fabs
fcomp qword [0x4c77f8]
add esp, 0x10
fnstsw ax
test ah, 5
jnp 0x45b3ea
mov bl, 1
jmp 0x45b3ec
xor bl, bl
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xa4]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xa8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0xac]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0xb0]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xc4]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x8c]
push eax
mov byte [esp + 0x6f], bl
call fcn.00466480
mov edx, dword [eax]
add esp, 0x14
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
call fcn.00466a60
fabs
fcomp qword [0x4c77f8]
add esp, 0x10
mov byte [esp + 0x37], 1
fnstsw ax
test ah, 5
jp 0x45b491
mov byte [esp + 0x37], 0
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xc0]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xd4]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xd8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x9c]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0xa0]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xb4]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xb8]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x8c]
push eax
call fcn.00466480
mov edx, dword [eax]
add esp, 0x14
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
call fcn.00466a60
fabs
fcomp qword [0x4c77f8]
add esp, 0x10
mov byte [esp + 0x39], 1
fnstsw ax
test ah, 5
jp 0x45b532
mov byte [esp + 0x39], 0
movsx edx, byte [esp + 0x37]
movsx ecx, byte [esp + 0x39]
add ecx, edx
movsx edx, byte [esp + 0x35]
movsx eax, bl
add ecx, eax
movsx eax, byte [esp + 0x34]
add ecx, edx
movsx edx, byte [esp + 0x38]
add ecx, eax
movsx eax, byte [esp + 0x3a]
add ecx, edx
movsx edx, byte [esp + 0x36]
add ecx, eax
movsx eax, byte [esp + 0x3b]
add ecx, edx
lea eax, [ecx + eax + 2]
mov dword [esi + 8], eax
xor ecx, ecx
inc eax
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0047af73
mov dword [esi + 0x14], eax
mov eax, dword [esi + 8]
xor ecx, ecx
inc eax
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0047af73
mov dword [esi + 0x34], eax
mov eax, dword [esi + 8]
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0047af73
mov dword [esi + 0x10], eax
mov eax, dword [esi + 8]
inc eax
push eax
call fcn.0047af73
mov dword [esi + 0xc], eax
xor eax, eax
add esp, 0x10
cmp dword [esi + 8], eax
jl 0x45b608
fldz
cmp eax, dword [esi + 8]
jge 0x45b5ed
mov ecx, dword [esi + 0x10]
mov dword [ecx + eax*4], 0
mov edx, dword [esi + 0x14]
fst qword [edx + eax*8]
mov ecx, dword [esi + 0x34]
fst qword [ecx + eax*8]
mov edx, dword [esi + 0xc]
mov byte [eax + edx], 0
inc eax
cmp eax, dword [esi + 8]
jle 0x45b5e1
fstp st(0)
lea ecx, [esp + 0xf4]
call fcn.00466240
fld qword [eax]
mov eax, dword [esi + 0x14]
fchs
fstp qword [eax]
mov ecx, dword [esi + 0x34]
fldz
fst qword [ecx]
mov edx, dword [esi + 0x14]
fstp qword [edx + 8]
lea ecx, [esp + 0xf4]
call fcn.00466230
fld qword [eax]
mov ecx, dword [esi + 0x34]
fstp qword [ecx + 8]
mov edx, dword [esi + 0xc]
push 0x60
mov byte [edx], 0x6b
call fcn.0047af44
mov ebx, eax
add esp, 4
mov dword [esp + 0x3c], ebx
xor eax, eax
mov dword [esp + 0x200], eax
cmp ebx, eax
je 0x45b6dc
mov edi, dword [esi + 0x14]
lea ecx, [esp + 0xf4]
call fcn.00466240
lea ecx, [esp + 0xf4]
mov dword [esp + 0xec], eax
call fcn.00466230
fldz
sub esp, 0x10
fstp qword [esp + 8]
fld qword [eax]
lea ecx, [esp + 0x7c]
fstp qword [esp]
call fcn.004661d0
fld qword [edi + 8]
mov ecx, dword [esi + 0x3c]
mov edx, dword [esp + 0xec]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [edi]
fstp qword [esp]
push ecx
fld qword [edx]
mov edx, dword [eax]
sub esp, 0x18
mov ecx, esp
fstp qword [esp + 0x10]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, ebx
call fcn.00455490
mov ecx, dword [esi + 0x10]
or ebx, 0xffffffff
cmp byte [esp + 0x3b], 0
mov dword [esp + 0x200], ebx
mov dword [ecx], eax
lea edi, [ebx + 2]
je 0x45b830
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x94]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x98]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x104]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x108]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x11c]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x120]
mov dword [eax + 8], edx
lea edx, [esp + 0x8c]
push edx
mov dword [eax + 0xc], ecx
call fcn.00466480
mov edx, dword [eax]
mov edi, dword [esi + 0x14]
add esp, 0x14
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
call fcn.00466a60
fadd qword [edi + 8]
add esp, 0x10
lea ecx, [esp + 0x7c]
fstp qword [edi + 0x10]
call fcn.00466230
mov ecx, dword [esi + 0x34]
fld qword [eax]
fstp qword [ecx + 0x10]
mov edx, dword [esi + 0xc]
push 0x60
mov byte [edx + 1], 0x6b
call fcn.0047af44
mov edi, eax
add esp, 4
mov dword [esp + 0x3c], edi
mov dword [esp + 0x200], 1
test edi, edi
je 0x45b81c
mov ebx, dword [esi + 0x14]
lea ecx, [esp + 0x7c]
call fcn.00466240
fld qword [ebx + 0x10]
mov ecx, dword [esi + 0x3c]
mov edx, dword [esp + 0xf4]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [ebx + 8]
fstp qword [esp]
push ecx
fld qword [eax]
mov ecx, dword [esp + 0x10c]
sub esp, 0x18
mov eax, esp
fstp qword [esp + 0x10]
mov dword [eax], edx
mov edx, dword [esp + 0x128]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x12c]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov ecx, edi
call fcn.00455490
or ebx, 0xffffffff
jmp 0x45b81e
xor eax, eax
mov edx, dword [esi + 0x10]
mov dword [esp + 0x200], ebx
mov dword [edx + 4], eax
mov edi, 2
cmp byte [esp + 0x36], 0
je 0x45b919
fld qword [esi + 0x60]
mov eax, dword [esi + 0x14]
fmul qword [0x4c77d8]
lea eax, [eax + edi*8]
lea ecx, [esp + 0xac]
fmul qword [esi + 0x50]
fabs
fadd qword [eax]
fstp qword [eax + 8]
call fcn.00466230
mov ecx, dword [esi + 0x34]
fld qword [eax]
fstp qword [ecx + edi*8 + 8]
mov edx, dword [esi + 0xc]
push 0x48
mov byte [edi + edx], 0x72
call fcn.0047af44
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x200], 2
test eax, eax
je 0x45b909
mov ecx, dword [esi + 0x14]
fild dword [esi + 0x3c]
fld qword [ecx + edi*8 + 8]
lea ecx, [ecx + edi*8]
push 0
sub esp, 0x30
fstp qword [esp + 0x28]
mov edx, esp
fld qword [ecx]
mov ecx, dword [esp + 0x160]
fstp qword [esp + 0x20]
sub esp, 8
fld qword [esi + 0x50]
fmul qword [0x4c77d8]
fld qword [0x4c8a28]
fld st(0)
fsubrp st(2)
fxch st(1)
fmul st(2)
fadd st(1)
fstp qword [esp + 0x20]
fmul st(1), st(0)
faddp st(1)
fstp qword [esp + 0x18]
mov dword [edx], ecx
mov ecx, dword [esp + 0x16c]
fld qword [esi + 0x60]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x170]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x174]
mov dword [edx + 0xc], ecx
fstp qword [esp]
mov ecx, eax
call fcn.00454a50
jmp 0x45b90b
xor eax, eax
mov edx, dword [esi + 0x10]
mov dword [edx + edi*4], eax
mov dword [esp + 0x200], ebx
inc edi
cmp byte [esp + 0x3a], 0
je 0x45ba76
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xb0]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xc4]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x6c]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x70]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x84]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x88]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x8c]
push eax
call fcn.00466480
mov ecx, dword [esi + 0x14]
mov edx, dword [eax]
add esp, 0x14
lea ebx, [ecx + edi*8]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
call fcn.00466a60
fadd qword [ebx]
add esp, 0x10
lea ecx, [esp + 0x5c]
fstp qword [ebx + 8]
call fcn.00466230
mov ecx, dword [esi + 0x34]
fld qword [eax]
fstp qword [ecx + edi*8 + 8]
mov edx, dword [esi + 0xc]
push 0x60
mov byte [edi + edx], 0x67
call fcn.0047af44
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x200], 3
test eax, eax
je 0x45ba59
mov ecx, dword [esi + 0x14]
fld qword [ecx + edi*8 + 8]
lea ecx, [ecx + edi*8]
sub esp, 0x20
fstp qword [esp + 0x18]
mov edx, esp
fld qword [ecx]
mov ecx, dword [esp + 0x7c]
fstp qword [esp + 0x10]
mov dword [edx], ecx
mov ecx, dword [esp + 0x80]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x84]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x88]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0xcc]
sub esp, 0x10
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [esp + 0xe0]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0xe4]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0xe8]
mov dword [edx + 0xc], ecx
mov ecx, eax
call fcn.00454f00
jmp 0x45ba5b
xor eax, eax
mov edx, dword [esi + 0x10]
mov dword [edx + edi*4], eax
mov dword [esi + 0xc0], edi
inc edi
mov dword [esp + 0x200], 0xffffffff
or ebx, 0xffffffff
cmp byte [esp + 0x38], 0
je 0x45bb81
fld qword [0x4c79b8]
mov eax, dword [esi + 0x14]
fsub qword [esi + 0x50]
lea eax, [eax + edi*8]
lea ecx, [esp + 0x11c]
fsub qword [esi + 0x90]
fld qword [esi + 0x58]
fmul qword [0x4c77d8]
fmulp st(1)
fabs
fadd qword [eax]
fstp qword [eax + 8]
call fcn.00466230
mov ecx, dword [esi + 0x34]
fld qword [eax]
fstp qword [ecx + edi*8 + 8]
mov edx, dword [esi + 0xc]
push 0x48
mov byte [edi + edx], 0x72
call fcn.0047af44
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x200], 4
test eax, eax
je 0x45bb6b
mov ecx, dword [esi + 0x14]
fild dword [esi + 0x3c]
fld qword [ecx + edi*8 + 8]
lea ecx, [ecx + edi*8]
push 0
sub esp, 0x30
fstp qword [esp + 0x28]
mov edx, esp
fld qword [ecx]
mov ecx, dword [esp + 0x80]
fstp qword [esp + 0x20]
sub esp, 8
fld qword [esi + 0x90]
fld qword [0x4c77d8]
fmul st(1), st(0)
fld qword [0x4c8a28]
fld st(0)
fsubrp st(3)
fxch st(2)
fmul st(3)
fsubr st(2)
fstp qword [esp + 0x20]
fmul qword [esi + 0x50]
fsubr st(1)
fmulp st(2)
faddp st(1)
fstp qword [esp + 0x18]
mov dword [edx], ecx
mov ecx, dword [esp + 0x8c]
fld qword [esi + 0x58]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x90]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x94]
mov dword [edx + 0xc], ecx
fstp qword [esp]
mov ecx, eax
call fcn.00454a50
jmp 0x45bb6d
xor eax, eax
mov edx, dword [esi + 0x10]
mov dword [edx + edi*4], eax
mov dword [esi + 0xb0], edi
mov dword [esp + 0x200], ebx
inc edi
cmp byte [esp + 0x34], 0
je 0x45bcea
mov ecx, dword [esp + 0x11c]
mov edx, dword [esp + 0x120]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x134]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x138]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0xdc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0xe0]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xf4]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xf8]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x8c]
push eax
call fcn.00466480
mov ecx, dword [esi + 0x14]
mov edx, dword [eax]
add esp, 0x14
lea ebx, [ecx + edi*8]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
call fcn.00466a60
fadd qword [ebx]
add esp, 0x10
lea ecx, [esp + 0xcc]
fstp qword [ebx + 8]
call fcn.00466230
mov ecx, dword [esi + 0x34]
fld qword [eax]
fstp qword [ecx + edi*8 + 8]
mov edx, dword [esi + 0xc]
push 0x60
mov byte [edi + edx], 0x67
call fcn.0047af44
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x200], 5
test eax, eax
je 0x45bccd
mov ecx, dword [esi + 0x14]
fld qword [ecx + edi*8 + 8]
lea ecx, [ecx + edi*8]
sub esp, 0x20
fstp qword [esp + 0x18]
mov edx, esp
fld qword [ecx]
mov ecx, dword [esp + 0xec]
fstp qword [esp + 0x10]
mov dword [edx], ecx
mov ecx, dword [esp + 0xf0]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0xf4]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0xf8]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x13c]
sub esp, 0x10
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [esp + 0x150]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x154]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x158]
mov dword [edx + 0xc], ecx
mov ecx, eax
call fcn.00454f00
jmp 0x45bccf
xor eax, eax
mov edx, dword [esi + 0x10]
mov dword [edx + edi*4], eax
mov dword [esi + 0xb4], edi
inc edi
mov dword [esp + 0x200], 0xffffffff
or ebx, 0xffffffff
cmp byte [esp + 0x35], 0
je 0x45bdf5
fld qword [esi + 0x90]
mov eax, dword [esi + 0x14]
fsub qword [esi + 0x78]
lea eax, [eax + edi*8]
fld qword [esi + 0x80]
lea ecx, [esp + 0x10c]
fmul qword [0x4c77d8]
fmulp st(1)
fabs
fadd qword [eax]
fstp qword [eax + 8]
call fcn.00466230
mov ecx, dword [esi + 0x34]
fld qword [eax]
fstp qword [ecx + edi*8 + 8]
mov edx, dword [esi + 0xc]
push 0x48
mov byte [edi + edx], 0x72
call fcn.0047af44
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x200], 6
test eax, eax
je 0x45bddf
mov ecx, dword [esi + 0x14]
fild dword [esi + 0x3c]
fld qword [ecx + edi*8 + 8]
lea ecx, [ecx + edi*8]
push 0
sub esp, 0x30
fstp qword [esp + 0x28]
mov edx, esp
fld qword [ecx]
mov ecx, dword [esp + 0x180]
fstp qword [esp + 0x20]
sub esp, 8
fld qword [esi + 0x78]
fld qword [0x4c77d8]
fmul st(1), st(0)
fld qword [0x4c8a28]
fld st(0)
fsubrp st(3)
fxch st(2)
fmul st(3)
fsubr st(2)
fstp qword [esp + 0x20]
fmul qword [esi + 0x90]
fsubr st(1)
fmulp st(2)
fsubrp st(1)
fstp qword [esp + 0x18]
mov dword [edx], ecx
mov ecx, dword [esp + 0x18c]
fld qword [esi + 0x80]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x190]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x194]
mov dword [edx + 0xc], ecx
fstp qword [esp]
mov ecx, eax
call fcn.00454a50
jmp 0x45bde1
xor eax, eax
mov edx, dword [esi + 0x10]
mov dword [edx + edi*4], eax
mov dword [esi + 0xb8], edi
mov dword [esp + 0x200], ebx
inc edi
cmp byte [esp + 0x4b], 0
je 0x45bf58
mov ecx, dword [esp + 0x10c]
mov edx, dword [esp + 0x110]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x124]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x128]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0xac]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0xb0]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xc4]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x8c]
push eax
call fcn.00466480
mov ecx, dword [esi + 0x14]
mov edx, dword [eax]
add esp, 0x14
lea ebx, [ecx + edi*8]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
call fcn.00466a60
fadd qword [ebx]
add esp, 0x10
lea ecx, [esp + 0x9c]
fstp qword [ebx + 8]
call fcn.00466230
mov ecx, dword [esi + 0x34]
fld qword [eax]
fstp qword [ecx + edi*8 + 8]
mov edx, dword [esi + 0xc]
push 0x60
mov byte [edi + edx], 0x67
call fcn.0047af44
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x200], 7
test eax, eax
je 0x45bf41
mov ecx, dword [esi + 0x14]
fld qword [ecx + edi*8 + 8]
lea ecx, [ecx + edi*8]
sub esp, 0x20
fstp qword [esp + 0x18]
mov edx, esp
fld qword [ecx]
mov ecx, dword [esp + 0xbc]
fstp qword [esp + 0x10]
mov dword [edx], ecx
mov ecx, dword [esp + 0xc0]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0xc4]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0xc8]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x12c]
sub esp, 0x10
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [esp + 0x140]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x144]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x148]
mov dword [edx + 0xc], ecx
mov ecx, eax
call fcn.00454f00
jmp 0x45bf43
xor eax, eax
mov edx, dword [esi + 0x10]
mov dword [edx + edi*4], eax
inc edi
mov dword [esp + 0x200], 0xffffffff
or ebx, 0xffffffff
cmp byte [esp + 0x37], 0
je 0x45c04d
fld qword [esi + 0x88]
mov eax, dword [esi + 0x14]
fmul qword [0x4c77d8]
lea eax, [eax + edi*8]
lea ecx, [esp + 0x8c]
fmul qword [esi + 0x78]
fabs
fadd qword [eax]
fstp qword [eax + 8]
call fcn.00466230
mov ecx, dword [esi + 0x34]
fld qword [eax]
fstp qword [ecx + edi*8 + 8]
mov edx, dword [esi + 0xc]
push 0x48
mov byte [edi + edx], 0x72
call fcn.0047af44
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x200], 8
test eax, eax
je 0x45c03d
mov ecx, dword [esi + 0x14]
fild dword [esi + 0x3c]
fld qword [ecx + edi*8 + 8]
lea ecx, [ecx + edi*8]
push 0
sub esp, 0x30
fstp qword [esp + 0x28]
mov edx, esp
fld qword [ecx]
mov ecx, dword [esp + 0x1b0]
fstp qword [esp + 0x20]
sub esp, 8
fld st(0)
fld qword [0x4c8a28]
fmul st(1), st(0)
fld st(0)
fsubrp st(2)
fxch st(1)
fstp qword [esp + 0x20]
fld qword [esi + 0x78]
fmul qword [0x4c77d8]
fsubr st(1)
fmulp st(2)
fsubrp st(1)
fstp qword [esp + 0x18]
mov dword [edx], ecx
mov ecx, dword [esp + 0x1bc]
fld qword [esi + 0x88]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x1c0]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x1c4]
mov dword [edx + 0xc], ecx
fstp qword [esp]
mov ecx, eax
call fcn.00454a50
jmp 0x45c03f
xor eax, eax
mov edx, dword [esi + 0x10]
mov dword [edx + edi*4], eax
mov dword [esp + 0x200], ebx
inc edi
cmp byte [esp + 0x39], 0
je 0x45c1ab
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xc0]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xd4]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xd8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x9c]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0xa0]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xb4]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xb8]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x1d4]
push eax
call fcn.00466480
mov ecx, dword [esi + 0x14]
mov edx, dword [eax]
add esp, 0x14
lea ebx, [ecx + edi*8]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
call fcn.00466a60
fadd qword [ebx]
add esp, 0x10
lea ecx, [esp + 0xbc]
fstp qword [ebx + 8]
call fcn.00466230
mov ecx, dword [esi + 0x34]
fld qword [eax]
fstp qword [ecx + edi*8 + 8]
mov edx, dword [esi + 0xc]
push 0x60
mov byte [edi + edx], 0x6b
call fcn.0047af44
mov ebx, eax
add esp, 4
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x200], 9
test ebx, ebx
je 0x45c194
mov eax, dword [esi + 0x14]
lea ecx, [eax + edi*8]
mov dword [esp + 0xec], ecx
lea ecx, [esp + 0xbc]
call fcn.00466240
mov ecx, dword [esp + 0xec]
fld qword [ecx + 8]
mov edx, dword [esi + 0x3c]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [ecx]
mov ecx, dword [esp + 0x9c]
fstp qword [esp]
push edx
fld qword [eax]
mov edx, dword [esp + 0xa4]
sub esp, 0x18
mov eax, esp
fstp qword [esp + 0x10]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc0]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xc4]
mov dword [eax + 8], ecx
mov ecx, ebx
mov dword [eax + 0xc], edx
call fcn.00455490
jmp 0x45c196
xor eax, eax
mov ecx, dword [esi + 0x10]
mov dword [ecx + edi*4], eax
inc edi
mov dword [esp + 0x200], 0xffffffff
or ebx, 0xffffffff
lea ecx, [esp + 0xbc]
call fcn.00466240
fld qword [eax]
mov edx, dword [esi + 0x14]
fadd qword [edx + edi*8]
lea ecx, [edx + edi*8]
push 0x60
fstp qword [ecx + 8]
mov eax, dword [esi + 0x34]
fld qword [eax + edi*8]
lea eax, [eax + edi*8]
fstp qword [eax + 8]
mov ecx, dword [esi + 0xc]
mov byte [edi + ecx], 0x6b
call fcn.0047af44
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x200], 0xa
test eax, eax
je 0x45c24a
mov edx, dword [esi + 0x14]
fld qword [edx + edi*8 + 8]
lea ecx, [edx + edi*8]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [ecx]
mov ecx, dword [esi + 0x3c]
fstp qword [esp]
push ecx
fldz
mov ecx, dword [esp + 0xd0]
sub esp, 0x18
fstp qword [esp + 0x10]
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [esp + 0xec]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0xf0]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0xf4]
mov dword [edx + 0xc], ecx
mov ecx, eax
call fcn.00455490
jmp 0x45c24c
xor eax, eax
mov edx, dword [esi + 0x10]
mov dword [edx + edi*4], eax
lea ecx, [esp + 0x4c]
mov dword [esp + 0x200], ebx
mov dword [esi + 0x20], 0
call fcn.00466240
fld qword [esi + 0x58]
fadd qword [eax]
lea ecx, [esp + 0x14c]
fadd qword [0x4c77f8]
fstp qword [esp + 0x18c]
call fcn.00466240
fld qword [eax]
mov edi, dword [esi]
fadd qword [esi + 0x80]
add edi, 0x14
fcomp qword [esp + 0x18c]
fnstsw ax
test ah, 0x41
jne 0x45c2be
lea ecx, [esp + 0x14c]
call fcn.00466230
fld qword [eax]
mov eax, dword [edi]
sub esp, 8
mov ecx, esi
fstp qword [esp]
call eax
jmp 0x45c2d5
lea ecx, [esp + 0x4c]
call fcn.00466230
fld qword [eax]
mov edx, dword [edi]
sub esp, 8
mov ecx, esi
fstp qword [esp]
call edx
fstp qword [esi + 0x18]
sub esp, 8
fld qword [esi + 0x18]
mov ecx, esi
fstp qword [esp]
call fcn.004528b0
mov edx, dword [esi + 0xc]
mov dword [esi + 0xbc], eax
mov dword [esi + 0xc8], 0
cmp byte [edx], 0x6b
jne 0x45c315
inc dword [esi + 0xc8]
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 0xc8]
cmp byte [ecx + edi], 0x6b
je 0x45c300
mov edi, dword [esi + 0xc8]
cmp edi, eax
mov ecx, edi
jg 0x45c323
mov ecx, eax
mov eax, dword [esi + 8]
dec eax
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xc4], eax
cmp byte [eax + edx], 0x6b
jne 0x45c355
lea esp, [esp]
add dword [esi + 0xc4], ebx
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0xc4]
cmp byte [edx + eax], 0x6b
je 0x45c340
mov edx, dword [esi + 0xc4]
cmp edx, ecx
jge 0x45c361
mov ecx, edx
fld qword [esi + 0x18]
mov dword [esi + 0xbc], ecx
mov ecx, dword [esi + 0x14]
fcomp qword [ecx + edi*8]
fnstsw ax
test ah, 5
jp 0x45c37c
fld qword [ecx + edi*8]
jmp 0x45c37f
fld qword [esi + 0x18]
fst qword [esi + 0x18]
fcom qword [ecx + edx*8 + 8]
fnstsw ax
test ah, 0x41
jne 0x45c393
fstp st(0)
fld qword [ecx + edx*8 + 8]
cmp dword [esp + 0x1a8], 0
fstp qword [esi + 0x18]
je 0x45c3bc
mov ecx, esi
call fcn.00452610
fild dword [esi + 0x3c]
fmul qword [esi + 0x98]
fsub qword [esi + 0xd0]
fstp qword [esi + 0xd0]
mov ecx, dword [esp + 0x1f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4