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

Disassembly:
sub esp, 0x34c
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x14c], 0
mov eax, dword [esi + 0x2c0]
test eax, eax
jle 0x49d9fc
mov ecx, dword [esi + 0x2b0]
mov eax, dword [ecx]
cmp eax, ecx
mov dword [esp + 0x168], eax
je 0x49d9fc
mov edi, dword [eax + 8]
add eax, 8
test edi, edi
je 0x49d9df
fld dword [esi + 0x2e4]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
jne 0x49c0db
call fcn.007a3509
fld dword [esi + 0x2e4]
mov ebx, eax
call fcn.007a2dec
mov ecx, eax
mov eax, ebx
cdq
idiv ecx
mov dword [esp + 0xb4], edx
fild dword [esp + 0xb4]
fld dword [esi + 0x2e4]
fmul dword [0x7e5860]
fsubp st(1)
fstp dword [esp + 0xb4]
jmp 0x49c0e6
mov dword [esp + 0xb4], 0
call fcn.007a3509
cdq
mov ecx, 0x168
idiv ecx
lea ecx, [esp + 0x40]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0xb4]
fmul dword [0x7e64c0]
fld st(0)
fsin
fstp dword [esp + 0x18]
fcos
fstp dword [esp + 0x20]
call fcn.00425b90
fld dword [esp + 0x10]
fcos
fstp dword [esp + 0x40]
fld dword [esp + 0x10]
fsin
mov edx, dword [esp + 0x40]
mov dword [esp + 0x54], edx
fst dword [esp + 0x44]
fchs
fstp dword [esp + 0x50]
fld dword [esp + 0x18]
fld dword [esp + 0x20]
fld dword [esp + 0x60]
fmul st(1)
fld st(2)
fmul dword [esp + 0x40]
faddp st(1)
fadd dword [esp + 0x70]
fstp dword [esp + 0x18]
fld dword [esp + 0x64]
fmul st(1)
fld dword [esp + 0x44]
fmul st(3)
faddp st(1)
fadd dword [esp + 0x74]
fstp dword [esp + 0x1c]
fld dword [esp + 0x68]
fmul st(1)
fld dword [esp + 0x48]
fmul st(3)
faddp st(1)
fadd dword [esp + 0x78]
fstp dword [esp + 0x20]
fstp st(0)
fstp st(0)
fld dword [esp + 0x20]
fld dword [esp + 0x1c]
fld st(1)
fmulp st(2)
fld st(0)
fmul st(1)
faddp st(2)
fld dword [esp + 0x18]
fmul dword [esp + 0x18]
faddp st(2)
fxch st(1)
fsqrt
fxch st(1)
fstp st(0)
fcom dword [0x7e5664]
fnstsw ax
test ah, 0x40
jne 0x49c1e2
fld dword [esp + 0x18]
fdiv st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fdiv st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fdiv st(1)
fstp dword [esp + 0x20]
mov eax, dword [esi + 0x2f0]
mov ecx, dword [esi + 0x2f4]
mov edx, dword [esi + 0x2f8]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x314]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x318]
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0x34]
mov dword [esp + 0x30], edx
mov edx, dword [esi + 0x31c]
mov dword [esp + 0x170], 0
mov ebx, dword [esp + 0x170]
mov dword [esp + 0x174], 0x3f800000
mov ebp, dword [esp + 0x174]
mov dword [esp + 0x16c], 0
test eax, eax
fstp st(0)
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edx
je 0x49c401
add eax, 0xec
mov dword [esp + 0x1a0], ebx
mov dword [esp + 0x1a4], ebp
mov ecx, dword [eax]
mov dword [esp + 0x250], ecx
mov ecx, dword [esp + 0x16c]
mov edx, dword [eax + 4]
mov dword [esp + 0x19c], ecx
lea ecx, [esp + 0x19c]
mov dword [esp + 0x254], edx
mov eax, dword [eax + 8]
mov dword [esp + 0x258], eax
call fcn.00457260
lea ecx, [esp + 0x250]
call fcn.00457260
lea edx, [esp + 0x250]
lea eax, [esp + 0x19c]
push edx
push eax
lea ecx, [esp + 0x2ac]
call fcn.00436a40
lea ecx, [esp + 0x250]
push ecx
lea ecx, [esp + 0x1a0]
call fcn.00436a20
call fcn.007a3af0
fstp dword [esp + 0x10]
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x2a4]
push edx
lea ecx, [esp + 0x84]
push eax
push ecx
call fcn.007708c6
fld dword [esp + 0x2a4]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
je 0x49c343
fld dword [esp + 0x2a8]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
je 0x49c343
fld dword [esp + 0x2ac]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
jne 0x49c3c3
lea edx, [esp + 0x80]
lea eax, [esp + 0x40]
push edx
push eax
call fcn.00770096
fld dword [esp + 0x28]
fld dword [esp + 0x2c]
fld dword [esp + 0x30]
fld dword [esp + 0x60]
fmul st(1)
fld dword [esp + 0x50]
fmul st(3)
faddp st(1)
fld st(3)
fmul dword [esp + 0x40]
faddp st(1)
fadd dword [esp + 0x70]
fstp dword [esp + 0x28]
fld dword [esp + 0x64]
fmul st(1)
fld dword [esp + 0x54]
fmul st(3)
faddp st(1)
fld dword [esp + 0x44]
fmul st(4)
faddp st(1)
fadd dword [esp + 0x74]
fstp dword [esp + 0x2c]
fld dword [esp + 0x68]
fmul st(1)
fld dword [esp + 0x58]
fmul st(3)
faddp st(1)
fld dword [esp + 0x48]
fmul st(4)
faddp st(1)
fadd dword [esp + 0x78]
fstp dword [esp + 0x30]
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x49c401
fld dword [esp + 0x8c]
fcomp dword [0x7e5668]
fnstsw ax
test ah, 0x40
jne 0x49c401
fld dword [esp + 0x28]
fmul dword [0x7e6048]
fstp dword [esp + 0x28]
fld dword [esp + 0x2c]
fmul dword [0x7e6048]
fstp dword [esp + 0x2c]
fld dword [esp + 0x30]
fmul dword [0x7e6048]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fld dword [esp + 0x2c]
fld dword [esp + 0x28]
fmul dword [esp + 0x28]
fld st(2)
fmul st(3)
faddp st(1)
fld st(1)
fmul st(2)
faddp st(1)
fsqrt
fstp st(2)
fstp st(0)
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
jne 0x49c60c
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x238], ecx
mov ecx, dword [esp + 0x16c]
mov dword [esp + 0x23c], edx
mov dword [esp + 0x1fc], ecx
lea ecx, [esp + 0x1fc]
mov dword [esp + 0x240], eax
mov dword [esp + 0x200], ebx
mov dword [esp + 0x204], ebp
call fcn.00457260
lea ecx, [esp + 0x238]
call fcn.00457260
lea edx, [esp + 0x238]
lea eax, [esp + 0x1fc]
push edx
push eax
lea ecx, [esp + 0x2a0]
call fcn.00436a40
lea ecx, [esp + 0x238]
push ecx
lea ecx, [esp + 0x200]
call fcn.00436a20
call fcn.007a3af0
fstp dword [esp + 0x10]
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x298]
push edx
lea ecx, [esp + 0x84]
push eax
push ecx
call fcn.007708c6
fld dword [esp + 0x298]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
je 0x49c51c
fld dword [esp + 0x29c]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
je 0x49c51c
fld dword [esp + 0x2a0]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
jne 0x49c5ce
lea edx, [esp + 0x80]
lea eax, [esp + 0x40]
push edx
push eax
call fcn.00770096
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
push ecx
push edx
push eax
lea ecx, [esp + 0x128]
call fcn.004251c0
fld dword [esp + 0x60]
fmul dword [esp + 0x124]
fld dword [esp + 0x50]
fmul dword [esp + 0x120]
faddp st(1)
fld dword [esp + 0x11c]
fmul dword [esp + 0x40]
faddp st(1)
fadd dword [esp + 0x70]
fstp dword [esp + 0x34]
fld dword [esp + 0x64]
fmul dword [esp + 0x124]
fld dword [esp + 0x54]
fmul dword [esp + 0x120]
faddp st(1)
fld dword [esp + 0x44]
fmul dword [esp + 0x11c]
faddp st(1)
fadd dword [esp + 0x74]
fstp dword [esp + 0x38]
fld dword [esp + 0x68]
fmul dword [esp + 0x124]
fld dword [esp + 0x58]
fmul dword [esp + 0x120]
faddp st(1)
fld dword [esp + 0x48]
fmul dword [esp + 0x11c]
faddp st(1)
fadd dword [esp + 0x78]
jmp 0x49c608
fld dword [esp + 0x8c]
fcomp dword [0x7e5668]
fnstsw ax
test ah, 0x40
jne 0x49c60c
fld dword [esp + 0x34]
fmul dword [0x7e6048]
fstp dword [esp + 0x34]
fld dword [esp + 0x38]
fmul dword [0x7e6048]
fstp dword [esp + 0x38]
fld dword [esp + 0x3c]
fmul dword [0x7e6048]
fstp dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1b4], ecx
mov ecx, dword [esp + 0x16c]
mov dword [esp + 0x1b8], edx
mov dword [esp + 0x184], ecx
lea ecx, [esp + 0x184]
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x188], ebx
mov dword [esp + 0x18c], ebp
call fcn.00457260
lea ecx, [esp + 0x1b4]
call fcn.00457260
lea edx, [esp + 0x1b4]
lea eax, [esp + 0x184]
push edx
push eax
lea ecx, [esp + 0x294]
call fcn.00436a40
lea ecx, [esp + 0x1b4]
push ecx
lea ecx, [esp + 0x188]
call fcn.00436a20
call fcn.007a3af0
fstp dword [esp + 0x10]
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x28c]
push edx
lea ecx, [esp + 0x84]
push eax
push ecx
call fcn.007708c6
fld dword [esp + 0x28c]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
je 0x49c6f4
fld dword [esp + 0x290]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
je 0x49c6f4
fld dword [esp + 0x294]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
jne 0x49c7a2
lea edx, [esp + 0x80]
lea eax, [esp + 0x40]
push edx
push eax
call fcn.00770096
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push ecx
push edx
push eax
lea ecx, [esp + 0xf8]
call fcn.004251c0
fld dword [esp + 0x60]
fmul dword [esp + 0xf4]
fld dword [esp + 0x50]
fmul dword [esp + 0xf0]
faddp st(1)
fld dword [esp + 0xec]
fmul dword [esp + 0x40]
faddp st(1)
fadd dword [esp + 0x70]
fld dword [esp + 0x64]
fmul dword [esp + 0xf4]
fld dword [esp + 0x54]
fmul dword [esp + 0xf0]
faddp st(1)
fld dword [esp + 0x44]
fmul dword [esp + 0xec]
faddp st(1)
fadd dword [esp + 0x74]
fstp dword [esp + 0x1c]
fld dword [esp + 0x68]
fmul dword [esp + 0xf4]
fld dword [esp + 0x58]
fmul dword [esp + 0xf0]
faddp st(1)
fld dword [esp + 0x48]
fmul dword [esp + 0xec]
faddp st(1)
fadd dword [esp + 0x78]
jmp 0x49c7d8
fld dword [esp + 0x8c]
fcomp dword [0x7e5668]
fld dword [esp + 0x18]
fnstsw ax
test ah, 0x40
jne 0x49c7dc
fmul dword [0x7e6048]
fld dword [esp + 0x1c]
fmul dword [0x7e6048]
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fmul dword [0x7e6048]
fstp dword [esp + 0x20]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [edi + 0x40], ecx
mov dword [edi + 0x44], edx
mov dword [edi + 0x48], eax
mov ecx, dword [esi + 0x320]
mov dword [esp + 0xe8], ecx
fmul dword [esp + 0xe8]
fld dword [esp + 0x1c]
fmul dword [esp + 0xe8]
fstp dword [esp + 0x314]
fld dword [esp + 0x20]
fmul dword [esp + 0xe8]
mov edx, dword [esp + 0x314]
mov dword [edi + 0x50], edx
fstp dword [esp + 0x318]
mov eax, dword [esp + 0x318]
fstp dword [edi + 0x4c]
mov dword [edi + 0x54], eax
mov eax, dword [esi + 0x34]
test eax, eax
je 0x49d9ae
mov cl, byte [eax + 0x10c]
test cl, cl
je 0x49cf5d
lea ebx, [esi + 0x88]
add eax, 0xec
mov ecx, ebx
mov dword [esp + 0x230], 0
mov dword [esp + 0x22c], 0
mov dword [esp + 0x234], 0x3f800000
mov edx, dword [ecx]
mov dword [esp + 0x90], edx
mov edx, dword [ecx + 4]
mov dword [esp + 0x94], edx
mov edx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x1cc], edx
mov dword [esp + 0x98], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x1d0], ecx
mov ecx, dword [esp + 0x230]
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x22c]
mov dword [esp + 0x1d4], edx
mov edx, dword [esp + 0x234]
mov dword [esp + 0x218], ecx
lea ecx, [esp + 0x214]
mov dword [esp + 0x214], eax
mov dword [esp + 0x21c], edx
call fcn.00457260
lea ecx, [esp + 0x1cc]
call fcn.00457260
lea eax, [esp + 0x1cc]
lea ecx, [esp + 0x214]
push eax
push ecx
lea ecx, [esp + 0x264]
call fcn.00436a40
lea edx, [esp + 0x1cc]
lea ecx, [esp + 0x214]
push edx
call fcn.00436a20
call fcn.007a3af0
fstp dword [esp + 0x10]
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x25c]
push eax
lea edx, [esp + 0x84]
push ecx
push edx
call fcn.007708c6
fld dword [esp + 0x25c]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
je 0x49c996
fld dword [esp + 0x260]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
je 0x49c996
fld dword [esp + 0x264]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
jne 0x49ca2f
lea eax, [esp + 0x80]
lea ecx, [esp + 0x40]
push eax
push ecx
call fcn.00770096
fld dword [esp + 0x60]
fmul dword [ebx + 8]
fld dword [esp + 0x50]
fmul dword [ebx + 4]
faddp st(1)
fld dword [esp + 0x40]
fmul dword [ebx]
faddp st(1)
fadd dword [esp + 0x70]
fld dword [esp + 0x64]
fmul dword [ebx + 8]
fld dword [esp + 0x54]
fmul dword [ebx + 4]
faddp st(1)
fld dword [esp + 0x44]
fmul dword [ebx]
faddp st(1)
fadd dword [esp + 0x74]
fstp dword [esp + 0x2fc]
fld dword [esp + 0x68]
fmul dword [ebx + 8]
fld dword [esp + 0x58]
fmul dword [ebx + 4]
mov edx, dword [esp + 0x2fc]
mov dword [esp + 0x94], edx
faddp st(1)
fld dword [esp + 0x48]
fmul dword [ebx]
faddp st(1)
fadd dword [esp + 0x78]
fstp dword [esp + 0x300]
mov eax, dword [esp + 0x300]
fstp dword [esp + 0x90]
mov dword [esp + 0x98], eax
jmp 0x49ca7f
fld dword [esp + 0x8c]
fcomp dword [0x7e5668]
fnstsw ax
test ah, 0x40
jne 0x49ca7f
fld dword [esp + 0x90]
fmul dword [0x7e6048]
fstp dword [esp + 0x90]
fld dword [esp + 0x94]
fmul dword [0x7e6048]
fstp dword [esp + 0x94]
fld dword [esp + 0x98]
fmul dword [0x7e6048]
fstp dword [esp + 0x98]
mov ecx, dword [esi + 0x34]
fld dword [ecx + 0x110]
fmul dword [edi + 0x8c]
fstp dword [edi + 0x8c]
mov edx, dword [esi + 0x34]
fld dword [edx + 0x110]
fld st(0)
fmul dword [edi + 0x4c]
fstp dword [edi + 0x4c]
fld st(0)
fmul dword [edi + 0x50]
fstp dword [edi + 0x50]
fmul dword [edi + 0x54]
fstp dword [edi + 0x54]
mov al, byte [esi + 0x4d0]
test al, al
je 0x49cb89
mov eax, dword [esi + 0x4c4]
test eax, eax
je 0x49cb89
add eax, 0x3c
mov ecx, dword [eax]
mov dword [esp + 0x128], ecx
mov ecx, dword [ebx]
fld dword [esp + 0x128]
fmul dword [esi + 0x2d4]
mov edx, dword [eax + 4]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x12c], edx
mov edx, dword [ebx + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x94], edx
fstp dword [esp + 0x140]
fld dword [esp + 0x12c]
fmul dword [esi + 0x2d8]
mov dword [esp + 0x130], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x98], eax
fstp dword [esp + 0x144]
fld dword [esp + 0x130]
fmul dword [esi + 0x2dc]
fstp dword [esp + 0x148]
fld dword [esp + 0x128]
fmul dword [esi + 0x2c8]
fstp dword [esp + 0xdc]
fld dword [esp + 0x12c]
fmul dword [esi + 0x2cc]
fstp dword [esp + 0xe0]
fld dword [esp + 0x130]
fmul dword [esi + 0x2d0]
fstp dword [esp + 0xe4]
jmp 0x49cc2a
mov eax, dword [esi + 0x34]
fld dword [eax + 0x110]
fld st(0)
fmul dword [esi + 0x2d4]
fld st(1)
fmul dword [esi + 0x2d8]
fstp dword [esp + 0x2f0]
fxch st(1)
fmul dword [esi + 0x2dc]
mov ecx, dword [esp + 0x2f0]
mov dword [esp + 0x144], ecx
fstp dword [esp + 0x2f4]
mov edx, dword [esp + 0x2f4]
fstp dword [esp + 0x140]
fld dword [eax + 0x110]
fld st(0)
fmul dword [esi + 0x2c8]
fld st(1)
fmul dword [esi + 0x2cc]
mov dword [esp + 0x148], edx
fstp dword [esp + 0x308]
fxch st(1)
fmul dword [esi + 0x2d0]
mov eax, dword [esp + 0x308]
mov dword [esp + 0xe0], eax
fstp dword [esp + 0x30c]
mov ecx, dword [esp + 0x30c]
fstp dword [esp + 0xdc]
mov dword [esp + 0xe4], ecx
call fcn.007a3509
cdq
mov ecx, 0x64
idiv ecx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x7e5ef0]
fld dword [esp + 0x148]
fsub dword [esp + 0xe4]
fmulp st(1)
fadd dword [esp + 0xe4]
fstp dword [esp + 0x10]
call fcn.007a3509
cdq
mov ecx, 0x64
idiv ecx
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fmul dword [0x7e5ef0]
fld dword [esp + 0x144]
fsub dword [esp + 0xe0]
fmulp st(1)
fadd dword [esp + 0xe0]
fstp dword [esp + 0x24]
call fcn.007a3509
cdq
mov ecx, 0x64
mov dword [esp + 0x1e4], 0
idiv ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [edi + 0x40]
mov dword [esp + 0xcc], eax
mov eax, dword [edi + 0x48]
mov dword [esp + 0x244], ecx
mov ecx, dword [esp + 0x1e4]
mov dword [esp + 0x1e8], 0
mov dword [esp + 0x1ec], 0x3f800000
mov dword [esp + 0x24c], eax
mov eax, dword [esp + 0x1ec]
mov dword [esp + 0x190], ecx
lea ecx, [esp + 0x190]
mov dword [esp + 0x198], eax
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x24]
fild dword [esp + 0x14]
mov dword [esp + 0xc8], edx
mov edx, dword [edi + 0x44]
mov dword [esp + 0x248], edx
mov edx, dword [esp + 0x1e8]
fmul dword [0x7e5ef0]
fld dword [esp + 0x140]
fsub dword [esp + 0xdc]
mov dword [esp + 0x194], edx
fmulp st(1)
fadd dword [esp + 0xdc]
fstp dword [esp + 0xc4]
call fcn.00457260
lea ecx, [esp + 0x244]
call fcn.00457260
lea ecx, [esp + 0x244]
lea edx, [esp + 0x190]
push ecx
push edx
lea ecx, [esp + 0x288]
call fcn.00436a40
lea eax, [esp + 0x244]
lea ecx, [esp + 0x190]
push eax
call fcn.00436a20
call fcn.007a3af0
fstp dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x280]
push ecx
lea eax, [esp + 0x84]
push edx
push eax
call fcn.007708c6
fld dword [esp + 0x280]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
je 0x49cdf9
fld dword [esp + 0x284]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
je 0x49cdf9
fld dword [esp + 0x288]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
jne 0x49cead
lea ecx, [esp + 0x80]
lea edx, [esp + 0x40]
push ecx
push edx
call fcn.00770096
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc4]
push eax
push ecx
push edx
lea ecx, [esp + 0x11c]
call fcn.004251c0
fld dword [esp + 0x60]
fmul dword [esp + 0x118]
fld dword [esp + 0x50]
fmul dword [esp + 0x114]
faddp st(1)
fld dword [esp + 0x110]
fmul dword [esp + 0x40]
faddp st(1)
fadd dword [esp + 0x70]
fld dword [esp + 0x64]
fmul dword [esp + 0x118]
fld dword [esp + 0x54]
fmul dword [esp + 0x114]
faddp st(1)
fld dword [esp + 0x44]
fmul dword [esp + 0x110]
faddp st(1)
fadd dword [esp + 0x74]
fstp dword [esp + 0xc8]
fld dword [esp + 0x48]
fmul dword [esp + 0x110]
fld dword [esp + 0x68]
fmul dword [esp + 0x118]
faddp st(1)
fld dword [esp + 0x58]
fmul dword [esp + 0x114]
faddp st(1)
fadd dword [esp + 0x78]
jmp 0x49cee9
fld dword [esp + 0x8c]
fcomp dword [0x7e5668]
fld dword [esp + 0xc4]
fnstsw ax
test ah, 0x40
jne 0x49cef0
fmul dword [0x7e6048]
fld dword [esp + 0x24]
fmul dword [0x7e6048]
fstp dword [esp + 0xc8]
fld dword [esp + 0x10]
fmul dword [0x7e6048]
fstp dword [esp + 0xcc]
mov eax, dword [esi + 0x34]
mov edx, dword [esp + 0xc8]
fld dword [esp + 0x90]
fadd dword [eax + 0xc8]
fld dword [esp + 0x94]
fadd dword [eax + 0xcc]
add eax, 0xc8
fstp dword [esp + 0x2e4]
fld dword [esp + 0x98]
fadd dword [eax + 8]
mov eax, dword [esp + 0x2e4]
mov dword [edi + 0x38], eax
mov eax, dword [esp + 0xcc]
fstp dword [esp + 0x2e8]
mov ecx, dword [esp + 0x2e8]
fstp dword [edi + 0x34]
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x74], edx
fstp dword [edi + 0x70]
mov dword [edi + 0x78], eax
jmp 0x49d9ae
test eax, eax
je 0x49d9ae
cmp dword [eax + 0xf8], 0x3f800000
je 0x49d661
lea ebx, [esi + 0x88]
add eax, 0xec
mov ecx, ebx
mov dword [esp + 0x1ac], 0
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1b0], 0x3f800000
mov edx, dword [ecx]
mov dword [esp + 0xa8], edx
mov edx, dword [ecx + 4]
mov dword [esp + 0xac], edx
mov ecx, dword [ecx + 8]
mov dword [esp + 0xb0], ecx
mov edx, dword [eax]
mov dword [esp + 0x1c0], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x1c4], ecx
mov ecx, dword [esp + 0x1ac]
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x1c8], edx
mov edx, dword [esp + 0x1b0]
mov dword [esp + 0x1dc], ecx
lea ecx, [esp + 0x1d8]
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x1e0], edx
call fcn.00457260
lea ecx, [esp + 0x1c0]
call fcn.00457260
lea eax, [esp + 0x1c0]
lea ecx, [esp + 0x1d8]
push eax
push ecx
lea ecx, [esp + 0x270]
call fcn.00436a40
lea edx, [esp + 0x1c0]
lea ecx, [esp + 0x1d8]
push edx
call fcn.00436a20
call fcn.007a3af0
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x268]
push eax
lea edx, [esp + 0x84]
push ecx
push edx
call fcn.007708c6
fld dword [esp + 0x268]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
je 0x49d0b2
fld dword [esp + 0x26c]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
je 0x49d0b2
fld dword [esp + 0x270]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
jne 0x49d14b
lea eax, [esp + 0x80]
lea ecx, [esp + 0x40]
push eax
push ecx
call fcn.00770096
fld dword [esp + 0x60]
fmul dword [ebx + 8]
fld dword [esp + 0x50]
fmul dword [ebx + 4]
faddp st(1)
fld dword [esp + 0x40]
fmul dword [ebx]
faddp st(1)
fadd dword [esp + 0x70]
fld dword [esp + 0x64]
fmul dword [ebx + 8]
fld dword [esp + 0x54]
fmul dword [ebx + 4]
faddp st(1)
fld dword [esp + 0x44]
fmul dword [ebx]
faddp st(1)
fadd dword [esp + 0x74]
fstp dword [esp + 0x2b4]
fld dword [esp + 0x68]
fmul dword [ebx + 8]
fld dword [esp + 0x58]
fmul dword [ebx + 4]
mov edx, dword [esp + 0x2b4]
mov dword [esp + 0xac], edx
faddp st(1)
fld dword [esp + 0x48]
fmul dword [ebx]
faddp st(1)
fadd dword [esp + 0x78]
fstp dword [esp + 0x2b8]
mov eax, dword [esp + 0x2b8]
fstp dword [esp + 0xa8]
mov dword [esp + 0xb0], eax
jmp 0x49d19b
fld dword [esp + 0x8c]
fcomp dword [0x7e5668]
fnstsw ax
test ah, 0x40
jne 0x49d19b
fld dword [esp + 0xa8]
fmul dword [0x7e6048]
fstp dword [esp + 0xa8]
fld dword [esp + 0xac]
fmul dword [0x7e6048]
fstp dword [esp + 0xac]
fld dword [esp + 0xb0]
fmul dword [0x7e6048]
fstp dword [esp + 0xb0]
mov ecx, dword [esi + 0x34]
fld dword [ecx + 0xf8]
fmul dword [edi + 0x8c]
fstp dword [edi + 0x8c]
mov edx, dword [esi + 0x34]
fld dword [edx + 0xf8]
fld st(0)
fmul dword [edi + 0x4c]
fstp dword [edi + 0x4c]
fld st(0)
fmul dword [edi + 0x50]
fstp dword [edi + 0x50]
fmul dword [edi + 0x54]
fstp dword [edi + 0x54]
mov al, byte [esi + 0x4d0]
test al, al
je 0x49d2a5
mov eax, dword [esi + 0x4c4]
test eax, eax
je 0x49d2a5
add eax, 0x3c
mov ecx, dword [eax]
mov dword [esp + 0x150], ecx
mov ecx, dword [ebx]
fld dword [esp + 0x150]
fmul dword [esi + 0x2d4]
mov edx, dword [eax + 4]
mov dword [esp + 0x154], edx
mov edx, dword [ebx + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0xa8], ecx
fstp dword [esp + 0x15c]
fld dword [esp + 0x154]
fmul dword [esi + 0x2d8]
mov dword [esp + 0x158], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], eax
fstp dword [esp + 0x160]
fld dword [esp + 0x158]
fmul dword [esi + 0x2dc]
fstp dword [esp + 0x164]
fld dword [esp + 0x150]
fmul dword [esi + 0x2c8]
fstp dword [esp + 0xd0]
fld dword [esp + 0x154]
fmul dword [esi + 0x2cc]
fstp dword [esp + 0xd4]
fld dword [esp + 0x158]
fmul dword [esi + 0x2d0]
fstp dword [esp + 0xd8]
jmp 0x49d346
mov eax, dword [esi + 0x34]
fld dword [eax + 0xf8]
fld st(0)
fmul dword [esi + 0x2d4]
fld st(1)
fmul dword [esi + 0x2d8]
fstp dword [esp + 0x2cc]
fxch st(1)
fmul dword [esi + 0x2dc]
mov ecx, dword [esp + 0x2cc]
mov dword [esp + 0x160], ecx
fstp dword [esp + 0x2d0]
mov edx, dword [esp + 0x2d0]
fstp dword [esp + 0x15c]
fld dword [eax + 0xf8]
fld st(0)
fmul dword [esi + 0x2c8]
fld st(1)
fmul dword [esi + 0x2cc]
mov dword [esp + 0x164], edx
fstp dword [esp + 0x2d8]
fxch st(1)
fmul dword [esi + 0x2d0]
mov eax, dword [esp + 0x2d8]
mov dword [esp + 0xd4], eax
fstp dword [esp + 0x2dc]
mov ecx, dword [esp + 0x2dc]
fstp dword [esp + 0xd0]
mov dword [esp + 0xd8], ecx
call fcn.007a3509
cdq
mov ecx, 0x64
idiv ecx
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul dword [0x7e5ef0]
fld dword [esp + 0x164]
fsub dword [esp + 0xd8]
fmulp st(1)
fadd dword [esp + 0xd8]
fstp dword [esp + 0x24]
call fcn.007a3509
cdq
mov ecx, 0x64
idiv ecx
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul dword [0x7e5ef0]
fld dword [esp + 0x160]
fsub dword [esp + 0xd4]
fmulp st(1)
fadd dword [esp + 0xd4]
fstp dword [esp + 0x10]
call fcn.007a3509
cdq
mov ecx, 0x64
mov dword [esp + 0x1f0], 0
idiv ecx
mov eax, dword [esp + 0x24]
mov ecx, dword [edi + 0x40]
mov dword [esp + 0xa4], eax
mov eax, dword [edi + 0x48]
mov dword [esp + 0x208], ecx
mov ecx, dword [esp + 0x1f0]
mov dword [esp + 0x1f4], 0
mov dword [esp + 0x1f8], 0x3f800000
mov dword [esp + 0x210], eax
mov eax, dword [esp + 0x1f8]
mov dword [esp + 0x220], ecx
lea ecx, [esp + 0x220]
mov dword [esp + 0x228], eax
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x10]
fild dword [esp + 0x14]
mov dword [esp + 0xa0], edx
mov edx, dword [edi + 0x44]
mov dword [esp + 0x20c], edx
mov edx, dword [esp + 0x1f4]
fmul dword [0x7e5ef0]
fld dword [esp + 0x15c]
fsub dword [esp + 0xd0]
mov dword [esp + 0x224], edx
fmulp st(1)
fadd dword [esp + 0xd0]
fstp dword [esp + 0x9c]
call fcn.00457260
lea ecx, [esp + 0x208]
call fcn.00457260
lea ecx, [esp + 0x208]
lea edx, [esp + 0x220]
push ecx
push edx
lea ecx, [esp + 0x27c]
call fcn.00436a40
lea eax, [esp + 0x208]
lea ecx, [esp + 0x220]
push eax
call fcn.00436a20
call fcn.007a3af0
fstp dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x274]
push ecx
lea eax, [esp + 0x84]
push edx
push eax
call fcn.007708c6
fld dword [esp + 0x274]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
je 0x49d515
fld dword [esp + 0x278]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
je 0x49d515
fld dword [esp + 0x27c]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
jne 0x49d5d6
lea ecx, [esp + 0x80]
lea edx, [esp + 0x40]
push ecx
push edx
call fcn.00770096
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x9c]
push eax
push ecx
push edx
lea ecx, [esp + 0x104]
call fcn.004251c0
fld dword [esp + 0xf8]
fmul dword [esp + 0x40]
fld dword [esp + 0x60]
fmul dword [esp + 0x100]
faddp st(1)
fld dword [esp + 0x50]
fmul dword [esp + 0xfc]
faddp st(1)
fadd dword [esp + 0x70]
fstp dword [esp + 0x9c]
fld dword [esp + 0x64]
fmul dword [esp + 0x100]
fld dword [esp + 0x54]
fmul dword [esp + 0xfc]
faddp st(1)
fld dword [esp + 0x44]
fmul dword [esp + 0xf8]
faddp st(1)
fadd dword [esp + 0x74]
fstp dword [esp + 0xa0]
fld dword [esp + 0x68]
fmul dword [esp + 0x100]
fld dword [esp + 0x58]
fmul dword [esp + 0xfc]
faddp st(1)
fld dword [esp + 0x48]
fmul dword [esp + 0xf8]
faddp st(1)
fadd dword [esp + 0x78]
jmp 0x49d61f
fld dword [esp + 0x8c]
fcomp dword [0x7e5668]
fnstsw ax
test ah, 0x40
jne 0x49d626
fld dword [esp + 0x9c]
fmul dword [0x7e6048]
fstp dword [esp + 0x9c]
fld dword [esp + 0xa0]
fmul dword [0x7e6048]
fstp dword [esp + 0xa0]
fld dword [esp + 0xa4]
fmul dword [0x7e6048]
fstp dword [esp + 0xa4]
lea eax, [esp + 0xa8]
lea ecx, [esp + 0x320]
push eax
push ecx
mov ecx, dword [esi + 0x34]
add ecx, 0xc8
call fcn.00435ff0
mov edx, dword [eax]
mov dword [edi + 0x34], edx
mov ecx, dword [eax + 4]
mov dword [edi + 0x38], ecx
mov edx, dword [eax + 8]
mov dword [edi + 0x3c], edx
lea eax, [esp + 0x9c]
jmp 0x49d9a5
test eax, eax
je 0x49d9ae
lea ebx, [esi + 0x88]
add eax, 0xec
mov ecx, ebx
mov edx, dword [ecx]
mov dword [esp + 0x178], edx
mov edx, dword [ecx + 4]
mov dword [esp + 0x17c], edx
lea edx, [esp + 0x80]
mov ecx, dword [ecx + 8]
push edx
sub esp, 0xc
mov dword [esp + 0x190], ecx
mov edx, dword [eax]
mov ecx, esp
push 0x3f800000
push 0
mov dword [ecx], edx
mov edx, dword [eax + 4]
push 0
mov eax, dword [eax + 8]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
lea ecx, [esp + 0x354]
call fcn.004a6c30
mov edx, dword [eax]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.0049f940
test al, al
je 0x49d71a
lea ecx, [esp + 0x80]
lea edx, [esp + 0x40]
push ecx
push edx
call fcn.00770096
lea eax, [esp + 0x40]
lea ecx, [esp + 0x350]
push eax
push ecx
mov ecx, ebx
call fcn.004572b0
push eax
lea ecx, [esp + 0x17c]
call fcn.00426b10
jmp 0x49d73f
fld dword [esp + 0x8c]
fcomp dword [0x7e5668]
fnstsw ax
test ah, 0x40
jne 0x49d73f
push 0xbf800000
lea ecx, [esp + 0x17c]
call fcn.0049fcf0
lea edx, [esi + 0x2d4]
lea ecx, [esp + 0x104]
push edx
call fcn.00426b10
lea eax, [esi + 0x2c8]
lea ecx, [esp + 0xb8]
push eax
call fcn.00426b10
mov al, byte [esi + 0x4d0]
test al, al
je 0x49d82c
mov eax, dword [esi + 0x4c4]
test eax, eax
je 0x49d82c
fld dword [esp + 0x104]
add eax, 0x3c
push ebx
mov ecx, dword [eax]
mov dword [esp + 0x138], ecx
lea ecx, [esp + 0x17c]
fmul dword [esp + 0x138]
mov edx, dword [eax + 4]
mov dword [esp + 0x13c], edx
mov eax, dword [eax + 8]
fstp dword [esp + 0x108]
fld dword [esp + 0x10c]
fmul dword [esp + 0x13c]
mov dword [esp + 0x140], eax
fstp dword [esp + 0x10c]
fld dword [esp + 0x110]
fmul dword [esp + 0x140]
fstp dword [esp + 0x110]
fld dword [esp + 0xbc]
fmul dword [esp + 0x138]
fstp dword [esp + 0xbc]
fld dword [esp + 0xc0]
fmul dword [esp + 0x13c]
fstp dword [esp + 0xc0]
fld dword [esp + 0xc4]
fmul dword [esp + 0x140]
fstp dword [esp + 0xc4]
call fcn.00426b10
call fcn.007a3509
cdq
mov ecx, 0x64
idiv ecx
push ecx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fmul dword [0x7e5ef0]
fld dword [esp + 0x110]
fsub dword [esp + 0xc4]
fmulp st(1)
fadd dword [esp + 0xc4]
fstp dword [esp]
call fcn.007a3509
cdq
mov ecx, 0x64
idiv ecx
push ecx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fmul dword [0x7e5ef0]
fld dword [esp + 0x110]
fsub dword [esp + 0xc4]
fmulp st(1)
fadd dword [esp + 0xc4]
fstp dword [esp]
call fcn.007a3509
cdq
mov ecx, 0x64
idiv ecx
push ecx
lea ecx, [esp + 0x2c8]
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x7e5ef0]
fld dword [esp + 0x110]
fsub dword [esp + 0xc4]
fmulp st(1)
fadd dword [esp + 0xc4]
fstp dword [esp]
call fcn.004251c0
mov ecx, dword [edi + 0x40]
lea edx, [esp + 0x80]
push edx
mov edx, dword [edi + 0x44]
sub esp, 0xc
mov eax, esp
push 0x3f800000
push 0
mov dword [eax], ecx
mov ecx, dword [edi + 0x48]
push 0
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
lea ecx, [esp + 0x360]
call fcn.004a6c30
mov ecx, dword [eax]
sub esp, 0xc
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [edx + 4], ecx
mov ecx, esi
mov dword [edx + 8], eax
call fcn.0049f940
test al, al
je 0x49d952
lea ecx, [esp + 0x80]
lea edx, [esp + 0x40]
push ecx
push edx
call fcn.00770096
lea eax, [esp + 0x40]
lea ecx, [esp + 0x2bc]
push eax
call fcn.0044bcd0
jmp 0x49d977
fld dword [esp + 0x8c]
fcomp dword [0x7e5668]
fnstsw ax
test ah, 0x40
jne 0x49d977
push 0xbf800000
lea ecx, [esp + 0x2c0]
call fcn.0049fcf0
lea ecx, [esp + 0x178]
lea edx, [esp + 0x32c]
push ecx
mov ecx, dword [esi + 0x34]
push edx
add ecx, 0xc8
call fcn.00435ff0
push eax
lea ecx, [edi + 0x34]
call fcn.00426b10
lea eax, [esp + 0x2bc]
push eax
lea ecx, [edi + 0x70]
call fcn.00426b10
mov ecx, dword [esp + 0x168]
lea eax, [ecx + 8]
lea ecx, [esi + 0x2a0]
push eax
call fcn.0049faa0
mov edx, dword [esp + 0x168]
lea eax, [esp + 0x31c]
push edx
push eax
lea ecx, [esi + 0x2ac]
call fcn.00664200
mov eax, dword [esp + 0x14c]
mov ecx, dword [esi + 0x2c0]
inc eax
cmp eax, ecx
mov dword [esp + 0x14c], eax
jl 0x49c065
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34c
ret
sub esp, 0x368
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x138], 0
mov eax, dword [esi + 0x2c0]
test eax, eax
jle 0x49f3b0
mov ecx, dword [esi + 0x2b0]
mov eax, dword [ecx]
cmp eax, ecx
mov dword [esp + 0x1d8], eax
je 0x49f3b0
fld dword [esi + 0x2e4]
mov edi, dword [eax + 8]
add eax, 8
mov eax, dword [esi + 0x2f0]
mov ecx, dword [esi + 0x2f4]
mov edx, dword [esi + 0x2f8]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x314]
mov dword [esp + 0x2c], ecx
fstp dword [esp + 0x18]
fld dword [esi + 0x2e8]
mov ecx, dword [esi + 0x318]
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0x34]
mov dword [esp + 0x30], edx
mov edx, dword [esi + 0x31c]
mov dword [esp + 0x164], 0
mov ebx, dword [esp + 0x164]
mov dword [esp + 0x168], 0x3f800000
mov ebp, dword [esp + 0x168]
mov dword [esp + 0x160], 0
fstp dword [esp + 0x1c]
fld dword [esi + 0x2ec]
fstp dword [esp + 0x20]
test eax, eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edx
je 0x49dc99
add eax, 0xec
mov dword [esp + 0x258], ebx
mov dword [esp + 0x25c], ebp
mov ecx, dword [eax]
mov dword [esp + 0x190], ecx
mov ecx, dword [esp + 0x160]
mov edx, dword [eax + 4]
mov dword [esp + 0x254], ecx
lea ecx, [esp + 0x254]
mov dword [esp + 0x194], edx
mov eax, dword [eax + 8]
mov dword [esp + 0x198], eax
call fcn.00457260
lea ecx, [esp + 0x190]
call fcn.00457260
lea edx, [esp + 0x190]
lea eax, [esp + 0x254]
push edx
push eax
lea ecx, [esp + 0x2b0]
call fcn.00436a40
lea ecx, [esp + 0x190]
push ecx
lea ecx, [esp + 0x258]
call fcn.00436a20
call fcn.007a3af0
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x2a8]
push edx
lea ecx, [esp + 0x44]
push eax
push ecx
call fcn.007708c6
fld dword [esp + 0x2a8]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
je 0x49dbcc
fld dword [esp + 0x2ac]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
je 0x49dbcc
fld dword [esp + 0x2b0]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
jne 0x49dc5e
lea edx, [esp + 0x40]
lea eax, [esp + 0x68]
push edx
push eax
call fcn.00770096
fld dword [esp + 0x28]
fld dword [esp + 0x2c]
fld dword [esp + 0x30]
fld dword [esp + 0x88]
fmul st(1)
fld dword [esp + 0x78]
fmul st(3)
faddp st(1)
fld dword [esp + 0x68]
fmul st(4)
faddp st(1)
fadd dword [esp + 0x98]
fstp dword [esp + 0x28]
fld dword [esp + 0x8c]
fmul st(1)
fld dword [esp + 0x7c]
fmul st(3)
faddp st(1)
fld dword [esp + 0x6c]
fmul st(4)
faddp st(1)
fadd dword [esp + 0x9c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x90]
fmul st(1)
fld dword [esp + 0x80]
fmul st(3)
faddp st(1)
fld dword [esp + 0x70]
fmul st(4)
faddp st(1)
fadd dword [esp + 0xa0]
fstp dword [esp + 0x30]
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x49dc99
fld dword [esp + 0x4c]
fcomp dword [0x7e5668]
fnstsw ax
test ah, 0x40
jne 0x49dc99
fld dword [esp + 0x28]
fmul dword [0x7e6048]
fstp dword [esp + 0x28]
fld dword [esp + 0x2c]
fmul dword [0x7e6048]
fstp dword [esp + 0x2c]
fld dword [esp + 0x30]
fmul dword [0x7e6048]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fld dword [esp + 0x2c]
fld st(1)
fmulp st(2)
fld st(0)
fmul st(1)
faddp st(2)
fld dword [esp + 0x28]
fmul dword [esp + 0x28]
faddp st(2)
fxch st(1)
fsqrt
fxch st(1)
fstp st(0)
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
jne 0x49deb2
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x248], ecx
mov ecx, dword [esp + 0x160]
mov dword [esp + 0x24c], edx
mov dword [esp + 0x1a8], ecx
lea ecx, [esp + 0x1a8]
mov dword [esp + 0x250], eax
mov dword [esp + 0x1ac], ebx
mov dword [esp + 0x1b0], ebp
call fcn.00457260
lea ecx, [esp + 0x248]
call fcn.00457260
lea edx, [esp + 0x248]
lea eax, [esp + 0x1a8]
push edx
push eax
lea ecx, [esp + 0x280]
call fcn.00436a40
lea ecx, [esp + 0x248]
push ecx
lea ecx, [esp + 0x1ac]
call fcn.00436a20
call fcn.007a3af0
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x278]
push edx
lea ecx, [esp + 0x44]
push eax
push ecx
call fcn.007708c6
fld dword [esp + 0x278]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
je 0x49ddb3
fld dword [esp + 0x27c]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
je 0x49ddb3
fld dword [esp + 0x280]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
jne 0x49de77
lea edx, [esp + 0x40]
lea eax, [esp + 0x68]
push edx
push eax
call fcn.00770096
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
push ecx
push edx
push eax
lea ecx, [esp + 0x120]
call fcn.004251c0
fld dword [esp + 0x88]
fmul dword [esp + 0x11c]
fld dword [esp + 0x78]
fmul dword [esp + 0x118]
faddp st(1)
fld dword [esp + 0x114]
fmul dword [esp + 0x68]
faddp st(1)
fadd dword [esp + 0x98]
fstp dword [esp + 0x34]
fld dword [esp + 0x8c]
fmul dword [esp + 0x11c]
fld dword [esp + 0x7c]
fmul dword [esp + 0x118]
faddp st(1)
fld dword [esp + 0x6c]
fmul dword [esp + 0x114]
faddp st(1)
fadd dword [esp + 0x9c]
fstp dword [esp + 0x38]
fld dword [esp + 0x90]
fmul dword [esp + 0x11c]
fld dword [esp + 0x80]
fmul dword [esp + 0x118]
faddp st(1)
fld dword [esp + 0x70]
fmul dword [esp + 0x114]
faddp st(1)
fadd dword [esp + 0xa0]
jmp 0x49deae
fld dword [esp + 0x4c]
fcomp dword [0x7e5668]
fnstsw ax
test ah, 0x40
jne 0x49deb2
fld dword [esp + 0x34]
fmul dword [0x7e6048]
fstp dword [esp + 0x34]
fld dword [esp + 0x38]
fmul dword [0x7e6048]
fstp dword [esp + 0x38]
fld dword [esp + 0x3c]
fmul dword [0x7e6048]
fstp dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x200], ecx
mov ecx, dword [esp + 0x160]
mov dword [esp + 0x204], edx
mov dword [esp + 0x1c0], ecx
lea ecx, [esp + 0x1c0]
mov dword [esp + 0x208], eax
mov dword [esp + 0x1c4], ebx
mov dword [esp + 0x1c8], ebp
call fcn.00457260
lea ecx, [esp + 0x200]
call fcn.00457260
lea edx, [esp + 0x200]
lea eax, [esp + 0x1c0]
push edx
push eax
lea ecx, [esp + 0x2bc]
call fcn.00436a40
lea ecx, [esp + 0x200]
push ecx
lea ecx, [esp + 0x1c4]
call fcn.00436a20
call fcn.007a3af0
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x2b4]
push edx
lea ecx, [esp + 0x44]
push eax
push ecx
call fcn.007708c6
fld dword [esp + 0x2b4]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
je 0x49df97
fld dword [esp + 0x2b8]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
je 0x49df97
fld dword [esp + 0x2bc]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
jne 0x49e05b
lea edx, [esp + 0x40]
lea eax, [esp + 0x68]
push edx
push eax
call fcn.00770096
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push ecx
push edx
push eax
lea ecx, [esp + 0x114]
call fcn.004251c0
fld dword [esp + 0x88]
fmul dword [esp + 0x110]
fld dword [esp + 0x78]
fmul dword [esp + 0x10c]
faddp st(1)
fld dword [esp + 0x108]
fmul dword [esp + 0x68]
faddp st(1)
fadd dword [esp + 0x98]
fstp dword [esp + 0x18]
fld dword [esp + 0x8c]
fmul dword [esp + 0x110]
fld dword [esp + 0x7c]
fmul dword [esp + 0x10c]
faddp st(1)
fld dword [esp + 0x6c]
fmul dword [esp + 0x108]
faddp st(1)
fadd dword [esp + 0x9c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x90]
fmul dword [esp + 0x110]
fld dword [esp + 0x80]
fmul dword [esp + 0x10c]
faddp st(1)
fld dword [esp + 0x70]
fmul dword [esp + 0x108]
faddp st(1)
fadd dword [esp + 0xa0]
jmp 0x49e092
fld dword [esp + 0x4c]
fcomp dword [0x7e5668]
fnstsw ax
test ah, 0x40
jne 0x49e096
fld dword [esp + 0x18]
fmul dword [0x7e6048]
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fmul dword [0x7e6048]
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fmul dword [0x7e6048]
fstp dword [esp + 0x20]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [edi + 0x40], ecx
mov dword [edi + 0x44], edx
mov dword [edi + 0x48], eax
mov eax, dword [esi + 0x34]
test eax, eax
je 0x49effb
mov cl, byte [eax + 0x10c]
test cl, cl
je 0x49e862
lea ebx, [esi + 0x88]
add eax, 0xec
mov ecx, ebx
mov dword [esp + 0x234], 0
mov dword [esp + 0x230], 0
mov dword [esp + 0x238], 0x3f800000
mov edx, dword [ecx]
mov dword [esp + 0x50], edx
mov edx, dword [ecx + 4]
mov dword [esp + 0x54], edx
mov edx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x178], edx
mov dword [esp + 0x58], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x17c], ecx
mov ecx, dword [esp + 0x234]
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x230]
mov dword [esp + 0x180], edx
mov edx, dword [esp + 0x238]
mov dword [esp + 0x21c], ecx
lea ecx, [esp + 0x218]
mov dword [esp + 0x218], eax
mov dword [esp + 0x220], edx
call fcn.00457260
lea ecx, [esp + 0x178]
call fcn.00457260
lea eax, [esp + 0x178]
lea ecx, [esp + 0x218]
push eax
push ecx
lea ecx, [esp + 0x268]
call fcn.00436a40
lea edx, [esp + 0x178]
lea ecx, [esp + 0x218]
push edx
call fcn.00436a20
call fcn.007a3af0
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x260]
push eax
lea edx, [esp + 0x44]
push ecx
push edx
call fcn.007708c6
fld dword [esp + 0x260]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
je 0x49e1f5
fld dword [esp + 0x264]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
je 0x49e1f5
fld dword [esp + 0x268]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
jne 0x49e297
lea eax, [esp + 0x40]
lea ecx, [esp + 0x68]
push eax
push ecx
call fcn.00770096
fld dword [esp + 0x88]
fmul dword [ebx + 8]
fld dword [esp + 0x78]
fmul dword [ebx + 4]
faddp st(1)
fld dword [esp + 0x68]
fmul dword [ebx]
faddp st(1)
fadd dword [esp + 0x98]
fld dword [esp + 0x8c]
fmul dword [ebx + 8]
fld dword [esp + 0x7c]
fmul dword [ebx + 4]
faddp st(1)
fld dword [esp + 0x6c]
fmul dword [ebx]
faddp st(1)
fadd dword [esp + 0x9c]
fstp dword [esp + 0x300]
fld dword [esp + 0x90]
fmul dword [ebx + 8]
fld dword [esp + 0x80]
fmul dword [ebx + 4]
mov edx, dword [esp + 0x300]
mov dword [esp + 0x54], edx
faddp st(1)
fld dword [esp + 0x70]
fmul dword [ebx]
faddp st(1)
fadd dword [esp + 0xa0]
fstp dword [esp + 0x304]
mov eax, dword [esp + 0x304]
fstp dword [esp + 0x50]
mov dword [esp + 0x58], eax
jmp 0x49e2d2
fld dword [esp + 0x4c]
fcomp dword [0x7e5668]
fnstsw ax
test ah, 0x40
jne 0x49e2d2
fld dword [esp + 0x50]
fmul dword [0x7e6048]
fstp dword [esp + 0x50]
fld dword [esp + 0x54]
fmul dword [0x7e6048]
fstp dword [esp + 0x54]
fld dword [esp + 0x58]
fmul dword [0x7e6048]
fstp dword [esp + 0x58]
mov ecx, dword [esi + 0x34]
fld dword [ecx + 0x110]
fmul dword [edi + 0x8c]
fstp dword [edi + 0x8c]
mov edx, dword [esi + 0x34]
fld dword [edx + 0x110]
fld st(0)
fmul dword [edi + 0x4c]
fstp dword [edi + 0x4c]
fld st(0)
fmul dword [edi + 0x50]
fstp dword [edi + 0x50]
fmul dword [edi + 0x54]
fstp dword [edi + 0x54]
mov al, byte [esi + 0x4d0]
test al, al
je 0x49e3d3
mov eax, dword [esi + 0x4c4]
test eax, eax
je 0x49e3d3
add eax, 0x3c
mov ecx, dword [eax]
mov dword [esp + 0x154], ecx
mov ecx, dword [ebx]
fld dword [esp + 0x154]
fmul dword [esi + 0x2d4]
mov edx, dword [eax + 4]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x158], edx
mov edx, dword [ebx + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x54], edx
fstp dword [esp + 0x120]
fld dword [esp + 0x158]
fmul dword [esi + 0x2d8]
mov dword [esp + 0x15c], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x58], eax
fstp dword [esp + 0x124]
fld dword [esp + 0x15c]
fmul dword [esi + 0x2dc]
fstp dword [esp + 0x128]
fld dword [esp + 0x154]
fmul dword [esi + 0x2c8]
fstp dword [esp + 0xd8]
fld dword [esp + 0x158]
fmul dword [esi + 0x2cc]
fstp dword [esp + 0xdc]
fld dword [esp + 0x15c]
fmul dword [esi + 0x2d0]
fstp dword [esp + 0xe0]
jmp 0x49e474
mov eax, dword [esi + 0x34]
fld dword [eax + 0x110]
fld st(0)
fmul dword [esi + 0x2d4]
fld st(1)
fmul dword [esi + 0x2d8]
fstp dword [esp + 0x318]
fxch st(1)
fmul dword [esi + 0x2dc]
mov ecx, dword [esp + 0x318]
mov dword [esp + 0x124], ecx
fstp dword [esp + 0x31c]
mov edx, dword [esp + 0x31c]
fstp dword [esp + 0x120]
fld dword [eax + 0x110]
fld st(0)
fmul dword [esi + 0x2c8]
fld st(1)
fmul dword [esi + 0x2cc]
mov dword [esp + 0x128], edx
fstp dword [esp + 0x2dc]
fxch st(1)
fmul dword [esi + 0x2d0]
mov eax, dword [esp + 0x2dc]
mov dword [esp + 0xdc], eax
fstp dword [esp + 0x2e0]
mov ecx, dword [esp + 0x2e0]
fstp dword [esp + 0xd8]
mov dword [esp + 0xe0], ecx
call fcn.007a3509
cdq
mov ecx, 0x64
idiv ecx
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul dword [0x7e5ef0]
fld dword [esp + 0x128]
fsub dword [esp + 0xe0]
fmulp st(1)
fadd dword [esp + 0xe0]
fstp dword [esp + 0x14]
call fcn.007a3509
cdq
mov ecx, 0x64
idiv ecx
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fmul dword [0x7e5ef0]
fld dword [esp + 0x124]
fsub dword [esp + 0xdc]
fmulp st(1)
fadd dword [esp + 0xdc]
fstp dword [esp + 0x24]
call fcn.007a3509
cdq
mov ecx, 0x64
mov dword [esp + 0x1e8], 0
idiv ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + 0x40]
mov dword [esp + 0xbc], eax
mov eax, dword [edi + 0x48]
mov dword [esp + 0x184], ecx
mov ecx, dword [esp + 0x1e8]
mov dword [esp + 0x1ec], 0
mov dword [esp + 0x1f0], 0x3f800000
mov dword [esp + 0x18c], eax
mov eax, dword [esp + 0x1f0]
mov dword [esp + 0x19c], ecx
lea ecx, [esp + 0x19c]
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x24]
fild dword [esp + 0x10]
mov dword [esp + 0xb8], edx
mov edx, dword [edi + 0x44]
mov dword [esp + 0x188], edx
mov edx, dword [esp + 0x1ec]
fmul dword [0x7e5ef0]
fld dword [esp + 0x120]
fsub dword [esp + 0xd8]
mov dword [esp + 0x1a0], edx
fmulp st(1)
fadd dword [esp + 0xd8]
fstp dword [esp + 0xb4]
call fcn.00457260
lea ecx, [esp + 0x184]
call fcn.00457260
lea ecx, [esp + 0x184]
lea edx, [esp + 0x19c]
push ecx
push edx
lea ecx, [esp + 0x298]
call fcn.00436a40
lea eax, [esp + 0x184]
lea ecx, [esp + 0x19c]
push eax
call fcn.00436a20
call fcn.007a3af0
fstp dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x290]
push ecx
lea eax, [esp + 0x44]
push edx
push eax
call fcn.007708c6
fld dword [esp + 0x290]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
je 0x49e640
fld dword [esp + 0x294]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
je 0x49e640
fld dword [esp + 0x298]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
jne 0x49e706
lea ecx, [esp + 0x40]
lea edx, [esp + 0x68]
push ecx
push edx
call fcn.00770096
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xb4]
push eax
push ecx
push edx
lea ecx, [esp + 0xf0]
call fcn.004251c0
fld dword [esp + 0x88]
fmul dword [esp + 0xec]
fld dword [esp + 0x78]
fmul dword [esp + 0xe8]
faddp st(1)
fld dword [esp + 0xe4]
fmul dword [esp + 0x68]
faddp st(1)
fadd dword [esp + 0x98]
fld dword [esp + 0x8c]
fmul dword [esp + 0xec]
fld dword [esp + 0x7c]
fmul dword [esp + 0xe8]
faddp st(1)
fld dword [esp + 0x6c]
fmul dword [esp + 0xe4]
faddp st(1)
fadd dword [esp + 0x9c]
fstp dword [esp + 0xb8]
fld dword [esp + 0x90]
fmul dword [esp + 0xec]
fld dword [esp + 0x80]
fmul dword [esp + 0xe8]
faddp st(1)
fld dword [esp + 0x70]
fmul dword [esp + 0xe4]
faddp st(1)
fadd dword [esp + 0xa0]
jmp 0x49e73f
fld dword [esp + 0x4c]
fcomp dword [0x7e5668]
fld dword [esp + 0xb4]
fnstsw ax
test ah, 0x40
jne 0x49e746
fmul dword [0x7e6048]
fld dword [esp + 0x24]
fmul dword [0x7e6048]
fstp dword [esp + 0xb8]
fld dword [esp + 0x14]
fmul dword [0x7e6048]
fstp dword [esp + 0xbc]
mov eax, dword [esi + 0x34]
mov edx, dword [esp + 0xb8]
fld dword [esp + 0x50]
fadd dword [eax + 0xc8]
fld dword [esp + 0x54]
fadd dword [eax + 0xcc]
add eax, 0xc8
fstp dword [esp + 0x30c]
fld dword [esp + 0x58]
fadd dword [eax + 8]
mov eax, dword [esp + 0x30c]
mov dword [edi + 0x38], eax
mov eax, dword [esp + 0xbc]
fstp dword [esp + 0x310]
mov ecx, dword [esp + 0x310]
fstp dword [edi + 0x34]
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x74], edx
fst dword [edi + 0x70]
mov dword [edi + 0x78], eax
fld dword [esp + 0x18]
fsub st(1)
fstp dword [esp + 0x18]
fstp st(0)
fld dword [esp + 0x1c]
fsub dword [esp + 0xb8]
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fsub dword [esp + 0xbc]
fstp dword [esp + 0x20]
fld dword [esp + 0x1c]
fld dword [esp + 0x20]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld dword [esp + 0x18]
fmul dword [esp + 0x18]
faddp st(1)
fsqrt
fstp st(2)
fstp st(0)
fcom dword [0x7e5664]
fnstsw ax
test ah, 0x40
jne 0x49e81c
fld dword [esp + 0x18]
fdiv st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fdiv st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fdiv st(1)
fstp dword [esp + 0x20]
fstp st(0)
fld dword [esi + 0x320]
fld st(0)
fmul dword [esp + 0x18]
fld dword [esp + 0x1c]
fmul st(2)
fstp dword [esp + 0x324]
fld dword [esp + 0x20]
fmul st(2)
mov ecx, dword [esp + 0x324]
mov dword [edi + 0x50], ecx
fstp dword [esp + 0x328]
mov edx, dword [esp + 0x328]
fstp dword [edi + 0x4c]
mov dword [edi + 0x54], edx
fstp st(0)
jmp 0x49f369
test eax, eax
je 0x49effb
cmp dword [eax + 0xf8], 0x3f800000
je 0x49effb
lea ebp, [esi + 0x88]
add eax, 0xec
mov ecx, ebp
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1bc], 0x3f800000
mov edx, dword [ecx]
mov dword [esp + 0x5c], edx
mov edx, dword [ecx + 4]
mov dword [esp + 0x60], edx
mov edx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x1cc], edx
mov dword [esp + 0x64], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x1d0], ecx
mov ecx, dword [esp + 0x1b8]
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x1b4]
mov dword [esp + 0x1d4], edx
mov edx, dword [esp + 0x1bc]
mov dword [esp + 0x1e0], ecx
lea ecx, [esp + 0x1dc]
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x1e4], edx
call fcn.00457260
lea ecx, [esp + 0x1cc]
call fcn.00457260
lea eax, [esp + 0x1cc]
lea ecx, [esp + 0x1dc]
push eax
push ecx
lea ecx, [esp + 0x274]
call fcn.00436a40
lea edx, [esp + 0x1cc]
lea ecx, [esp + 0x1dc]
push edx
call fcn.00436a20
call fcn.007a3af0
fstp dword [esp + 0x10]
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x26c]
push eax
lea edx, [esp + 0x44]
push ecx
push edx
call fcn.007708c6
fld dword [esp + 0x26c]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
je 0x49e9ab
fld dword [esp + 0x270]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
je 0x49e9ab
fld dword [esp + 0x274]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
jne 0x49ea50
lea eax, [esp + 0x40]
lea ecx, [esp + 0x68]
push eax
push ecx
call fcn.00770096
fld dword [esp + 0x88]
fmul dword [ebp + 8]
fld dword [esp + 0x78]
fmul dword [ebp + 4]
faddp st(1)
fld dword [esp + 0x68]
fmul dword [ebp]
faddp st(1)
fadd dword [esp + 0x98]
fld dword [esp + 0x8c]
fmul dword [ebp + 8]
fld dword [esp + 0x7c]
fmul dword [ebp + 4]
faddp st(1)
fld dword [esp + 0x6c]
fmul dword [ebp]
faddp st(1)
fadd dword [esp + 0x9c]
fstp dword [esp + 0x2c4]
fld dword [esp + 0x90]
fmul dword [ebp + 8]
fld dword [esp + 0x80]
fmul dword [ebp + 4]
mov edx, dword [esp + 0x2c4]
mov dword [esp + 0x60], edx
faddp st(1)
fld dword [esp + 0x70]
fmul dword [ebp]
faddp st(1)
fadd dword [esp + 0xa0]
fstp dword [esp + 0x2c8]
mov eax, dword [esp + 0x2c8]
fstp dword [esp + 0x5c]
mov dword [esp + 0x64], eax
jmp 0x49ea8b
fld dword [esp + 0x4c]
fcomp dword [0x7e5668]
fnstsw ax
test ah, 0x40
jne 0x49ea8b
fld dword [esp + 0x5c]
fmul dword [0x7e6048]
fstp dword [esp + 0x5c]
fld dword [esp + 0x60]
fmul dword [0x7e6048]
fstp dword [esp + 0x60]
fld dword [esp + 0x64]
fmul dword [0x7e6048]
fstp dword [esp + 0x64]
mov ecx, dword [esi + 0x34]
lea ebx, [edi + 0x4c]
fld dword [ecx + 0xf8]
fmul dword [edi + 0x8c]
fstp dword [edi + 0x8c]
mov edx, dword [esi + 0x34]
fld dword [edx + 0xf8]
fld st(0)
fmul dword [ebx]
fstp dword [ebx]
fld st(0)
fmul dword [ebx + 4]
fstp dword [ebx + 4]
fmul dword [ebx + 8]
fstp dword [ebx + 8]
mov al, byte [esi + 0x4d0]
test al, al
je 0x49eb8e
mov eax, dword [esi + 0x4c4]
test eax, eax
je 0x49eb8e
add eax, 0x3c
mov ecx, dword [eax]
mov dword [esp + 0x13c], ecx
mov ecx, dword [ebp]
fld dword [esp + 0x13c]
fmul dword [esi + 0x2d4]
mov edx, dword [eax + 4]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x140], edx
mov edx, dword [ebp + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x60], edx
fstp dword [esp + 0x148]
fld dword [esp + 0x140]
fmul dword [esi + 0x2d8]
mov dword [esp + 0x144], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x64], eax
fstp dword [esp + 0x14c]
fld dword [esp + 0x144]
fmul dword [esi + 0x2dc]
fstp dword [esp + 0x150]
fld dword [esp + 0x13c]
fmul dword [esi + 0x2c8]
fstp dword [esp + 0xcc]
fld dword [esp + 0x140]
fmul dword [esi + 0x2cc]
fstp dword [esp + 0xd0]
fld dword [esp + 0x144]
fmul dword [esi + 0x2d0]
fstp dword [esp + 0xd4]
jmp 0x49ec2f
mov eax, dword [esi + 0x34]
fld dword [eax + 0xf8]
fld st(0)
fmul dword [esi + 0x2d4]
fld st(1)
fmul dword [esi + 0x2d8]
fstp dword [esp + 0x330]
fxch st(1)
fmul dword [esi + 0x2dc]
mov ecx, dword [esp + 0x330]
mov dword [esp + 0x14c], ecx
fstp dword [esp + 0x334]
mov edx, dword [esp + 0x334]
fstp dword [esp + 0x148]
fld dword [eax + 0xf8]
fld st(0)
fmul dword [esi + 0x2c8]
fld st(1)
fmul dword [esi + 0x2cc]
mov dword [esp + 0x150], edx
fstp dword [esp + 0x2e8]
fxch st(1)
fmul dword [esi + 0x2d0]
mov eax, dword [esp + 0x2e8]
mov dword [esp + 0xd0], eax
fstp dword [esp + 0x2ec]
mov ecx, dword [esp + 0x2ec]
fstp dword [esp + 0xcc]
mov dword [esp + 0xd4], ecx
call fcn.007a3509
cdq
mov ecx, 0x64
idiv ecx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x7e5ef0]
fld dword [esp + 0x150]
fsub dword [esp + 0xd4]
fmulp st(1)
fadd dword [esp + 0xd4]
fstp dword [esp + 0x24]
call fcn.007a3509
cdq
mov ecx, 0x64
idiv ecx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x7e5ef0]
fld dword [esp + 0x14c]
fsub dword [esp + 0xd0]
fmulp st(1)
fadd dword [esp + 0xd0]
fstp dword [esp + 0x14]
call fcn.007a3509
cdq
mov ecx, 0x64
mov dword [esp + 0x1f4], 0
idiv ecx
mov eax, dword [esp + 0x24]
mov ecx, dword [edi + 0x40]
mov dword [esp + 0xb0], eax
mov eax, dword [edi + 0x48]
mov dword [esp + 0x20c], ecx
mov ecx, dword [esp + 0x1f4]
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1fc], 0x3f800000
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0x1fc]
mov dword [esp + 0x224], ecx
lea ecx, [esp + 0x224]
mov dword [esp + 0x22c], eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
fild dword [esp + 0x10]
mov dword [esp + 0xac], edx
mov edx, dword [edi + 0x44]
mov dword [esp + 0x210], edx
mov edx, dword [esp + 0x1f8]
fmul dword [0x7e5ef0]
fld dword [esp + 0x148]
fsub dword [esp + 0xcc]
mov dword [esp + 0x228], edx
fmulp st(1)
fadd dword [esp + 0xcc]
fstp dword [esp + 0xa8]
call fcn.00457260
lea ecx, [esp + 0x20c]
call fcn.00457260
lea ecx, [esp + 0x20c]
lea edx, [esp + 0x224]
push ecx
push edx
lea ecx, [esp + 0x28c]
call fcn.00436a40
lea eax, [esp + 0x20c]
lea ecx, [esp + 0x224]
push eax
call fcn.00436a20
call fcn.007a3af0
fstp dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x284]
push ecx
lea eax, [esp + 0x44]
push edx
push eax
call fcn.007708c6
fld dword [esp + 0x284]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
je 0x49edfb
fld dword [esp + 0x288]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
je 0x49edfb
fld dword [esp + 0x28c]
fcomp dword [0x7e5664]
fnstsw ax
test ah, 0x40
jne 0x49eec1
lea ecx, [esp + 0x40]
lea edx, [esp + 0x68]
push ecx
push edx
call fcn.00770096
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xa8]
push eax
push ecx
push edx
lea ecx, [esp + 0xfc]
call fcn.004251c0
fld dword [esp + 0xf0]
fmul dword [esp + 0x68]
fld dword [esp + 0x88]
fmul dword [esp + 0xf8]
faddp st(1)
fld dword [esp + 0x78]
fmul dword [esp + 0xf4]
faddp st(1)
fadd dword [esp + 0x98]
fld dword [esp + 0x8c]
fmul dword [esp + 0xf8]
fld dword [esp + 0x7c]
fmul dword [esp + 0xf4]
faddp st(1)
fld dword [esp + 0x6c]
fmul dword [esp + 0xf0]
faddp st(1)
fadd dword [esp + 0x9c]
fstp dword [esp + 0xac]
fld dword [esp + 0x90]
fmul dword [esp + 0xf8]
fld dword [esp + 0x80]
fmul dword [esp + 0xf4]
faddp st(1)
fld dword [esp + 0x70]
fmul dword [esp + 0xf0]
faddp st(1)
fadd dword [esp + 0xa0]
jmp 0x49eefa
fld dword [esp + 0x4c]
fcomp dword [0x7e5668]
fld dword [esp + 0xa8]
fnstsw ax
test ah, 0x40
jne 0x49ef01
fmul dword [0x7e6048]
fld dword [esp + 0x14]
fmul dword [0x7e6048]
fstp dword [esp + 0xac]
fld dword [esp + 0x24]
fmul dword [0x7e6048]
fstp dword [esp + 0xb0]
mov eax, dword [esi + 0x34]
mov edx, dword [esp + 0xac]
fld dword [esp + 0x5c]
fadd dword [eax + 0xc8]
fld dword [esp + 0x60]
fadd dword [eax + 0xcc]
add eax, 0xc8
fstp dword [esp + 0x2f4]
fld dword [esp + 0x64]
fadd dword [eax + 8]
mov eax, dword [esp + 0x2f4]
mov dword [edi + 0x38], eax
mov eax, dword [esp + 0xb0]
fstp dword [esp + 0x2f8]
mov ecx, dword [esp + 0x2f8]
fstp dword [edi + 0x34]
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x74], edx
fst dword [edi + 0x70]
mov dword [edi + 0x78], eax
lea ecx, [esp + 0x18]
fld dword [esp + 0x18]
fsub st(1)
fstp dword [esp + 0x18]
fstp st(0)
fld dword [esp + 0x1c]
fsub dword [esp + 0xac]
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fsub dword [esp + 0xb0]
fstp dword [esp + 0x20]
call fcn.00457260
fld dword [esi + 0x320]
fld st(0)
fmul dword [esp + 0x18]
fstp dword [esp + 0x23c]
fld dword [esp + 0x1c]
fmul st(1)
mov ecx, dword [esp + 0x23c]
mov dword [esp + 0x2cc], ecx
lea ecx, [esp + 0x2cc]
push ecx
mov ecx, ebx
fstp dword [esp + 0x244]
fld dword [esp + 0x24]
mov edx, dword [esp + 0x244]
fmul st(1)
mov dword [esp + 0x2d4], edx
fstp dword [esp + 0x248]
mov eax, dword [esp + 0x248]
fstp st(0)
mov dword [esp + 0x2d8], eax
jmp 0x49f364
lea ebx, [esi + 0x88]
add eax, 0xec
mov edx, ebx
mov ecx, dword [edx]
mov dword [esp + 0x16c], ecx
mov ecx, dword [edx + 4]
mov dword [esp + 0x170], ecx
lea ecx, [esp + 0x40]
mov edx, dword [edx + 8]
push ecx
sub esp, 0xc
mov dword [esp + 0x184], edx
mov ecx, dword [eax]
mov edx, esp
push 0x3f800000
push 0
mov dword [edx], ecx
mov ecx, dword [eax + 4]
push 0
mov eax, dword [eax + 8]
mov dword [edx + 4], ecx
lea ecx, [esp + 0x358]
mov dword [edx + 8], eax
call fcn.004a6c30
mov edx, dword [eax]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.0049f940
test al, al
je 0x49f0a6
lea ecx, [esp + 0x40]
lea edx, [esp + 0x68]
push ecx
push edx
call fcn.00770096
lea eax, [esp + 0x68]
lea ecx, [esp + 0x354]
push eax
push ecx
mov ecx, ebx
call fcn.004572b0
push eax
lea ecx, [esp + 0x170]
call fcn.00426b10
jmp 0x49f0c8
fld dword [esp + 0x4c]
fcomp dword [0x7e5668]
fnstsw ax
test ah, 0x40
jne 0x49f0c8
push 0xbf800000
lea ecx, [esp + 0x170]
call fcn.0049fcf0
lea edx, [esi + 0x2d4]
lea ecx, [esp + 0xfc]
push edx
call fcn.00426b10
lea eax, [esi + 0x2c8]
lea ecx, [esp + 0xc0]
push eax
call fcn.00426b10
mov al, byte [esi + 0x4d0]
test al, al
je 0x49f1b5
mov eax, dword [esi + 0x4c4]
test eax, eax
je 0x49f1b5
fld dword [esp + 0xfc]
add eax, 0x3c
push ebx
mov ecx, dword [eax]
mov dword [esp + 0x130], ecx
lea ecx, [esp + 0x170]
fmul dword [esp + 0x130]
mov edx, dword [eax + 4]
mov dword [esp + 0x134], edx
mov eax, dword [eax + 8]
fstp dword [esp + 0x100]
fld dword [esp + 0x104]
fmul dword [esp + 0x134]
mov dword [esp + 0x138], eax
fstp dword [esp + 0x104]
fld dword [esp + 0x108]
fmul dword [esp + 0x138]
fstp dword [esp + 0x108]
fld dword [esp + 0xc4]
fmul dword [esp + 0x130]
fstp dword [esp + 0xc4]
fld dword [esp + 0xc8]
fmul dword [esp + 0x134]
fstp dword [esp + 0xc8]
fld dword [esp + 0xcc]
fmul dword [esp + 0x138]
fstp dword [esp + 0xcc]
call fcn.00426b10
call fcn.007a3509
cdq
mov ecx, 0x64
idiv ecx
push ecx
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul dword [0x7e5ef0]
fld dword [esp + 0x108]
fsub dword [esp + 0xcc]
fmulp st(1)
fadd dword [esp + 0xcc]
fstp dword [esp]
call fcn.007a3509
cdq
mov ecx, 0x64
idiv ecx
push ecx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fmul dword [0x7e5ef0]
fld dword [esp + 0x108]
fsub dword [esp + 0xcc]
fmulp st(1)
fadd dword [esp + 0xcc]
fstp dword [esp]
call fcn.007a3509
cdq
mov ecx, 0x64
idiv ecx
push ecx
lea ecx, [esp + 0x2a8]
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fmul dword [0x7e5ef0]
fld dword [esp + 0x108]
fsub dword [esp + 0xcc]
fmulp st(1)
fadd dword [esp + 0xcc]
fstp dword [esp]
call fcn.004251c0
mov ecx, dword [edi + 0x40]
lea edx, [esp + 0x40]
push edx
mov edx, dword [edi + 0x44]
sub esp, 0xc
mov eax, esp
push 0x3f800000
push 0
mov dword [eax], ecx
mov ecx, dword [edi + 0x48]
push 0
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
lea ecx, [esp + 0x388]
call fcn.004a6c30
mov ecx, dword [eax]
sub esp, 0xc
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [edx + 4], ecx
mov ecx, esi
mov dword [edx + 8], eax
call fcn.0049f940
test al, al
je 0x49f2d5
lea ecx, [esp + 0x40]
lea edx, [esp + 0x68]
push ecx
push edx
call fcn.00770096
lea eax, [esp + 0x68]
lea ecx, [esp + 0x29c]
push eax
call fcn.0044bcd0
jmp 0x49f2f7
fld dword [esp + 0x4c]
fcomp dword [0x7e5668]
fnstsw ax
test ah, 0x40
jne 0x49f2f7
push 0xbf800000
lea ecx, [esp + 0x2a0]
call fcn.0049fcf0
lea ecx, [esp + 0x16c]
lea edx, [esp + 0x360]
push ecx
mov ecx, dword [esi + 0x34]
push edx
add ecx, 0xc8
call fcn.00435ff0
push eax
lea ecx, [edi + 0x34]
call fcn.00426b10
lea eax, [esp + 0x29c]
lea ecx, [edi + 0x70]
push eax
call fcn.00426b10
lea ecx, [esp + 0x29c]
push ecx
lea ecx, [esp + 0x1c]
call fcn.0049fd10
lea ecx, [esp + 0x18]
call fcn.00457260
mov edx, dword [esi + 0x320]
lea eax, [esp + 0x348]
push edx
push eax
lea ecx, [esp + 0x20]
call fcn.00436040
push eax
lea ecx, [edi + 0x4c]
call fcn.00426b10
mov edi, dword [esp + 0x1d8]
lea ecx, [esi + 0x2a0]
lea eax, [edi + 8]
push eax
call fcn.0049faa0
lea ecx, [esp + 0x338]
push edi
push ecx
lea ecx, [esi + 0x2ac]
call fcn.00664200
mov eax, dword [esp + 0x138]
mov ecx, dword [esi + 0x2c0]
inc eax
cmp eax, ecx
mov dword [esp + 0x138], eax
jl 0x49da35
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x368
ret
mov eax, dword [ecx + 0x2a8]
mov edx, dword [ecx + 0x28c]
cmp eax, edx
jg 0x49f3ea
mov eax, dword [ecx + 0x2e0]
cmp eax, 1
jne 0x49f3e0
jmp 0x49c040
cmp eax, 2
jne 0x49f3ea
jmp 0x49da10
ret