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

Disassembly:
sub esp, 0x32c
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x138], 0
mov eax, dword [esi + 0x2bc]
test eax, eax
jle 0x486567
mov eax, dword [esi + 0x2ac]
mov ecx, dword [eax]
cmp ecx, eax
mov dword [esp + 0x298], ecx
je 0x486567
fld dword [esi + 0x2e0]
fcomp dword [0x6a37dc]
mov edi, dword [ecx + 8]
lea eax, [ecx + 8]
fnstsw ax
test ah, 0x40
jne 0x484a13
call fcn.0067466f
fld dword [esi + 0x2e0]
mov ebx, eax
call fcn.00674278
mov ecx, eax
mov eax, ebx
cdq
idiv ecx
mov dword [esp + 0xa8], edx
fild dword [esp + 0xa8]
fld dword [esi + 0x2e0]
fmul dword [0x6a36f0]
fsubp st(1)
fstp dword [esp + 0xa8]
jmp 0x484a1e
mov dword [esp + 0xa8], 0
call fcn.0067466f
cdq
mov ecx, 0x168
idiv ecx
lea ecx, [esp + 0x50]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0xa8]
fmul dword [0x6a40f0]
fld st(0)
fsin
fstp dword [esp + 0x18]
fcos
fstp dword [esp + 0x20]
call fcn.0041d580
fld dword [esp + 0x10]
fcos
mov al, byte [0x81a23c]
test al, 1
fstp dword [esp + 0x50]
fld dword [esp + 0x10]
fsin
mov edx, dword [esp + 0x50]
mov dword [esp + 0x64], edx
fst dword [esp + 0x54]
fchs
fstp dword [esp + 0x60]
jne 0x484a9e
mov dl, al
push fcn.004465e0
or dl, 1
mov byte [0x81a23c], dl
call fcn.00673ac4
add esp, 4
fld dword [esp + 0x18]
fstp dword [0x81a240]
fld dword [esp + 0x20]
fstp dword [0x81a248]
fld dword [esp + 0x70]
fmul dword [0x81a248]
fld dword [esp + 0x50]
fmul dword [0x81a240]
mov dword [0x81a244], 0
faddp st(1)
fadd dword [esp + 0x80]
fstp dword [esp + 0x18]
fld dword [esp + 0x74]
fmul dword [0x81a248]
fld dword [esp + 0x54]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0x84]
fstp dword [esp + 0x1c]
fld dword [esp + 0x78]
fmul dword [0x81a248]
fld dword [esp + 0x58]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0x88]
fst 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 [0x6a37dc]
fnstsw ax
test ah, 0x40
jne 0x484b6a
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 + 0x2ec]
mov ecx, dword [esi + 0x2f0]
mov edx, dword [esi + 0x2f4]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x310]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x314]
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0x34]
mov dword [esp + 0x30], edx
mov edx, dword [esi + 0x318]
mov dword [esp + 0x140], 0
mov ebx, dword [esp + 0x140]
mov dword [esp + 0x144], 0x3f800000
mov ebp, dword [esp + 0x144]
mov dword [esp + 0x13c], 0
test eax, eax
fstp st(0)
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edx
je 0x484dd6
add eax, 0xec
mov dword [esp + 0x170], ebx
mov dword [esp + 0x174], ebp
mov ecx, dword [eax]
mov dword [esp + 0x1fc], ecx
mov ecx, dword [esp + 0x13c]
mov edx, dword [eax + 4]
mov dword [esp + 0x16c], ecx
lea ecx, [esp + 0x16c]
mov dword [esp + 0x200], edx
mov eax, dword [eax + 8]
mov dword [esp + 0x204], eax
call fcn.00446420
lea ecx, [esp + 0x1fc]
call fcn.00446420
lea edx, [esp + 0x1fc]
lea eax, [esp + 0x16c]
push edx
push eax
lea ecx, [esp + 0x2a4]
call fcn.00428d60
lea ecx, [esp + 0x1fc]
push ecx
lea ecx, [esp + 0x170]
call fcn.00428d40
call fcn.00674c60
fstp dword [esp + 0x10]
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x29c]
push edx
lea ecx, [esp + 0x44]
push eax
push ecx
call fcn.0064d306
fld dword [esp + 0x29c]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
je 0x484cc8
fld dword [esp + 0x2a0]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
je 0x484cc8
fld dword [esp + 0x2a4]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
jne 0x484d9b
lea edx, [esp + 0x40]
lea eax, [esp + 0x50]
push edx
push eax
call fcn.0064cad6
mov al, byte [0x81a23c]
test al, 1
jne 0x484cf8
mov dl, al
push fcn.004465e0
or dl, 1
mov byte [0x81a23c], dl
call fcn.00673ac4
add esp, 4
fld dword [esp + 0x28]
fstp dword [0x81a240]
fld dword [esp + 0x2c]
fstp dword [0x81a244]
fld dword [esp + 0x30]
fstp dword [0x81a248]
fld dword [esp + 0x70]
fmul dword [0x81a248]
fld dword [esp + 0x60]
fmul dword [0x81a244]
faddp st(1)
fld dword [esp + 0x50]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0x80]
fstp dword [esp + 0x28]
fld dword [esp + 0x74]
fmul dword [0x81a248]
fld dword [esp + 0x64]
fmul dword [0x81a244]
faddp st(1)
fld dword [esp + 0x54]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0x84]
fstp dword [esp + 0x2c]
fld dword [esp + 0x78]
fmul dword [0x81a248]
fld dword [esp + 0x68]
fmul dword [0x81a244]
faddp st(1)
fld dword [esp + 0x58]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0x88]
jmp 0x484dd2
fld dword [esp + 0x4c]
fcomp dword [0x6a3a64]
fnstsw ax
test ah, 0x40
jne 0x484dd6
fld dword [esp + 0x28]
fmul dword [0x6a3ca0]
fstp dword [esp + 0x28]
fld dword [esp + 0x2c]
fmul dword [0x6a3ca0]
fstp dword [esp + 0x2c]
fld dword [esp + 0x30]
fmul dword [0x6a3ca0]
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 [0x6a37dc]
fnstsw ax
test ah, 0x40
jne 0x484ff7
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x208], ecx
mov ecx, dword [esp + 0x13c]
mov dword [esp + 0x20c], edx
mov dword [esp + 0x184], ecx
lea ecx, [esp + 0x184]
mov dword [esp + 0x210], eax
mov dword [esp + 0x188], ebx
mov dword [esp + 0x18c], ebp
call fcn.00446420
lea ecx, [esp + 0x208]
call fcn.00446420
lea edx, [esp + 0x208]
lea eax, [esp + 0x184]
push edx
push eax
lea ecx, [esp + 0x2ec]
call fcn.00428d60
lea ecx, [esp + 0x208]
push ecx
lea ecx, [esp + 0x188]
call fcn.00428d40
call fcn.00674c60
fstp dword [esp + 0x10]
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x2e4]
push edx
lea ecx, [esp + 0x44]
push eax
push ecx
call fcn.0064d306
fld dword [esp + 0x2e4]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
je 0x484eee
fld dword [esp + 0x2e8]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
je 0x484eee
fld dword [esp + 0x2ec]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
jne 0x484fbc
lea edx, [esp + 0x40]
lea eax, [esp + 0x50]
push edx
push eax
call fcn.0064cad6
mov al, byte [0x81a23c]
test al, 1
jne 0x484f1e
mov dl, al
push fcn.004465e0
or dl, 1
mov byte [0x81a23c], dl
call fcn.00673ac4
add esp, 4
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
push ecx
push edx
push eax
mov ecx, 0x81a240
call fcn.0041d0b0
fld dword [esp + 0x70]
fmul dword [0x81a248]
fld dword [esp + 0x60]
fmul dword [0x81a244]
faddp st(1)
fld dword [esp + 0x50]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0x80]
fstp dword [esp + 0x34]
fld dword [esp + 0x74]
fmul dword [0x81a248]
fld dword [esp + 0x64]
fmul dword [0x81a244]
faddp st(1)
fld dword [esp + 0x54]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0x84]
fstp dword [esp + 0x38]
fld dword [esp + 0x78]
fmul dword [0x81a248]
fld dword [esp + 0x68]
fmul dword [0x81a244]
faddp st(1)
fld dword [esp + 0x58]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0x88]
jmp 0x484ff3
fld dword [esp + 0x4c]
fcomp dword [0x6a3a64]
fnstsw ax
test ah, 0x40
jne 0x484ff7
fld dword [esp + 0x34]
fmul dword [0x6a3ca0]
fstp dword [esp + 0x34]
fld dword [esp + 0x38]
fmul dword [0x6a3ca0]
fstp dword [esp + 0x38]
fld dword [esp + 0x3c]
fmul dword [0x6a3ca0]
fstp dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x220], ecx
mov ecx, dword [esp + 0x13c]
mov dword [esp + 0x224], edx
mov dword [esp + 0x19c], ecx
lea ecx, [esp + 0x19c]
mov dword [esp + 0x228], eax
mov dword [esp + 0x1a0], ebx
mov dword [esp + 0x1a4], ebp
call fcn.00446420
lea ecx, [esp + 0x220]
call fcn.00446420
lea edx, [esp + 0x220]
lea eax, [esp + 0x19c]
push edx
push eax
lea ecx, [esp + 0x2e0]
call fcn.00428d60
lea ecx, [esp + 0x220]
push ecx
lea ecx, [esp + 0x1a0]
call fcn.00428d40
call fcn.00674c60
fstp dword [esp + 0x10]
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x2d8]
push edx
lea ecx, [esp + 0x44]
push eax
push ecx
call fcn.0064d306
fld dword [esp + 0x2d8]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
je 0x4850dc
fld dword [esp + 0x2dc]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
je 0x4850dc
fld dword [esp + 0x2e0]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
jne 0x4851aa
lea edx, [esp + 0x40]
lea eax, [esp + 0x50]
push edx
push eax
call fcn.0064cad6
mov al, byte [0x81a23c]
test al, 1
jne 0x48510c
mov dl, al
push fcn.004465e0
or dl, 1
mov byte [0x81a23c], dl
call fcn.00673ac4
add esp, 4
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push ecx
push edx
push eax
mov ecx, 0x81a240
call fcn.0041d0b0
fld dword [esp + 0x70]
fmul dword [0x81a248]
fld dword [esp + 0x60]
fmul dword [0x81a244]
faddp st(1)
fld dword [esp + 0x50]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0x80]
fstp dword [esp + 0x18]
fld dword [esp + 0x74]
fmul dword [0x81a248]
fld dword [esp + 0x64]
fmul dword [0x81a244]
faddp st(1)
fld dword [esp + 0x54]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0x84]
fstp dword [esp + 0x1c]
fld dword [esp + 0x78]
fmul dword [0x81a248]
fld dword [esp + 0x68]
fmul dword [0x81a244]
faddp st(1)
fld dword [esp + 0x58]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0x88]
jmp 0x4851e1
fld dword [esp + 0x4c]
fcomp dword [0x6a3a64]
fnstsw ax
test ah, 0x40
jne 0x4851e5
fld dword [esp + 0x18]
fmul dword [0x6a3ca0]
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fmul dword [0x6a3ca0]
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fmul dword [0x6a3ca0]
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 al, byte [0x81a22c]
mov ecx, dword [esi + 0x31c]
test al, 1
mov dword [esp + 0xec], ecx
jne 0x485228
mov dl, al
push fcn.004465e0
or dl, 1
mov byte [0x81a22c], dl
call fcn.00673ac4
add esp, 4
fld dword [esp + 0xec]
fmul dword [esp + 0x18]
fstp dword [0x81a230]
fld dword [esp + 0x1c]
fmul dword [esp + 0xec]
mov edx, dword [0x81a230]
mov dword [esp + 0x154], edx
fstp dword [0x81a234]
fld dword [esp + 0x20]
fmul dword [esp + 0xec]
mov eax, dword [0x81a234]
mov dword [esp + 0x158], eax
fstp dword [0x81a238]
mov ecx, dword [0x81a238]
mov dword [edi + 0x4c], edx
mov dword [edi + 0x50], eax
mov dword [edi + 0x54], ecx
mov eax, dword [esi + 0x34]
mov dword [esp + 0x15c], ecx
test eax, eax
je 0x485aef
mov cl, byte [eax + 0x10c]
test cl, cl
je 0x485aef
lea ebx, [esi + 0x88]
add eax, 0xec
mov edx, ebx
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1bc], 0x3f800000
mov ecx, dword [edx]
mov dword [esp + 0x90], ecx
mov ecx, dword [edx + 4]
mov dword [esp + 0x94], ecx
mov ecx, dword [eax]
mov edx, dword [edx + 8]
mov dword [esp + 0x238], ecx
mov ecx, dword [esp + 0x1b4]
mov dword [esp + 0x98], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x1cc], ecx
mov dword [esp + 0x23c], edx
mov edx, dword [esp + 0x1b8]
mov eax, dword [eax + 8]
lea ecx, [esp + 0x1cc]
mov dword [esp + 0x240], eax
mov eax, dword [esp + 0x1bc]
mov dword [esp + 0x1d0], edx
mov dword [esp + 0x1d4], eax
call fcn.00446420
lea ecx, [esp + 0x238]
call fcn.00446420
lea ecx, [esp + 0x238]
lea edx, [esp + 0x1cc]
push ecx
push edx
lea ecx, [esp + 0x2c8]
call fcn.00428d60
lea eax, [esp + 0x238]
lea ecx, [esp + 0x1cc]
push eax
call fcn.00428d40
call fcn.00674c60
fstp dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x2c0]
push ecx
lea eax, [esp + 0x44]
push edx
push eax
call fcn.0064d306
fld dword [esp + 0x2c0]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
je 0x4853dd
fld dword [esp + 0x2c4]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
je 0x4853dd
fld dword [esp + 0x2c8]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
jne 0x4854b9
lea ecx, [esp + 0x40]
lea edx, [esp + 0x50]
push ecx
push edx
call fcn.0064cad6
mov al, byte [0x81a24c]
test al, 1
jne 0x48540d
mov dl, al
push fcn.004465e0
or dl, 1
mov byte [0x81a24c], dl
call fcn.00673ac4
add esp, 4
fld dword [esp + 0x70]
fmul dword [ebx + 8]
fld dword [esp + 0x60]
fmul dword [ebx + 4]
faddp st(1)
fld dword [esp + 0x50]
fmul dword [ebx]
faddp st(1)
fadd dword [esp + 0x80]
fstp dword [0x81a250]
fld dword [esp + 0x54]
fmul dword [ebx]
fld dword [esp + 0x74]
fmul dword [ebx + 8]
mov eax, dword [0x81a250]
mov dword [esp + 0x250], eax
mov dword [esp + 0x90], eax
faddp st(1)
fld dword [esp + 0x64]
fmul dword [ebx + 4]
faddp st(1)
fadd dword [esp + 0x84]
fstp dword [0x81a254]
fld dword [esp + 0x58]
fmul dword [ebx]
fld dword [esp + 0x78]
fmul dword [ebx + 8]
mov ecx, dword [0x81a254]
mov dword [esp + 0x254], ecx
mov dword [esp + 0x94], ecx
faddp st(1)
fld dword [esp + 0x68]
fmul dword [ebx + 4]
faddp st(1)
fadd dword [esp + 0x88]
fstp dword [0x81a258]
mov edx, dword [0x81a258]
mov dword [esp + 0x258], edx
mov dword [esp + 0x98], edx
jmp 0x485506
fld dword [esp + 0x4c]
fcomp dword [0x6a3a64]
fnstsw ax
test ah, 0x40
jne 0x485506
fld dword [esp + 0x90]
fmul dword [0x6a3ca0]
fstp dword [esp + 0x90]
fld dword [esp + 0x94]
fmul dword [0x6a3ca0]
fstp dword [esp + 0x94]
fld dword [esp + 0x98]
fmul dword [0x6a3ca0]
fstp dword [esp + 0x98]
mov eax, dword [esi + 0x34]
fld dword [eax + 0x110]
fmul dword [edi + 0x8c]
fstp dword [edi + 0x8c]
mov ecx, dword [esi + 0x34]
fld dword [ecx + 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 + 0x4cc]
test al, al
je 0x485610
mov eax, dword [esi + 0x4c0]
test eax, eax
je 0x485610
add eax, 0x3c
mov edx, dword [eax]
mov dword [esp + 0x114], edx
fld dword [esp + 0x114]
fmul dword [esi + 0x2d0]
mov ecx, dword [eax + 4]
mov dword [esp + 0x118], ecx
mov ecx, dword [ebx + 4]
mov edx, dword [eax + 8]
mov eax, dword [ebx]
fstp dword [esp + 0x108]
fld dword [esp + 0x118]
fmul dword [esi + 0x2d4]
mov dword [esp + 0x11c], edx
mov edx, dword [ebx + 8]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], edx
fstp dword [esp + 0x10c]
fld dword [esp + 0x11c]
fmul dword [esi + 0x2d8]
fstp dword [esp + 0x110]
fld dword [esp + 0x114]
fmul dword [esi + 0x2c4]
fstp dword [esp + 0xc4]
fld dword [esp + 0x118]
fmul dword [esi + 0x2c8]
fstp dword [esp + 0xc8]
fld dword [esp + 0x11c]
fmul dword [esi + 0x2cc]
fstp dword [esp + 0xcc]
jmp 0x48575a
mov eax, dword [esi + 0x34]
mov ecx, dword [eax + 0x110]
mov al, byte [0x81a22c]
test al, 1
mov dword [esp + 0xe8], ecx
jne 0x485641
mov dl, al
push fcn.004465e0
or dl, 1
mov byte [0x81a22c], dl
call fcn.00673ac4
add esp, 4
fld dword [esp + 0xe8]
fmul dword [esi + 0x2d0]
fstp dword [0x81a230]
fld dword [esp + 0xe8]
fmul dword [esi + 0x2d4]
mov edx, dword [0x81a230]
mov dword [esp + 0x1e4], edx
mov dword [esp + 0x108], edx
fstp dword [0x81a234]
fld dword [esp + 0xe8]
fmul dword [esi + 0x2d8]
mov eax, dword [0x81a234]
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x10c], eax
fstp dword [0x81a238]
mov edx, dword [esi + 0x34]
mov ecx, dword [0x81a238]
mov dword [esp + 0x1ec], ecx
mov dword [esp + 0x110], ecx
mov eax, dword [edx + 0x110]
mov dword [esp + 0xe4], eax
mov al, byte [0x81a22c]
test al, 1
jne 0x4856e6
mov dl, al
push fcn.004465e0
or dl, 1
mov byte [0x81a22c], dl
call fcn.00673ac4
add esp, 4
fld dword [esp + 0xe4]
fmul dword [esi + 0x2c4]
fstp dword [0x81a230]
fld dword [esp + 0xe4]
fmul dword [esi + 0x2c8]
mov ecx, dword [0x81a230]
mov dword [esp + 0x268], ecx
mov dword [esp + 0xc4], ecx
fstp dword [0x81a234]
fld dword [esp + 0xe4]
fmul dword [esi + 0x2cc]
mov edx, dword [0x81a234]
mov dword [esp + 0x26c], edx
mov dword [esp + 0xc8], edx
fstp dword [0x81a238]
mov eax, dword [0x81a238]
mov dword [esp + 0x270], eax
mov dword [esp + 0xcc], eax
call fcn.0067466f
cdq
mov ecx, 0x64
idiv ecx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x6a3b60]
fld dword [esp + 0x110]
fsub dword [esp + 0xcc]
fmulp st(1)
fadd dword [esp + 0xcc]
fstp dword [esp + 0x10]
call fcn.0067466f
cdq
mov ecx, 0x64
idiv ecx
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fmul dword [0x6a3b60]
fld dword [esp + 0x10c]
fsub dword [esp + 0xc8]
fmulp st(1)
fadd dword [esp + 0xc8]
fstp dword [esp + 0x24]
call fcn.0067466f
cdq
mov ecx, 0x64
mov dword [esp + 0x280], 0
idiv ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [edi + 0x40]
mov dword [esp + 0xb4], eax
mov eax, dword [edi + 0x48]
mov dword [esp + 0x274], ecx
mov ecx, dword [esp + 0x280]
mov dword [esp + 0x284], 0
mov dword [esp + 0x288], 0x3f800000
mov dword [esp + 0x27c], eax
mov eax, dword [esp + 0x288]
mov dword [esp + 0x214], ecx
lea ecx, [esp + 0x214]
mov dword [esp + 0x21c], eax
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x24]
fild dword [esp + 0x14]
mov dword [esp + 0xb0], edx
mov edx, dword [edi + 0x44]
mov dword [esp + 0x278], edx
mov edx, dword [esp + 0x284]
fmul dword [0x6a3b60]
fld dword [esp + 0x108]
fsub dword [esp + 0xc4]
mov dword [esp + 0x218], edx
fmulp st(1)
fadd dword [esp + 0xc4]
fstp dword [esp + 0xac]
call fcn.00446420
lea ecx, [esp + 0x274]
call fcn.00446420
lea ecx, [esp + 0x274]
lea edx, [esp + 0x214]
push ecx
push edx
lea ecx, [esp + 0x2d4]
call fcn.00428d60
lea eax, [esp + 0x274]
lea ecx, [esp + 0x214]
push eax
call fcn.00428d40
call fcn.00674c60
fstp dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x2cc]
push ecx
lea eax, [esp + 0x44]
push edx
push eax
call fcn.0064d306
fld dword [esp + 0x2cc]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
je 0x485926
fld dword [esp + 0x2d0]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
je 0x485926
fld dword [esp + 0x2d4]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
jne 0x4859fd
lea ecx, [esp + 0x40]
lea edx, [esp + 0x50]
push ecx
push edx
call fcn.0064cad6
mov al, byte [0x81a23c]
test al, 1
jne 0x485956
mov dl, al
push fcn.004465e0
or dl, 1
mov byte [0x81a23c], dl
call fcn.00673ac4
add esp, 4
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xac]
push eax
push ecx
push edx
mov ecx, 0x81a240
call fcn.0041d0b0
fld dword [esp + 0x70]
fmul dword [0x81a248]
fld dword [esp + 0x60]
fmul dword [0x81a244]
faddp st(1)
fld dword [esp + 0x50]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0x80]
fstp dword [esp + 0xac]
fld dword [esp + 0x74]
fmul dword [0x81a248]
fld dword [esp + 0x64]
fmul dword [0x81a244]
faddp st(1)
fld dword [esp + 0x54]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0x84]
fstp dword [esp + 0xb0]
fld dword [esp + 0x78]
fmul dword [0x81a248]
fld dword [esp + 0x68]
fmul dword [0x81a244]
faddp st(1)
fld dword [esp + 0x58]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0x88]
jmp 0x485a3d
fld dword [esp + 0x4c]
fcomp dword [0x6a3a64]
fnstsw ax
test ah, 0x40
jne 0x485a44
fld dword [esp + 0xac]
fmul dword [0x6a3ca0]
fstp dword [esp + 0xac]
fld dword [esp + 0x24]
fmul dword [0x6a3ca0]
fstp dword [esp + 0xb0]
fld dword [esp + 0x10]
fmul dword [0x6a3ca0]
fstp dword [esp + 0xb4]
mov ebx, dword [esi + 0x34]
mov al, byte [0x81a204]
add ebx, 0xc8
test al, 1
jne 0x485a6e
mov dl, al
push fcn.004465e0
or dl, 1
mov byte [0x81a204], dl
call fcn.00673ac4
add esp, 4
fld dword [esp + 0x90]
fadd dword [ebx]
fstp dword [0x81a210]
fld dword [esp + 0x94]
fadd dword [ebx + 4]
mov eax, dword [0x81a210]
mov dword [esp + 0x25c], eax
fstp dword [0x81a214]
fld dword [esp + 0x98]
fadd dword [ebx + 8]
mov ecx, dword [0x81a214]
mov dword [esp + 0x260], ecx
fstp dword [0x81a218]
mov edx, dword [0x81a218]
mov dword [edi + 0x34], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x264], edx
mov dword [edi + 0x38], ecx
mov ecx, dword [esp + 0xb0]
mov dword [edi + 0x3c], edx
mov edx, dword [esp + 0xb4]
mov dword [edi + 0x70], eax
mov dword [edi + 0x74], ecx
mov dword [edi + 0x78], edx
jmp 0x486520
mov ecx, dword [eax + 0xf8]
lea ebx, [esi + 0x88]
cmp ecx, 0x3f800000
mov ecx, ebx
mov edx, dword [ecx]
je 0x4861f7
mov dword [esp + 0x9c], edx
mov edx, dword [ecx + 4]
add eax, 0xec
mov dword [esp + 0xa0], edx
mov ecx, dword [ecx + 8]
mov dword [esp + 0x230], 0
mov dword [esp + 0xa4], ecx
mov edx, dword [eax]
mov dword [esp + 0x28c], edx
mov dword [esp + 0x22c], 0
mov ecx, dword [eax + 4]
mov dword [esp + 0x234], 0x3f800000
mov dword [esp + 0x290], ecx
mov ecx, dword [esp + 0x230]
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x22c]
mov dword [esp + 0x294], edx
mov edx, dword [esp + 0x234]
mov dword [esp + 0x248], ecx
lea ecx, [esp + 0x244]
mov dword [esp + 0x244], eax
mov dword [esp + 0x24c], edx
call fcn.00446420
lea ecx, [esp + 0x28c]
call fcn.00446420
lea eax, [esp + 0x28c]
lea ecx, [esp + 0x244]
push eax
push ecx
lea ecx, [esp + 0x2b0]
call fcn.00428d60
lea edx, [esp + 0x28c]
lea ecx, [esp + 0x244]
push edx
call fcn.00428d40
call fcn.00674c60
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x2a8]
push eax
lea edx, [esp + 0x44]
push ecx
push edx
call fcn.0064d306
fld dword [esp + 0x2a8]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
je 0x485c3b
fld dword [esp + 0x2ac]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
je 0x485c3b
fld dword [esp + 0x2b0]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
jne 0x485d17
lea eax, [esp + 0x40]
lea ecx, [esp + 0x50]
push eax
push ecx
call fcn.0064cad6
mov al, byte [0x81a24c]
test al, 1
jne 0x485c6b
mov dl, al
push fcn.004465e0
or dl, 1
mov byte [0x81a24c], dl
call fcn.00673ac4
add esp, 4
fld dword [esp + 0x50]
fmul dword [ebx]
fld dword [esp + 0x70]
fmul dword [ebx + 8]
faddp st(1)
fld dword [esp + 0x60]
fmul dword [ebx + 4]
faddp st(1)
fadd dword [esp + 0x80]
fstp dword [0x81a250]
fld dword [esp + 0x74]
fmul dword [ebx + 8]
fld dword [esp + 0x64]
fmul dword [ebx + 4]
mov edx, dword [0x81a250]
mov dword [esp + 0x1f0], edx
mov dword [esp + 0x9c], edx
faddp st(1)
fld dword [esp + 0x54]
fmul dword [ebx]
faddp st(1)
fadd dword [esp + 0x84]
fstp dword [0x81a254]
fld dword [esp + 0x78]
fmul dword [ebx + 8]
fld dword [esp + 0x68]
fmul dword [ebx + 4]
mov eax, dword [0x81a254]
mov dword [esp + 0x1f4], eax
mov dword [esp + 0xa0], eax
faddp st(1)
fld dword [esp + 0x58]
fmul dword [ebx]
faddp st(1)
fadd dword [esp + 0x88]
fstp dword [0x81a258]
mov ecx, dword [0x81a258]
mov dword [esp + 0x1f8], ecx
mov dword [esp + 0xa4], ecx
jmp 0x485d64
fld dword [esp + 0x4c]
fcomp dword [0x6a3a64]
fnstsw ax
test ah, 0x40
jne 0x485d64
fld dword [esp + 0x9c]
fmul dword [0x6a3ca0]
fstp dword [esp + 0x9c]
fld dword [esp + 0xa0]
fmul dword [0x6a3ca0]
fstp dword [esp + 0xa0]
fld dword [esp + 0xa4]
fmul dword [0x6a3ca0]
fstp dword [esp + 0xa4]
mov edx, dword [esi + 0x34]
fld dword [edx + 0xf8]
fmul dword [edi + 0x8c]
fstp dword [edi + 0x8c]
mov eax, dword [esi + 0x34]
fld dword [eax + 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 + 0x4cc]
test al, al
je 0x485e6e
mov eax, dword [esi + 0x4c0]
test eax, eax
je 0x485e6e
add eax, 0x3c
mov ecx, dword [eax]
mov dword [esp + 0x120], ecx
mov ecx, dword [ebx]
fld dword [esp + 0x120]
fmul dword [esi + 0x2d0]
mov edx, dword [eax + 4]
mov dword [esp + 0x124], edx
mov edx, dword [ebx + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x9c], ecx
fstp dword [esp + 0x12c]
fld dword [esp + 0x124]
fmul dword [esi + 0x2d4]
mov dword [esp + 0x128], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0xa0], edx
mov dword [esp + 0xa4], eax
fstp dword [esp + 0x130]
fld dword [esp + 0x128]
fmul dword [esi + 0x2d8]
fstp dword [esp + 0x134]
fld dword [esp + 0x120]
fmul dword [esi + 0x2c4]
fstp dword [esp + 0xd4]
fld dword [esp + 0x124]
fmul dword [esi + 0x2c8]
fstp dword [esp + 0xd8]
fld dword [esp + 0x128]
fmul dword [esi + 0x2cc]
fstp dword [esp + 0xdc]
jmp 0x485fb8
mov ecx, dword [esi + 0x34]
mov al, byte [0x81a22c]
test al, 1
mov edx, dword [ecx + 0xf8]
mov dword [esp + 0xd0], edx
jne 0x485e9f
mov dl, al
push fcn.004465e0
or dl, 1
mov byte [0x81a22c], dl
call fcn.00673ac4
add esp, 4
fld dword [esp + 0xd0]
fmul dword [esi + 0x2d0]
fstp dword [0x81a230]
fld dword [esp + 0xd0]
fmul dword [esi + 0x2d4]
mov eax, dword [0x81a230]
mov dword [esp + 0x160], eax
mov dword [esp + 0x12c], eax
fstp dword [0x81a234]
fld dword [esp + 0xd0]
fmul dword [esi + 0x2d8]
mov ecx, dword [0x81a234]
mov dword [esp + 0x164], ecx
mov dword [esp + 0x130], ecx
fstp dword [0x81a238]
mov eax, dword [esi + 0x34]
mov edx, dword [0x81a238]
mov dword [esp + 0x168], edx
mov dword [esp + 0x134], edx
mov ecx, dword [eax + 0xf8]
mov al, byte [0x81a22c]
test al, 1
mov dword [esp + 0xe0], ecx
jne 0x485f44
mov dl, al
push fcn.004465e0
or dl, 1
mov byte [0x81a22c], dl
call fcn.00673ac4
add esp, 4
fld dword [esp + 0xe0]
fmul dword [esi + 0x2c4]
fstp dword [0x81a230]
fld dword [esp + 0xe0]
fmul dword [esi + 0x2c8]
mov edx, dword [0x81a230]
mov dword [esp + 0x178], edx
mov dword [esp + 0xd4], edx
fstp dword [0x81a234]
fld dword [esp + 0xe0]
fmul dword [esi + 0x2cc]
mov eax, dword [0x81a234]
mov dword [esp + 0x17c], eax
mov dword [esp + 0xd8], eax
fstp dword [0x81a238]
mov ecx, dword [0x81a238]
mov dword [esp + 0x180], ecx
mov dword [esp + 0xdc], ecx
call fcn.0067466f
cdq
mov ecx, 0x64
idiv ecx
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul dword [0x6a3b60]
fld dword [esp + 0x134]
fsub dword [esp + 0xdc]
fmulp st(1)
fadd dword [esp + 0xdc]
fstp dword [esp + 0x24]
call fcn.0067466f
cdq
mov ecx, 0x64
idiv ecx
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul dword [0x6a3b60]
fld dword [esp + 0x130]
fsub dword [esp + 0xd8]
fmulp st(1)
fadd dword [esp + 0xd8]
fstp dword [esp + 0x10]
call fcn.0067466f
cdq
mov ecx, 0x64
mov dword [esp + 0x190], 0
idiv ecx
mov eax, dword [esp + 0x24]
mov ecx, dword [edi + 0x40]
mov dword [esp + 0x1e0], eax
mov eax, dword [edi + 0x48]
mov dword [esp + 0x1a8], ecx
mov ecx, dword [esp + 0x190]
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0x3f800000
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x198]
mov dword [esp + 0x1c0], ecx
lea ecx, [esp + 0x1c0]
mov dword [esp + 0x1c8], eax
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x10]
fild dword [esp + 0x14]
mov dword [esp + 0x1dc], edx
mov edx, dword [edi + 0x44]
mov dword [esp + 0x1ac], edx
mov edx, dword [esp + 0x194]
fmul dword [0x6a3b60]
fld dword [esp + 0x12c]
fsub dword [esp + 0xd4]
mov dword [esp + 0x1c4], edx
fmulp st(1)
fadd dword [esp + 0xd4]
fstp dword [esp + 0x1d8]
call fcn.00446420
lea ecx, [esp + 0x1a8]
call fcn.00446420
lea ecx, [esp + 0x1a8]
lea edx, [esp + 0x1c0]
push ecx
push edx
lea ecx, [esp + 0x2bc]
call fcn.00428d60
lea eax, [esp + 0x1a8]
lea ecx, [esp + 0x1c0]
push eax
call fcn.00428d40
call fcn.00674c60
fstp dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x2b4]
push ecx
lea eax, [esp + 0x44]
push edx
push eax
call fcn.0064d306
fld dword [esp + 0x2b4]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
je 0x486180
fld dword [esp + 0x2b8]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
je 0x486180
fld dword [esp + 0x2bc]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
jne 0x4861a2
lea ecx, [esp + 0x40]
lea edx, [esp + 0x50]
push ecx
push edx
call fcn.0064cad6
lea eax, [esp + 0x50]
lea ecx, [esp + 0x1d8]
push eax
call fcn.0043a0c0
jmp 0x4861c4
fld dword [esp + 0x4c]
fcomp dword [0x6a3a64]
fnstsw ax
test ah, 0x40
jne 0x4861c4
push 0xbf800000
lea ecx, [esp + 0x1dc]
call fcn.00488dc0
lea ecx, [esp + 0x9c]
lea edx, [esp + 0x300]
push ecx
mov ecx, dword [esi + 0x34]
push edx
add ecx, 0xc8
call fcn.00428230
push eax
lea ecx, [edi + 0x34]
call fcn.0041ea40
lea eax, [esp + 0x1d8]
jmp 0x486517
mov dword [esp + 0x148], edx
mov edx, dword [ecx + 4]
mov dword [esp + 0x14c], edx
lea edx, [esp + 0x40]
mov ecx, dword [ecx + 8]
push edx
add eax, 0xec
sub esp, 0xc
mov dword [esp + 0x160], ecx
mov ecx, esp
mov edx, dword [eax]
push 0x3f800000
mov dword [ecx], edx
push 0
mov edx, dword [eax + 4]
push 0
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
lea ecx, [esp + 0x334]
call fcn.004651d0
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.00488760
test al, al
je 0x486298
lea ecx, [esp + 0x40]
lea edx, [esp + 0x50]
push ecx
push edx
call fcn.0064cad6
lea eax, [esp + 0x50]
lea ecx, [esp + 0x330]
push eax
push ecx
mov ecx, ebx
call fcn.0041d0d0
push eax
lea ecx, [esp + 0x14c]
call fcn.0041ea40
jmp 0x4862ba
fld dword [esp + 0x4c]
fcomp dword [0x6a3a64]
fnstsw ax
test ah, 0x40
jne 0x4862ba
push 0xbf800000
lea ecx, [esp + 0x14c]
call fcn.00488dc0
lea edx, [esi + 0x2d0]
lea ecx, [esp + 0xf0]
push edx
call fcn.0041ea40
lea eax, [esi + 0x2c4]
lea ecx, [esp + 0xb8]
push eax
call fcn.0041ea40
mov al, byte [esi + 0x4cc]
test al, al
je 0x4863a7
mov eax, dword [esi + 0x4c0]
test eax, eax
je 0x4863a7
fld dword [esp + 0xf0]
add eax, 0x3c
push ebx
mov ecx, dword [eax]
mov dword [esp + 0x100], ecx
lea ecx, [esp + 0x14c]
fmul dword [esp + 0x100]
mov edx, dword [eax + 4]
mov dword [esp + 0x104], edx
mov eax, dword [eax + 8]
fstp dword [esp + 0xf4]
fld dword [esp + 0xf8]
fmul dword [esp + 0x104]
mov dword [esp + 0x108], eax
fstp dword [esp + 0xf8]
fld dword [esp + 0xfc]
fmul dword [esp + 0x108]
fstp dword [esp + 0xfc]
fld dword [esp + 0xbc]
fmul dword [esp + 0x100]
fstp dword [esp + 0xbc]
fld dword [esp + 0xc0]
fmul dword [esp + 0x104]
fstp dword [esp + 0xc0]
fld dword [esp + 0xc4]
fmul dword [esp + 0x108]
fstp dword [esp + 0xc4]
call fcn.0041ea40
call fcn.0067466f
cdq
mov ecx, 0x64
idiv ecx
push ecx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fmul dword [0x6a3b60]
fld dword [esp + 0xfc]
fsub dword [esp + 0xc4]
fmulp st(1)
fadd dword [esp + 0xc4]
fstp dword [esp]
call fcn.0067466f
cdq
mov ecx, 0x64
idiv ecx
push ecx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fmul dword [0x6a3b60]
fld dword [esp + 0xfc]
fsub dword [esp + 0xc4]
fmulp st(1)
fadd dword [esp + 0xc4]
fstp dword [esp]
call fcn.0067466f
cdq
mov ecx, 0x64
idiv ecx
push ecx
lea ecx, [esp + 0x2fc]
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x6a3b60]
fld dword [esp + 0xfc]
fsub dword [esp + 0xc4]
fmulp st(1)
fadd dword [esp + 0xc4]
fstp dword [esp]
call fcn.0041d0b0
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 + 0x340]
call fcn.004651d0
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.00488760
test al, al
je 0x4864c7
lea ecx, [esp + 0x40]
lea edx, [esp + 0x50]
push ecx
push edx
call fcn.0064cad6
lea eax, [esp + 0x50]
lea ecx, [esp + 0x2f0]
push eax
call fcn.0043a0c0
jmp 0x4864e9
fld dword [esp + 0x4c]
fcomp dword [0x6a3a64]
fnstsw ax
test ah, 0x40
jne 0x4864e9
push 0xbf800000
lea ecx, [esp + 0x2f4]
call fcn.00488dc0
lea ecx, [esp + 0x148]
lea edx, [esp + 0x30c]
push ecx
mov ecx, dword [esi + 0x34]
push edx
add ecx, 0xc8
call fcn.00428230
push eax
lea ecx, [edi + 0x34]
call fcn.0041ea40
lea eax, [esp + 0x2f0]
push eax
lea ecx, [edi + 0x70]
call fcn.0041ea40
mov edi, dword [esp + 0x298]
lea ecx, [esi + 0x29c]
lea eax, [edi + 8]
push eax
call fcn.004888c0
lea ecx, [esp + 0x2fc]
push edi
push ecx
lea ecx, [esi + 0x2a8]
call fcn.005a80a0
mov eax, dword [esp + 0x138]
mov ecx, dword [esi + 0x2bc]
inc eax
cmp eax, ecx
mov dword [esp + 0x138], eax
jl 0x4849a5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x32c
ret
sub esp, 0x340
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x140], 0
mov eax, dword [esi + 0x2bc]
test eax, eax
jle 0x48821d
mov eax, dword [esi + 0x2ac]
mov ecx, dword [eax]
cmp ecx, eax
mov dword [esp + 0x1b0], ecx
je 0x48821d
fld dword [esi + 0x2e0]
mov ebp, dword [ecx + 8]
lea eax, [ecx + 8]
mov eax, dword [esi + 0x2ec]
mov ecx, dword [esi + 0x2f0]
mov edx, dword [esi + 0x2f4]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x310]
mov dword [esp + 0x2c], ecx
fstp dword [esp + 0x18]
fld dword [esi + 0x2e4]
mov ecx, dword [esi + 0x314]
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0x34]
mov dword [esp + 0x30], edx
mov edx, dword [esi + 0x318]
mov dword [esp + 0x148], 0
mov edi, dword [esp + 0x148]
mov dword [esp + 0x14c], 0x3f800000
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0x144], 0
fstp dword [esp + 0x1c]
fld dword [esi + 0x2e8]
fstp dword [esp + 0x20]
test eax, eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edx
je 0x486856
add eax, 0xec
mov dword [esp + 0x218], edi
mov dword [esp + 0x21c], ebx
mov ecx, dword [eax]
mov dword [esp + 0x1d8], ecx
mov ecx, dword [esp + 0x144]
mov edx, dword [eax + 4]
mov dword [esp + 0x214], ecx
lea ecx, [esp + 0x214]
mov dword [esp + 0x1dc], edx
mov eax, dword [eax + 8]
mov dword [esp + 0x1e0], eax
call fcn.00446420
lea ecx, [esp + 0x1d8]
call fcn.00446420
lea edx, [esp + 0x1d8]
lea eax, [esp + 0x214]
push edx
push eax
lea ecx, [esp + 0x2a0]
call fcn.00428d60
lea ecx, [esp + 0x1d8]
push ecx
lea ecx, [esp + 0x218]
call fcn.00428d40
call fcn.00674c60
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x298]
push edx
lea ecx, [esp + 0x44]
push eax
push ecx
call fcn.0064d306
fld dword [esp + 0x298]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
je 0x48673c
fld dword [esp + 0x29c]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
je 0x48673c
fld dword [esp + 0x2a0]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
jne 0x48681b
lea edx, [esp + 0x40]
lea eax, [esp + 0x68]
push edx
push eax
call fcn.0064cad6
mov al, byte [0x81a23c]
test al, 1
jne 0x48676c
mov dl, al
push fcn.004465e0
or dl, 1
mov byte [0x81a23c], dl
call fcn.00673ac4
add esp, 4
fld dword [esp + 0x28]
fstp dword [0x81a240]
fld dword [esp + 0x2c]
fstp dword [0x81a244]
fld dword [esp + 0x30]
fstp dword [0x81a248]
fld dword [esp + 0x88]
fmul dword [0x81a248]
fld dword [esp + 0x78]
fmul dword [0x81a244]
faddp st(1)
fld dword [esp + 0x68]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0x98]
fstp dword [esp + 0x28]
fld dword [esp + 0x8c]
fmul dword [0x81a248]
fld dword [esp + 0x7c]
fmul dword [0x81a244]
faddp st(1)
fld dword [esp + 0x6c]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0x9c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x90]
fmul dword [0x81a248]
fld dword [esp + 0x80]
fmul dword [0x81a244]
faddp st(1)
fld dword [esp + 0x70]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0xa0]
jmp 0x486852
fld dword [esp + 0x4c]
fcomp dword [0x6a3a64]
fnstsw ax
test ah, 0x40
jne 0x486856
fld dword [esp + 0x28]
fmul dword [0x6a3ca0]
fstp dword [esp + 0x28]
fld dword [esp + 0x2c]
fmul dword [0x6a3ca0]
fstp dword [esp + 0x2c]
fld dword [esp + 0x30]
fmul dword [0x6a3ca0]
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 [0x6a37dc]
fnstsw ax
test ah, 0x40
jne 0x486a85
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x180], ecx
mov ecx, dword [esp + 0x144]
mov dword [esp + 0x184], edx
mov dword [esp + 0x22c], ecx
lea ecx, [esp + 0x22c]
mov dword [esp + 0x188], eax
mov dword [esp + 0x230], edi
mov dword [esp + 0x234], ebx
call fcn.00446420
lea ecx, [esp + 0x180]
call fcn.00446420
lea edx, [esp + 0x180]
lea eax, [esp + 0x22c]
push edx
push eax
lea ecx, [esp + 0x2b8]
call fcn.00428d60
lea ecx, [esp + 0x180]
push ecx
lea ecx, [esp + 0x230]
call fcn.00428d40
call fcn.00674c60
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x2b0]
push edx
lea ecx, [esp + 0x44]
push eax
push ecx
call fcn.0064d306
fld dword [esp + 0x2b0]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
je 0x486970
fld dword [esp + 0x2b4]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
je 0x486970
fld dword [esp + 0x2b8]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
jne 0x486a4a
lea edx, [esp + 0x40]
lea eax, [esp + 0x68]
push edx
push eax
call fcn.0064cad6
mov al, byte [0x81a23c]
test al, 1
jne 0x4869a0
mov dl, al
push fcn.004465e0
or dl, 1
mov byte [0x81a23c], dl
call fcn.00673ac4
add esp, 4
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
push ecx
push edx
push eax
mov ecx, 0x81a240
call fcn.0041d0b0
fld dword [esp + 0x88]
fmul dword [0x81a248]
fld dword [esp + 0x78]
fmul dword [0x81a244]
faddp st(1)
fld dword [esp + 0x68]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0x98]
fstp dword [esp + 0x34]
fld dword [esp + 0x8c]
fmul dword [0x81a248]
fld dword [esp + 0x7c]
fmul dword [0x81a244]
faddp st(1)
fld dword [esp + 0x6c]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0x9c]
fstp dword [esp + 0x38]
fld dword [esp + 0x90]
fmul dword [0x81a248]
fld dword [esp + 0x80]
fmul dword [0x81a244]
faddp st(1)
fld dword [esp + 0x70]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0xa0]
jmp 0x486a81
fld dword [esp + 0x4c]
fcomp dword [0x6a3a64]
fnstsw ax
test ah, 0x40
jne 0x486a85
fld dword [esp + 0x34]
fmul dword [0x6a3ca0]
fstp dword [esp + 0x34]
fld dword [esp + 0x38]
fmul dword [0x6a3ca0]
fstp dword [esp + 0x38]
fld dword [esp + 0x3c]
fmul dword [0x6a3ca0]
fstp dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x198], ecx
mov ecx, dword [esp + 0x144]
mov dword [esp + 0x19c], edx
mov dword [esp + 0x244], ecx
lea ecx, [esp + 0x244]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x248], edi
mov dword [esp + 0x24c], ebx
call fcn.00446420
lea ecx, [esp + 0x198]
call fcn.00446420
lea edx, [esp + 0x198]
lea eax, [esp + 0x244]
push edx
push eax
lea ecx, [esp + 0x2e8]
call fcn.00428d60
lea ecx, [esp + 0x198]
push ecx
lea ecx, [esp + 0x248]
call fcn.00428d40
call fcn.00674c60
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x2e0]
push edx
lea ecx, [esp + 0x44]
push eax
push ecx
call fcn.0064d306
fld dword [esp + 0x2e0]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
je 0x486b6a
fld dword [esp + 0x2e4]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
je 0x486b6a
fld dword [esp + 0x2e8]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
jne 0x486c44
lea edx, [esp + 0x40]
lea eax, [esp + 0x68]
push edx
push eax
call fcn.0064cad6
mov al, byte [0x81a23c]
test al, 1
jne 0x486b9a
mov dl, al
push fcn.004465e0
or dl, 1
mov byte [0x81a23c], dl
call fcn.00673ac4
add esp, 4
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push ecx
push edx
push eax
mov ecx, 0x81a240
call fcn.0041d0b0
fld dword [esp + 0x88]
fmul dword [0x81a248]
fld dword [esp + 0x78]
fmul dword [0x81a244]
faddp st(1)
fld dword [esp + 0x68]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0x98]
fstp dword [esp + 0x18]
fld dword [esp + 0x8c]
fmul dword [0x81a248]
fld dword [esp + 0x7c]
fmul dword [0x81a244]
faddp st(1)
fld dword [esp + 0x6c]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0x9c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x90]
fmul dword [0x81a248]
fld dword [esp + 0x80]
fmul dword [0x81a244]
faddp st(1)
fld dword [esp + 0x70]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0xa0]
jmp 0x486c7b
fld dword [esp + 0x4c]
fcomp dword [0x6a3a64]
fnstsw ax
test ah, 0x40
jne 0x486c7f
fld dword [esp + 0x18]
fmul dword [0x6a3ca0]
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fmul dword [0x6a3ca0]
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fmul dword [0x6a3ca0]
fstp dword [esp + 0x20]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [ebp + 0x40], ecx
mov dword [ebp + 0x44], edx
mov dword [ebp + 0x48], eax
mov eax, dword [esi + 0x34]
test eax, eax
je 0x487e68
mov cl, byte [eax + 0x10c]
test cl, cl
je 0x4875e7
lea edi, [esi + 0x88]
add eax, 0xec
mov ecx, edi
mov dword [esp + 0x160], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x164], 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 + 0x25c], edx
mov dword [esp + 0x58], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x260], ecx
mov ecx, dword [esp + 0x160]
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x264], edx
mov edx, dword [esp + 0x164]
mov dword [esp + 0x1c4], ecx
lea ecx, [esp + 0x1c0]
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c8], edx
call fcn.00446420
lea ecx, [esp + 0x25c]
call fcn.00446420
lea eax, [esp + 0x25c]
lea ecx, [esp + 0x1c0]
push eax
push ecx
lea ecx, [esp + 0x2f4]
call fcn.00428d60
lea edx, [esp + 0x25c]
lea ecx, [esp + 0x1c0]
push edx
call fcn.00428d40
call fcn.00674c60
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x2ec]
push eax
lea edx, [esp + 0x44]
push ecx
push edx
call fcn.0064d306
fld dword [esp + 0x2ec]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
je 0x486dde
fld dword [esp + 0x2f0]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
je 0x486dde
fld dword [esp + 0x2f4]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
jne 0x486ebd
lea eax, [esp + 0x40]
lea ecx, [esp + 0x68]
push eax
push ecx
call fcn.0064cad6
mov al, byte [0x81a24c]
test al, 1
jne 0x486e0e
mov dl, al
push fcn.004465e0
or dl, 1
mov byte [0x81a24c], dl
call fcn.00673ac4
add esp, 4
fld dword [esp + 0x68]
fmul dword [edi]
fld dword [esp + 0x88]
fmul dword [edi + 8]
faddp st(1)
fld dword [esp + 0x78]
fmul dword [edi + 4]
faddp st(1)
fadd dword [esp + 0x98]
fstp dword [0x81a250]
fld dword [esp + 0x8c]
fmul dword [edi + 8]
fld dword [esp + 0x7c]
fmul dword [edi + 4]
mov edx, dword [0x81a250]
mov dword [esp + 0x274], edx
mov dword [esp + 0x50], edx
faddp st(1)
fld dword [esp + 0x6c]
fmul dword [edi]
faddp st(1)
fadd dword [esp + 0x9c]
fstp dword [0x81a254]
fld dword [esp + 0x90]
fmul dword [edi + 8]
fld dword [esp + 0x80]
fmul dword [edi + 4]
mov eax, dword [0x81a254]
mov dword [esp + 0x278], eax
mov dword [esp + 0x54], eax
faddp st(1)
fld dword [esp + 0x70]
fmul dword [edi]
faddp st(1)
fadd dword [esp + 0xa0]
fstp dword [0x81a258]
mov ecx, dword [0x81a258]
mov dword [esp + 0x27c], ecx
mov dword [esp + 0x58], ecx
jmp 0x486ef8
fld dword [esp + 0x4c]
fcomp dword [0x6a3a64]
fnstsw ax
test ah, 0x40
jne 0x486ef8
fld dword [esp + 0x50]
fmul dword [0x6a3ca0]
fstp dword [esp + 0x50]
fld dword [esp + 0x54]
fmul dword [0x6a3ca0]
fstp dword [esp + 0x54]
fld dword [esp + 0x58]
fmul dword [0x6a3ca0]
fstp dword [esp + 0x58]
mov edx, dword [esi + 0x34]
fld dword [edx + 0x110]
fmul dword [ebp + 0x8c]
fstp dword [ebp + 0x8c]
mov eax, dword [esi + 0x34]
fld dword [eax + 0x110]
fld st(0)
fmul dword [ebp + 0x4c]
fstp dword [ebp + 0x4c]
fld st(0)
fmul dword [ebp + 0x50]
fstp dword [ebp + 0x50]
fmul dword [ebp + 0x54]
fstp dword [ebp + 0x54]
mov al, byte [esi + 0x4cc]
test al, al
je 0x486ff9
mov eax, dword [esi + 0x4c0]
test eax, eax
je 0x486ff9
add eax, 0x3c
mov ecx, dword [eax]
mov dword [esp + 0x11c], ecx
mov ecx, dword [edi]
fld dword [esp + 0x11c]
fmul dword [esi + 0x2d0]
mov edx, dword [eax + 4]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x120], edx
mov edx, dword [edi + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x54], edx
fstp dword [esp + 0x110]
fld dword [esp + 0x120]
fmul dword [esi + 0x2d4]
mov dword [esp + 0x124], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x58], eax
fstp dword [esp + 0x114]
fld dword [esp + 0x124]
fmul dword [esi + 0x2d8]
fstp dword [esp + 0x118]
fld dword [esp + 0x11c]
fmul dword [esi + 0x2c4]
fstp dword [esp + 0xcc]
fld dword [esp + 0x120]
fmul dword [esi + 0x2c8]
fstp dword [esp + 0xd0]
fld dword [esp + 0x124]
fmul dword [esi + 0x2cc]
fstp dword [esp + 0xd4]
jmp 0x487143
mov ecx, dword [esi + 0x34]
mov al, byte [0x81a22c]
test al, 1
mov edx, dword [ecx + 0x110]
mov dword [esp + 0xf4], edx
jne 0x48702a
mov dl, al
push fcn.004465e0
or dl, 1
mov byte [0x81a22c], dl
call fcn.00673ac4
add esp, 4
fld dword [esp + 0xf4]
fmul dword [esi + 0x2d0]
fstp dword [0x81a230]
fld dword [esp + 0xf4]
fmul dword [esi + 0x2d4]
mov eax, dword [0x81a230]
mov dword [esp + 0x28c], eax
mov dword [esp + 0x110], eax
fstp dword [0x81a234]
fld dword [esp + 0xf4]
fmul dword [esi + 0x2d8]
mov ecx, dword [0x81a234]
mov dword [esp + 0x290], ecx
mov dword [esp + 0x114], ecx
fstp dword [0x81a238]
mov eax, dword [esi + 0x34]
mov edx, dword [0x81a238]
mov dword [esp + 0x294], edx
mov dword [esp + 0x118], edx
mov ecx, dword [eax + 0x110]
mov al, byte [0x81a22c]
test al, 1
mov dword [esp + 0xf0], ecx
jne 0x4870cf
mov dl, al
push fcn.004465e0
or dl, 1
mov byte [0x81a22c], dl
call fcn.00673ac4
add esp, 4
fld dword [esp + 0xf0]
fmul dword [esi + 0x2c4]
fstp dword [0x81a230]
fld dword [esp + 0xf0]
fmul dword [esi + 0x2c8]
mov edx, dword [0x81a230]
mov dword [esp + 0x238], edx
mov dword [esp + 0xcc], edx
fstp dword [0x81a234]
fld dword [esp + 0xf0]
fmul dword [esi + 0x2cc]
mov eax, dword [0x81a234]
mov dword [esp + 0x23c], eax
mov dword [esp + 0xd0], eax
fstp dword [0x81a238]
mov ecx, dword [0x81a238]
mov dword [esp + 0x240], ecx
mov dword [esp + 0xd4], ecx
call fcn.0067466f
cdq
mov ecx, 0x64
idiv ecx
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul dword [0x6a3b60]
fld dword [esp + 0x118]
fsub dword [esp + 0xd4]
fmulp st(1)
fadd dword [esp + 0xd4]
fstp dword [esp + 0x14]
call fcn.0067466f
cdq
mov ecx, 0x64
idiv ecx
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fmul dword [0x6a3b60]
fld dword [esp + 0x114]
fsub dword [esp + 0xd0]
fmulp st(1)
fadd dword [esp + 0xd0]
fstp dword [esp + 0x24]
call fcn.0067466f
cdq
mov ecx, 0x64
mov dword [esp + 0x1f0], 0
idiv ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 0x40]
mov dword [esp + 0xb0], eax
mov eax, dword [ebp + 0x48]
mov dword [esp + 0x268], ecx
mov ecx, dword [esp + 0x1f0]
mov dword [esp + 0x1f4], 0
mov dword [esp + 0x1f8], 0x3f800000
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0x1f8]
mov dword [esp + 0x208], ecx
lea ecx, [esp + 0x208]
mov dword [esp + 0x210], eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x24]
fild dword [esp + 0x10]
mov dword [esp + 0xac], edx
mov edx, dword [ebp + 0x44]
mov dword [esp + 0x26c], edx
mov edx, dword [esp + 0x1f4]
fmul dword [0x6a3b60]
fld dword [esp + 0x110]
fsub dword [esp + 0xcc]
mov dword [esp + 0x20c], edx
fmulp st(1)
fadd dword [esp + 0xcc]
fstp dword [esp + 0xa8]
call fcn.00446420
lea ecx, [esp + 0x268]
call fcn.00446420
lea ecx, [esp + 0x268]
lea edx, [esp + 0x208]
push ecx
push edx
lea ecx, [esp + 0x2d0]
call fcn.00428d60
lea eax, [esp + 0x268]
lea ecx, [esp + 0x208]
push eax
call fcn.00428d40
call fcn.00674c60
fstp dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x2c8]
push ecx
lea eax, [esp + 0x44]
push edx
push eax
call fcn.0064d306
fld dword [esp + 0x2c8]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
je 0x48730f
fld dword [esp + 0x2cc]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
je 0x48730f
fld dword [esp + 0x2d0]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
jne 0x4873f2
lea ecx, [esp + 0x40]
lea edx, [esp + 0x68]
push ecx
push edx
call fcn.0064cad6
mov al, byte [0x81a23c]
test al, 1
jne 0x48733f
mov dl, al
push fcn.004465e0
or dl, 1
mov byte [0x81a23c], dl
call fcn.00673ac4
add esp, 4
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xa8]
push eax
push ecx
push edx
mov ecx, 0x81a240
call fcn.0041d0b0
fld dword [esp + 0x88]
fmul dword [0x81a248]
fld dword [esp + 0x78]
fmul dword [0x81a244]
faddp st(1)
fld dword [esp + 0x68]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0x98]
fstp dword [esp + 0xa8]
fld dword [esp + 0x8c]
fmul dword [0x81a248]
fld dword [esp + 0x7c]
fmul dword [0x81a244]
faddp st(1)
fld dword [esp + 0x6c]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0x9c]
fstp dword [esp + 0xac]
fld dword [esp + 0x90]
fmul dword [0x81a248]
fld dword [esp + 0x80]
fmul dword [0x81a244]
faddp st(1)
fld dword [esp + 0x70]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0xa0]
jmp 0x487432
fld dword [esp + 0x4c]
fcomp dword [0x6a3a64]
fnstsw ax
test ah, 0x40
jne 0x487439
fld dword [esp + 0xa8]
fmul dword [0x6a3ca0]
fstp dword [esp + 0xa8]
fld dword [esp + 0x24]
fmul dword [0x6a3ca0]
fstp dword [esp + 0xac]
fld dword [esp + 0x14]
fmul dword [0x6a3ca0]
fstp dword [esp + 0xb0]
mov edi, dword [esi + 0x34]
mov al, byte [0x81a204]
add edi, 0xc8
test al, 1
jne 0x487463
mov dl, al
push fcn.004465e0
or dl, 1
mov byte [0x81a204], dl
call fcn.00673ac4
add esp, 4
fld dword [esp + 0x50]
fadd dword [edi]
fstp dword [0x81a210]
fld dword [esp + 0x54]
fadd dword [edi + 4]
mov eax, dword [0x81a210]
mov dword [esp + 0x250], eax
fstp dword [0x81a214]
fld dword [esp + 0x58]
fadd dword [edi + 8]
mov ecx, dword [0x81a214]
mov dword [esp + 0x254], ecx
fstp dword [0x81a218]
mov edx, dword [0x81a218]
mov dword [ebp + 0x34], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x258], edx
mov dword [ebp + 0x38], ecx
mov ecx, dword [esp + 0xac]
mov dword [ebp + 0x3c], edx
mov edx, dword [esp + 0xb0]
mov dword [ebp + 0x70], eax
mov dword [ebp + 0x74], ecx
mov dword [ebp + 0x78], edx
fld dword [esp + 0x18]
fsub dword [esp + 0xa8]
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fsub dword [esp + 0xac]
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fsub dword [esp + 0xb0]
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 [0x6a37dc]
fnstsw ax
test ah, 0x40
jne 0x487550
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 + 0x31c]
mov dword [esp + 0xd8], eax
mov al, byte [0x81a22c]
test al, 1
fstp st(0)
jne 0x487580
mov dl, al
push fcn.004465e0
or dl, 1
mov byte [0x81a22c], dl
call fcn.00673ac4
add esp, 4
fld dword [esp + 0xd8]
fmul dword [esp + 0x18]
fstp dword [0x81a230]
fld dword [esp + 0x1c]
fmul dword [esp + 0xd8]
mov ecx, dword [0x81a230]
mov dword [esp + 0x220], ecx
fstp dword [0x81a234]
fld dword [esp + 0x20]
fmul dword [esp + 0xd8]
mov edx, dword [0x81a234]
mov dword [esp + 0x224], edx
fstp dword [0x81a238]
mov eax, dword [0x81a238]
mov dword [ebp + 0x4c], ecx
mov dword [esp + 0x228], eax
mov dword [ebp + 0x50], edx
mov dword [ebp + 0x54], eax
jmp 0x4881d6
test eax, eax
je 0x487e68
cmp dword [eax + 0xf8], 0x3f800000
je 0x487e68
lea edi, [esi + 0x88]
add eax, 0xec
mov ecx, edi
mov dword [esp + 0x284], 0
mov dword [esp + 0x280], 0
mov dword [esp + 0x288], 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 + 0x284]
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x280]
mov dword [esp + 0x1d4], edx
mov edx, dword [esp + 0x288]
mov dword [esp + 0x1e8], ecx
lea ecx, [esp + 0x1e4]
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x1ec], edx
call fcn.00446420
lea ecx, [esp + 0x1cc]
call fcn.00446420
lea eax, [esp + 0x1cc]
lea ecx, [esp + 0x1e4]
push eax
push ecx
lea ecx, [esp + 0x2dc]
call fcn.00428d60
lea edx, [esp + 0x1cc]
lea ecx, [esp + 0x1e4]
push edx
call fcn.00428d40
call fcn.00674c60
fstp dword [esp + 0x10]
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x2d4]
push eax
lea edx, [esp + 0x44]
push ecx
push edx
call fcn.0064d306
fld dword [esp + 0x2d4]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
je 0x487730
fld dword [esp + 0x2d8]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
je 0x487730
fld dword [esp + 0x2dc]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
jne 0x48780f
lea eax, [esp + 0x40]
lea ecx, [esp + 0x68]
push eax
push ecx
call fcn.0064cad6
mov al, byte [0x81a24c]
test al, 1
jne 0x487760
mov dl, al
push fcn.004465e0
or dl, 1
mov byte [0x81a24c], dl
call fcn.00673ac4
add esp, 4
fld dword [esp + 0x68]
fmul dword [edi]
fld dword [esp + 0x88]
fmul dword [edi + 8]
faddp st(1)
fld dword [esp + 0x78]
fmul dword [edi + 4]
faddp st(1)
fadd dword [esp + 0x98]
fstp dword [0x81a250]
fld dword [esp + 0x6c]
fmul dword [edi]
fld dword [esp + 0x8c]
fmul dword [edi + 8]
mov edx, dword [0x81a250]
mov dword [esp + 0x1fc], edx
mov dword [esp + 0x5c], edx
faddp st(1)
fld dword [esp + 0x7c]
fmul dword [edi + 4]
faddp st(1)
fadd dword [esp + 0x9c]
fstp dword [0x81a254]
fld dword [esp + 0x70]
fmul dword [edi]
fld dword [esp + 0x90]
fmul dword [edi + 8]
mov eax, dword [0x81a254]
mov dword [esp + 0x200], eax
mov dword [esp + 0x60], eax
faddp st(1)
fld dword [esp + 0x80]
fmul dword [edi + 4]
faddp st(1)
fadd dword [esp + 0xa0]
fstp dword [0x81a258]
mov ecx, dword [0x81a258]
mov dword [esp + 0x204], ecx
mov dword [esp + 0x64], ecx
jmp 0x48784a
fld dword [esp + 0x4c]
fcomp dword [0x6a3a64]
fnstsw ax
test ah, 0x40
jne 0x48784a
fld dword [esp + 0x5c]
fmul dword [0x6a3ca0]
fstp dword [esp + 0x5c]
fld dword [esp + 0x60]
fmul dword [0x6a3ca0]
fstp dword [esp + 0x60]
fld dword [esp + 0x64]
fmul dword [0x6a3ca0]
fstp dword [esp + 0x64]
mov edx, dword [esi + 0x34]
lea ebx, [ebp + 0x4c]
fld dword [edx + 0xf8]
fmul dword [ebp + 0x8c]
fstp dword [ebp + 0x8c]
mov eax, dword [esi + 0x34]
fld dword [eax + 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 + 0x4cc]
test al, al
je 0x48794c
mov eax, dword [esi + 0x4c0]
test eax, eax
je 0x48794c
add eax, 0x3c
mov ecx, dword [eax]
mov dword [esp + 0x128], ecx
mov ecx, dword [edi]
fld dword [esp + 0x128]
fmul dword [esi + 0x2d0]
mov edx, dword [eax + 4]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x12c], edx
mov edx, dword [edi + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x60], edx
fstp dword [esp + 0x134]
fld dword [esp + 0x12c]
fmul dword [esi + 0x2d4]
mov dword [esp + 0x130], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x64], eax
fstp dword [esp + 0x138]
fld dword [esp + 0x130]
fmul dword [esi + 0x2d8]
fstp dword [esp + 0x13c]
fld dword [esp + 0x128]
fmul dword [esi + 0x2c4]
fstp dword [esp + 0xdc]
fld dword [esp + 0x12c]
fmul dword [esi + 0x2c8]
fstp dword [esp + 0xe0]
fld dword [esp + 0x130]
fmul dword [esi + 0x2cc]
fstp dword [esp + 0xe4]
jmp 0x487a96
mov ecx, dword [esi + 0x34]
mov al, byte [0x81a22c]
test al, 1
mov edx, dword [ecx + 0xf8]
mov dword [esp + 0xe8], edx
jne 0x48797d
mov dl, al
push fcn.004465e0
or dl, 1
mov byte [0x81a22c], dl
call fcn.00673ac4
add esp, 4
fld dword [esp + 0xe8]
fmul dword [esi + 0x2d0]
fstp dword [0x81a230]
fld dword [esp + 0xe8]
fmul dword [esi + 0x2d4]
mov eax, dword [0x81a230]
mov dword [esp + 0x168], eax
mov dword [esp + 0x134], eax
fstp dword [0x81a234]
fld dword [esp + 0xe8]
fmul dword [esi + 0x2d8]
mov ecx, dword [0x81a234]
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x138], ecx
fstp dword [0x81a238]
mov eax, dword [esi + 0x34]
mov edx, dword [0x81a238]
mov dword [esp + 0x170], edx
mov dword [esp + 0x13c], edx
mov ecx, dword [eax + 0xf8]
mov al, byte [0x81a22c]
test al, 1
mov dword [esp + 0xec], ecx
jne 0x487a22
mov dl, al
push fcn.004465e0
or dl, 1
mov byte [0x81a22c], dl
call fcn.00673ac4
add esp, 4
fld dword [esp + 0xec]
fmul dword [esi + 0x2c4]
fstp dword [0x81a230]
fld dword [esp + 0xec]
fmul dword [esi + 0x2c8]
mov edx, dword [0x81a230]
mov dword [esp + 0x174], edx
mov dword [esp + 0xdc], edx
fstp dword [0x81a234]
fld dword [esp + 0xec]
fmul dword [esi + 0x2cc]
mov eax, dword [0x81a234]
mov dword [esp + 0x178], eax
mov dword [esp + 0xe0], eax
fstp dword [0x81a238]
mov ecx, dword [0x81a238]
mov dword [esp + 0x17c], ecx
mov dword [esp + 0xe4], ecx
call fcn.0067466f
cdq
mov ecx, 0x64
idiv ecx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x6a3b60]
fld dword [esp + 0x13c]
fsub dword [esp + 0xe4]
fmulp st(1)
fadd dword [esp + 0xe4]
fstp dword [esp + 0x24]
call fcn.0067466f
cdq
mov ecx, 0x64
idiv ecx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x6a3b60]
fld dword [esp + 0x138]
fsub dword [esp + 0xe0]
fmulp st(1)
fadd dword [esp + 0xe0]
fstp dword [esp + 0x14]
call fcn.0067466f
cdq
mov ecx, 0x64
mov dword [esp + 0x18c], 0
idiv ecx
mov eax, dword [esp + 0x24]
mov ecx, dword [ebp + 0x40]
mov dword [esp + 0xbc], eax
mov eax, dword [ebp + 0x48]
mov dword [esp + 0x1a4], ecx
mov ecx, dword [esp + 0x18c]
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0x3f800000
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x194]
mov dword [esp + 0x1b4], ecx
lea ecx, [esp + 0x1b4]
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
fild dword [esp + 0x10]
mov dword [esp + 0xb8], edx
mov edx, dword [ebp + 0x44]
mov dword [esp + 0x1a8], edx
mov edx, dword [esp + 0x190]
fmul dword [0x6a3b60]
fld dword [esp + 0x134]
fsub dword [esp + 0xdc]
mov dword [esp + 0x1b8], edx
fmulp st(1)
fadd dword [esp + 0xdc]
fstp dword [esp + 0xb4]
call fcn.00446420
lea ecx, [esp + 0x1a4]
call fcn.00446420
lea ecx, [esp + 0x1a4]
lea edx, [esp + 0x1b4]
push ecx
push edx
lea ecx, [esp + 0x2ac]
call fcn.00428d60
lea eax, [esp + 0x1a4]
lea ecx, [esp + 0x1b4]
push eax
call fcn.00428d40
call fcn.00674c60
fstp dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x2a4]
push ecx
lea eax, [esp + 0x44]
push edx
push eax
call fcn.0064d306
fld dword [esp + 0x2a4]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
je 0x487c62
fld dword [esp + 0x2a8]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
je 0x487c62
fld dword [esp + 0x2ac]
fcomp dword [0x6a37dc]
fnstsw ax
test ah, 0x40
jne 0x487d4b
lea ecx, [esp + 0x40]
lea edx, [esp + 0x68]
push ecx
push edx
call fcn.0064cad6
mov al, byte [0x81a23c]
test al, 1
jne 0x487c92
mov dl, al
push fcn.004465e0
or dl, 1
mov byte [0x81a23c], dl
call fcn.00673ac4
add esp, 4
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xb4]
push eax
push ecx
push edx
mov ecx, 0x81a240
call fcn.0041d0b0
fld dword [esp + 0x88]
fmul dword [0x81a248]
fld dword [esp + 0x78]
fmul dword [0x81a244]
faddp st(1)
fld dword [esp + 0x68]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0x98]
fstp dword [esp + 0xb4]
fld dword [esp + 0x8c]
fmul dword [0x81a248]
fld dword [esp + 0x7c]
fmul dword [0x81a244]
faddp st(1)
fld dword [esp + 0x6c]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0x9c]
fstp dword [esp + 0xb8]
fld dword [esp + 0x90]
fmul dword [0x81a248]
fld dword [esp + 0x80]
fmul dword [0x81a244]
faddp st(1)
fld dword [esp + 0x70]
fmul dword [0x81a240]
faddp st(1)
fadd dword [esp + 0xa0]
jmp 0x487d91
fld dword [esp + 0x4c]
fcomp dword [0x6a3a64]
fnstsw ax
test ah, 0x40
jne 0x487d98
fld dword [esp + 0xb4]
fmul dword [0x6a3ca0]
fstp dword [esp + 0xb4]
fld dword [esp + 0xb8]
fmul dword [0x6a3ca0]
fstp dword [esp + 0xb8]
fld dword [esp + 0xbc]
fmul dword [0x6a3ca0]
fstp dword [esp + 0xbc]
mov edi, dword [esi + 0x34]
mov al, byte [0x81a204]
add edi, 0xc8
test al, 1
jne 0x487dc2
mov dl, al
push fcn.004465e0
or dl, 1
mov byte [0x81a204], dl
call fcn.00673ac4
add esp, 4
fld dword [esp + 0x5c]
fadd dword [edi]
fstp dword [0x81a210]
fld dword [esp + 0x60]
fadd dword [edi + 4]
mov eax, dword [0x81a210]
fstp dword [0x81a214]
fld dword [esp + 0x64]
fadd dword [edi + 8]
mov ecx, dword [0x81a214]
mov dword [esp + 0x2f8], eax
lea eax, [esp + 0x2f8]
mov dword [esp + 0x2fc], ecx
push eax
lea ecx, [ebp + 0x34]
fstp dword [0x81a218]
mov edx, dword [0x81a218]
mov dword [esp + 0x304], edx
call fcn.0041ea40
lea ecx, [esp + 0xb4]
push ecx
lea ecx, [ebp + 0x70]
call fcn.0041ea40
lea edx, [esp + 0xb4]
lea ecx, [esp + 0x18]
push edx
call fcn.00488de0
lea ecx, [esp + 0x18]
call fcn.00446420
mov eax, dword [esi + 0x31c]
lea ecx, [esp + 0x308]
push eax
push ecx
lea ecx, [esp + 0x20]
call fcn.0041d510
push eax
mov ecx, ebx
jmp 0x4881d1
lea edi, [esi + 0x88]
add eax, 0xec
mov edx, edi
mov ecx, dword [edx]
mov dword [esp + 0x150], ecx
mov ecx, dword [edx + 4]
mov dword [esp + 0x154], ecx
lea ecx, [esp + 0x40]
mov edx, dword [edx + 8]
push ecx
sub esp, 0xc
mov dword [esp + 0x168], 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 + 0x348]
mov dword [edx + 8], eax
call fcn.004651d0
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.00488760
test al, al
je 0x487f13
lea ecx, [esp + 0x40]
lea edx, [esp + 0x68]
push ecx
push edx
call fcn.0064cad6
lea eax, [esp + 0x68]
lea ecx, [esp + 0x344]
push eax
push ecx
mov ecx, edi
call fcn.0041d0d0
push eax
lea ecx, [esp + 0x154]
call fcn.0041ea40
jmp 0x487f35
fld dword [esp + 0x4c]
fcomp dword [0x6a3a64]
fnstsw ax
test ah, 0x40
jne 0x487f35
push 0xbf800000
lea ecx, [esp + 0x154]
call fcn.00488dc0
lea edx, [esi + 0x2d0]
lea ecx, [esp + 0xf8]
push edx
call fcn.0041ea40
lea eax, [esi + 0x2c4]
lea ecx, [esp + 0xc0]
push eax
call fcn.0041ea40
mov al, byte [esi + 0x4cc]
test al, al
je 0x488022
mov eax, dword [esi + 0x4c0]
test eax, eax
je 0x488022
fld dword [esp + 0xf8]
add eax, 0x3c
push edi
mov ecx, dword [eax]
mov dword [esp + 0x108], ecx
lea ecx, [esp + 0x154]
fmul dword [esp + 0x108]
mov edx, dword [eax + 4]
mov dword [esp + 0x10c], edx
mov eax, dword [eax + 8]
fstp dword [esp + 0xfc]
fld dword [esp + 0x100]
fmul dword [esp + 0x10c]
mov dword [esp + 0x110], eax
fstp dword [esp + 0x100]
fld dword [esp + 0x104]
fmul dword [esp + 0x110]
fstp dword [esp + 0x104]
fld dword [esp + 0xc4]
fmul dword [esp + 0x108]
fstp dword [esp + 0xc4]
fld dword [esp + 0xc8]
fmul dword [esp + 0x10c]
fstp dword [esp + 0xc8]
fld dword [esp + 0xcc]
fmul dword [esp + 0x110]
fstp dword [esp + 0xcc]
call fcn.0041ea40
call fcn.0067466f
cdq
mov ecx, 0x64
idiv ecx
push ecx
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul dword [0x6a3b60]
fld dword [esp + 0x104]
fsub dword [esp + 0xcc]
fmulp st(1)
fadd dword [esp + 0xcc]
fstp dword [esp]
call fcn.0067466f
cdq
mov ecx, 0x64
idiv ecx
push ecx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fmul dword [0x6a3b60]
fld dword [esp + 0x104]
fsub dword [esp + 0xcc]
fmulp st(1)
fadd dword [esp + 0xcc]
fstp dword [esp]
call fcn.0067466f
cdq
mov ecx, 0x64
idiv ecx
push ecx
lea ecx, [esp + 0x2c8]
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fmul dword [0x6a3b60]
fld dword [esp + 0x104]
fsub dword [esp + 0xcc]
fmulp st(1)
fadd dword [esp + 0xcc]
fstp dword [esp]
call fcn.0041d0b0
mov ecx, dword [ebp + 0x40]
lea edx, [esp + 0x40]
push edx
mov edx, dword [ebp + 0x44]
sub esp, 0xc
mov eax, esp
push 0x3f800000
push 0
mov dword [eax], ecx
mov ecx, dword [ebp + 0x48]
push 0
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
lea ecx, [esp + 0x33c]
call fcn.004651d0
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.00488760
test al, al
je 0x488142
lea ecx, [esp + 0x40]
lea edx, [esp + 0x68]
push ecx
push edx
call fcn.0064cad6
lea eax, [esp + 0x68]
lea ecx, [esp + 0x2bc]
push eax
call fcn.0043a0c0
jmp 0x488164
fld dword [esp + 0x4c]
fcomp dword [0x6a3a64]
fnstsw ax
test ah, 0x40
jne 0x488164
push 0xbf800000
lea ecx, [esp + 0x2c0]
call fcn.00488dc0
lea ecx, [esp + 0x150]
lea edx, [esp + 0x338]
push ecx
mov ecx, dword [esi + 0x34]
push edx
add ecx, 0xc8
call fcn.00428230
push eax
lea ecx, [ebp + 0x34]
call fcn.0041ea40
lea eax, [esp + 0x2bc]
lea ecx, [ebp + 0x70]
push eax
call fcn.0041ea40
lea ecx, [esp + 0x2bc]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00488de0
lea ecx, [esp + 0x18]
call fcn.00446420
mov edx, dword [esi + 0x31c]
lea eax, [esp + 0x314]
push edx
push eax
lea ecx, [esp + 0x20]
call fcn.0041d510
push eax
lea ecx, [ebp + 0x4c]
call fcn.0041ea40
mov edi, dword [esp + 0x1b0]
lea ecx, [esi + 0x29c]
lea eax, [edi + 8]
push eax
call fcn.004888c0
lea ecx, [esp + 0x304]
push edi
push ecx
lea ecx, [esi + 0x2a8]
call fcn.005a80a0
mov eax, dword [esp + 0x140]
mov ecx, dword [esi + 0x2bc]
inc eax
cmp eax, ecx
mov dword [esp + 0x140], eax
jl 0x4865a5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x340
ret
mov eax, dword [ecx + 0x2a4]
mov edx, dword [ecx + 0x288]
cmp eax, edx
jg 0x48825a
mov eax, dword [ecx + 0x2dc]
cmp eax, 1
jne 0x488250
jmp 0x484980
cmp eax, 2
jne 0x48825a
jmp 0x486580
ret