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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x270
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov eax, dword [edi + 8]
lea ecx, [eax + 0x80918]
call fcn.0046f4f8
mov ecx, eax
call fcn.004741a6
fstp dword [esp + 0x14]
fld1
sub esp, 0xc
fstp dword [esp + 8]
lea eax, [esp + 0x1f4]
fld dword [esp + 0x20]
fst dword [esp + 4]
fstp dword [esp]
push eax
call fcn.00480011
fldz
mov eax, dword [edi + 8]
fst dword [esp + 0x6c]
fst dword [esp + 0x68]
add esp, 0x10
fst dword [esp + 0x54]
push 2
fst dword [esp + 0x54]
push 2
fst dword [esp + 0x54]
push 0
fst dword [esp + 0x54]
lea ecx, [eax + 0x80918]
fst dword [esp + 0x50]
fst dword [esp + 0x4c]
fst dword [esp + 0x48]
fst dword [esp + 0x44]
fst dword [esp + 0x40]
fst dword [esp + 0x3c]
fst dword [esp + 0x38]
fst dword [esp + 0x34]
fst dword [esp + 0x30]
fstp dword [esp + 0x2c]
call fcn.0046f4f8
mov ecx, eax
call fcn.00475f32
fldz
mov edx, dword [edi + 0x1500]
mov edx, dword [edx + 0x5c]
push 0xffffffffffffffff
sub esp, 8
lea ecx, [edi + 0x1500]
fst dword [esp + 4]
lea eax, [esp + 0x1f4]
fstp dword [esp]
push eax
call edx
fldz
sub esp, 0xc
fst dword [esp + 8]
fld dword [esp + 0x20]
lea eax, [esp + 0x1a4]
fmul qword [0x6d0100]
fstp dword [esp + 0xa0]
fld dword [esp + 0xa0]
fstp dword [esp + 4]
fstp dword [esp]
push eax
call fcn.0047ffaa
add esp, 0x10
push eax
lea ecx, [esp + 0x24]
call fcn.0040a520
fldz
mov ebx, dword [edi + 0x1628]
push 0xffffffffffffffff
sub esp, 8
lea esi, [edi + 0x1628]
fst dword [esp + 4]
fstp dword [esp]
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x1a8]
push edx
lea ecx, [esp + 0x1fc]
call fcn.0040f290
push eax
mov eax, dword [ebx + 0x5c]
mov ecx, esi
call eax
lea ecx, [esp + 0x1e8]
push ecx
lea esi, [edi + 0x1f90]
push esi
call fcn.0044f5d0
lea edx, [esp + 0x1e8]
push edx
push esi
call fcn.0044f8a0
mov ecx, dword [edi + 0x1fac]
sub ecx, dword [edi + 0x1fa8]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
xor esi, esi
add eax, edx
mov dword [esp + 0x84], esi
test eax, eax
jle 0x44c6db
lea edx, [edi + 0x2f96ac]
mov dword [esp + 0x1e0], edx
lea ecx, [edi + 0x3770]
lea eax, [edi + 0x2f9b50]
lea edx, [edi + 0x334c]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x1e4], edx
jmp 0x44a610
mov ecx, dword [esp + 0x60]
mov esi, dword [esp + 0x84]
mov eax, dword [edi + 0x2fc7f0]
lea edx, [esi + eax*8 + 1]
mov eax, esi
mov dword [esp + 0x94], edx
cdq
and edx, 3
add eax, edx
sar eax, 2
and esi, 0x80000003
mov dword [esp + 0x68], eax
fild dword [esp + 0x68]
fmul qword [0x6d00f8]
fst qword [esp + 0x270]
fstp dword [esp + 0x22c]
fld dword [esp + 0x22c]
fstp dword [esp + 0x1c]
jns 0x44a660
dec esi
or esi, 0xfffffffc
inc esi
mov dword [esp + 0x68], esi
fild dword [esp + 0x68]
movzx esi, byte [ecx]
mov eax, dword [ecx + 0x54f84]
mov edx, dword [ecx + 0x54f88]
fmul qword [0x6d00f0]
mov ebp, dword [ecx + 0x54f80]
neg esi
mov dword [esp + 0x78], eax
fst qword [esp + 0x230]
mov eax, dword [ecx + 0x54f8c]
fstp dword [esp + 0x68]
sbb esi, esi
fld dword [esp + 0x68]
mov dword [esp + 0x1dc], edx
fstp dword [esp + 0x70]
mov edx, dword [ecx + 0x54f90]
fldz
mov dword [esp + 0x7c], eax
fst dword [esp + 0xd4]
mov eax, dword [ecx + 0x54f94]
fst dword [esp + 0xd0]
mov ecx, dword [ecx + 0x4b4e4]
fst dword [esp + 0xcc]
and esi, 0x7f000000
fst dword [esp + 0xc8]
add esi, 0x80ffffff
fst dword [esp + 0xc4]
mov dword [esp + 0x74], edx
fst dword [esp + 0xc0]
mov dword [esp + 0x6c], eax
fst dword [esp + 0xbc]
mov dword [esp + 0x10], ecx
fst dword [esp + 0xb8]
fst dword [esp + 0xb4]
fst dword [esp + 0xb0]
fst dword [esp + 0xac]
fst dword [esp + 0xa8]
fst dword [esp + 0xa4]
fst dword [esp + 0xa0]
fst dword [esp + 0x9c]
fst dword [esp + 0x98]
fst dword [esp + 0x114]
fst dword [esp + 0x110]
fst dword [esp + 0x10c]
fst dword [esp + 0x108]
fst dword [esp + 0x104]
fst dword [esp + 0x100]
fst dword [esp + 0xfc]
fst dword [esp + 0xf8]
fst dword [esp + 0xf4]
fst dword [esp + 0xf0]
fst dword [esp + 0xec]
fst dword [esp + 0xe8]
fst dword [esp + 0xe4]
fst dword [esp + 0xe0]
fst dword [esp + 0xdc]
fst dword [esp + 0xd8]
fst dword [esp + 0x154]
fst dword [esp + 0x150]
fst dword [esp + 0x14c]
fst dword [esp + 0x148]
fst dword [esp + 0x144]
fst dword [esp + 0x140]
fst dword [esp + 0x13c]
fst dword [esp + 0x138]
fst dword [esp + 0x134]
fst dword [esp + 0x130]
fst dword [esp + 0x12c]
fst dword [esp + 0x128]
fst dword [esp + 0x124]
fst dword [esp + 0x120]
fst dword [esp + 0x11c]
fst dword [esp + 0x118]
fst dword [esp + 0x194]
fst dword [esp + 0x190]
fst dword [esp + 0x18c]
fst dword [esp + 0x188]
fst dword [esp + 0x184]
fst dword [esp + 0x180]
fst dword [esp + 0x17c]
fst dword [esp + 0x178]
mov dword [esp + 0x18], 0
fst dword [esp + 0x174]
lea ebx, [esp + 0xa0]
fst dword [esp + 0x170]
fst dword [esp + 0x16c]
fst dword [esp + 0x168]
fst dword [esp + 0x164]
fst dword [esp + 0x160]
fst dword [esp + 0x15c]
fst dword [esp + 0x158]
fld dword [esp + 0x70]
fadd qword [0x6d00e8]
fmul dword [esp + 0x14]
fstp dword [esp + 0x64]
fld dword [esp + 0x1c]
fadd qword [0x6d00e0]
fstp qword [esp + 0x88]
lea ecx, [ecx]
sub esp, 0xc
fstp dword [esp + 8]
lea edx, [esp + 0x1a4]
fld dword [esp + 0x70]
fstp dword [esp + 4]
fild dword [esp + 0x24]
fmul qword [0x6d00d8]
fadd qword [esp + 0x94]
fmul dword [esp + 0x20]
fstp dword [esp + 0x8c]
fld dword [esp + 0x8c]
fstp dword [esp]
push edx
call fcn.0047ffaa
fld dword [eax]
fstp dword [ebx - 8]
add esp, 0x10
fld dword [eax + 4]
add ebx, 0x40
fstp dword [ebx - 0x44]
fld dword [eax + 8]
fstp dword [ebx - 0x40]
fld dword [eax + 0xc]
fstp dword [ebx - 0x3c]
fld dword [eax + 0x10]
fstp dword [ebx - 0x38]
fld dword [eax + 0x14]
fstp dword [ebx - 0x34]
fld dword [eax + 0x18]
fstp dword [ebx - 0x30]
fld dword [eax + 0x1c]
fstp dword [ebx - 0x2c]
fld dword [eax + 0x20]
fstp dword [ebx - 0x28]
fld dword [eax + 0x24]
fstp dword [ebx - 0x24]
fld dword [eax + 0x28]
fstp dword [ebx - 0x20]
fld dword [eax + 0x2c]
fstp dword [ebx - 0x1c]
fld dword [eax + 0x30]
fstp dword [ebx - 0x18]
fld dword [eax + 0x34]
fstp dword [ebx - 0x14]
fld dword [eax + 0x38]
fstp dword [ebx - 0x10]
fld dword [eax + 0x3c]
mov eax, dword [esp + 0x18]
fstp dword [ebx - 0xc]
inc eax
fldz
mov dword [esp + 0x18], eax
cmp eax, 4
jb 0x44a8d0
mov eax, dword [esp + 0x60]
push esi
sub esp, 8
cmp byte [eax], 0
fst dword [esp + 4]
fstp dword [esp]
je 0x44ab0b
mov eax, 0x10624dd3
imul ebp
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov ecx, 0xa
idiv ecx
lea eax, [esp + 0x1a4]
lea ecx, [esp + 0x1f4]
lea ebx, [edi + 0x3014]
mov dword [esp + 0x24c], edx
lea edx, [esp + 0xa4]
push edx
push eax
call fcn.0040f290
mov ecx, dword [esp + 0x24c]
push eax
xor eax, eax
push eax
push ecx
mov ecx, ebx
call fcn.004c3f68
fldz
mov eax, 0x51eb851f
imul ebp
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov ecx, 0xa
idiv ecx
push esi
sub esp, 8
lea eax, [esp + 0x1a4]
lea ecx, [esp + 0x1f4]
fst dword [esp + 4]
mov dword [esp + 0x248], 0
fstp dword [esp]
mov dword [esp + 0x244], edx
lea edx, [esp + 0xe4]
push edx
push eax
call fcn.0040f290
mov ecx, dword [esp + 0x248]
mov edx, dword [esp + 0x244]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.004c3f68
fldz
mov eax, 0x66666667
imul ebp
sar edx, 2
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov eax, ebx
cdq
mov ecx, 0xa
idiv ecx
push esi
sub esp, 8
lea eax, [esp + 0x1a4]
lea ecx, [esp + 0x1f4]
fst dword [esp + 4]
fstp dword [esp]
mov dword [esp + 0x26c], edx
lea edx, [esp + 0x124]
push edx
push eax
call fcn.0040f290
mov ecx, dword [esp + 0x26c]
push eax
xor eax, eax
push eax
push ecx
lea ecx, [edi + 0x3014]
call fcn.004c3f68
fldz
push esi
sub esp, 8
fst dword [esp + 4]
lea eax, [esp + 0x164]
fstp dword [esp]
lea edx, [ebx + ebx*4]
push eax
lea ecx, [esp + 0x1a8]
add edx, edx
push ecx
lea ecx, [esp + 0x1fc]
sub ebp, edx
xor ebx, ebx
call fcn.0040f290
push eax
push ebx
push ebp
lea ecx, [edi + 0x3014]
call fcn.004c3f68
jmp 0x44abd4
mov ebp, dword [edi + 0x3024]
lea edx, [esp + 0xa4]
push edx
lea eax, [esp + 0x1a8]
lea ebx, [edi + 0x3024]
push eax
lea ecx, [esp + 0x1fc]
call fcn.0040f290
mov edx, dword [ebp + 0x5c]
push eax
mov ecx, ebx
call edx
fldz
mov ebp, dword [ebx]
push esi
sub esp, 8
fst dword [esp + 4]
lea eax, [esp + 0xe4]
fstp dword [esp]
push eax
lea ecx, [esp + 0x1a8]
push ecx
lea ecx, [esp + 0x1fc]
call fcn.0040f290
mov edx, dword [ebp + 0x5c]
push eax
mov ecx, ebx
call edx
fldz
mov ebp, dword [ebx]
push esi
sub esp, 8
fst dword [esp + 4]
lea eax, [esp + 0x124]
fstp dword [esp]
push eax
lea ecx, [esp + 0x1a8]
push ecx
lea ecx, [esp + 0x1fc]
call fcn.0040f290
mov edx, dword [ebp + 0x5c]
push eax
mov ecx, ebx
call edx
fldz
mov ebp, dword [ebx]
push esi
sub esp, 8
fst dword [esp + 4]
lea eax, [esp + 0x164]
fstp dword [esp]
push eax
lea ecx, [esp + 0x1a8]
push ecx
lea ecx, [esp + 0x1fc]
call fcn.0040f290
mov edx, dword [ebp + 0x5c]
push eax
mov ecx, ebx
call edx
fldz
sub esp, 0xc
fstp dword [esp + 8]
lea eax, [esp + 0x1a4]
fld dword [esp + 0x70]
fstp dword [esp + 4]
fld dword [esp + 0x28]
fadd qword [0x6d00d0]
fmul dword [esp + 0x20]
fstp dword [esp + 0x8c]
fld dword [esp + 0x8c]
fstp dword [esp]
push eax
call fcn.0047ffaa
fld dword [eax]
fstp dword [esp + 0x30]
mov ebp, dword [edi + 0x30b8]
fld dword [eax + 4]
add esp, 0x10
fstp dword [esp + 0x24]
push esi
fld dword [eax + 8]
sub esp, 8
fstp dword [esp + 0x34]
lea ecx, [esp + 0x2c]
fld dword [eax + 0xc]
lea edx, [esp + 0x1a4]
fstp dword [esp + 0x38]
lea ebx, [edi + 0x30b8]
fld dword [eax + 0x10]
fstp dword [esp + 0x3c]
fld dword [eax + 0x14]
fstp dword [esp + 0x40]
fld dword [eax + 0x18]
fstp dword [esp + 0x44]
fld dword [eax + 0x1c]
fstp dword [esp + 0x48]
fld dword [eax + 0x20]
fstp dword [esp + 0x4c]
fld dword [eax + 0x24]
fstp dword [esp + 0x50]
fld dword [eax + 0x28]
fstp dword [esp + 0x54]
fld dword [eax + 0x2c]
fstp dword [esp + 0x58]
fld dword [eax + 0x30]
fstp dword [esp + 0x5c]
fld dword [eax + 0x34]
fstp dword [esp + 0x60]
fld dword [eax + 0x38]
fstp dword [esp + 0x64]
fld dword [eax + 0x3c]
fstp dword [esp + 0x68]
fldz
fst dword [esp + 4]
fstp dword [esp]
push ecx
push edx
lea ecx, [esp + 0x1fc]
call fcn.0040f290
push eax
mov eax, dword [ebp + 0x5c]
mov ecx, ebx
call eax
fldz
fst dword [esp + 0xd4]
fst dword [esp + 0xd0]
fst dword [esp + 0xcc]
fst dword [esp + 0xc8]
fst dword [esp + 0xc4]
fst dword [esp + 0xc0]
fst dword [esp + 0xbc]
fst dword [esp + 0xb8]
fst dword [esp + 0xb4]
fst dword [esp + 0xb0]
fst dword [esp + 0xac]
fst dword [esp + 0xa8]
fst dword [esp + 0xa4]
fst dword [esp + 0xa0]
fst dword [esp + 0x9c]
fst dword [esp + 0x98]
fst dword [esp + 0x114]
xor ebp, ebp
fst dword [esp + 0x110]
mov dword [esp + 0x18], ebp
fst dword [esp + 0x10c]
lea ebx, [esp + 0xa0]
fst dword [esp + 0x108]
fst dword [esp + 0x104]
fst dword [esp + 0x100]
fst dword [esp + 0xfc]
fst dword [esp + 0xf8]
fst dword [esp + 0xf4]
fst dword [esp + 0xf0]
fst dword [esp + 0xec]
fst dword [esp + 0xe8]
fst dword [esp + 0xe4]
fst dword [esp + 0xe0]
fst dword [esp + 0xdc]
fst dword [esp + 0xd8]
fld dword [esp + 0x1c]
fadd qword [0x6d00c8]
fstp qword [esp + 0x88]
lea ecx, [ecx]
sub esp, 0xc
fstp dword [esp + 8]
lea ecx, [esp + 0x1a4]
fld dword [esp + 0x70]
fstp dword [esp + 4]
fild dword [esp + 0x24]
fmul qword [0x6d00d8]
fadd qword [esp + 0x94]
fmul dword [esp + 0x20]
fstp dword [esp + 0x8c]
fld dword [esp + 0x8c]
fstp dword [esp]
push ecx
call fcn.0047ffaa
fld dword [eax]
fstp dword [ebx - 8]
inc ebp
fld dword [eax + 4]
add esp, 0x10
fstp dword [ebx - 4]
add ebx, 0x40
fld dword [eax + 8]
mov dword [esp + 0x18], ebp
fstp dword [ebx - 0x40]
fld dword [eax + 0xc]
fstp dword [ebx - 0x3c]
fld dword [eax + 0x10]
fstp dword [ebx - 0x38]
fld dword [eax + 0x14]
fstp dword [ebx - 0x34]
fld dword [eax + 0x18]
fstp dword [ebx - 0x30]
fld dword [eax + 0x1c]
fstp dword [ebx - 0x2c]
fld dword [eax + 0x20]
fstp dword [ebx - 0x28]
fld dword [eax + 0x24]
fstp dword [ebx - 0x24]
fld dword [eax + 0x28]
fstp dword [ebx - 0x20]
fld dword [eax + 0x2c]
fstp dword [ebx - 0x1c]
fld dword [eax + 0x30]
fstp dword [ebx - 0x18]
fld dword [eax + 0x34]
fstp dword [ebx - 0x14]
fld dword [eax + 0x38]
fstp dword [ebx - 0x10]
fld dword [eax + 0x3c]
fstp dword [ebx - 0xc]
fldz
cmp ebp, 2
jb 0x44adc0
mov edx, dword [esp + 0x60]
push esi
sub esp, 8
cmp byte [edx], 0
fst dword [esp + 4]
fstp dword [esp]
je 0x44af2d
mov ebp, dword [esp + 0x84]
mov eax, 0x66666667
imul ebp
sar edx, 2
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov eax, ebx
cdq
mov ecx, 0xa
idiv ecx
lea eax, [esp + 0x1a4]
lea ecx, [esp + 0x1f4]
mov dword [esp + 0x254], edx
lea edx, [esp + 0xa4]
push edx
push eax
call fcn.0040f290
mov ecx, dword [esp + 0x254]
push eax
xor eax, eax
push eax
push ecx
lea ecx, [edi + 0x3014]
call fcn.004c3f68
fldz
push esi
sub esp, 8
fst dword [esp + 4]
lea eax, [esp + 0xe4]
fstp dword [esp]
lea edx, [ebx + ebx*4]
push eax
lea ecx, [esp + 0x1a8]
add edx, edx
push ecx
lea ecx, [esp + 0x1fc]
sub ebp, edx
xor ebx, ebx
call fcn.0040f290
push eax
push ebx
push ebp
lea ecx, [edi + 0x3014]
call fcn.004c3f68
jmp 0x44af90
mov ebp, dword [edi + 0x3024]
lea edx, [esp + 0xa4]
push edx
lea eax, [esp + 0x1a8]
lea ebx, [edi + 0x3024]
push eax
lea ecx, [esp + 0x1fc]
call fcn.0040f290
mov edx, dword [ebp + 0x5c]
push eax
mov ecx, ebx
call edx
fldz
mov ebp, dword [ebx]
push esi
sub esp, 8
fst dword [esp + 4]
lea eax, [esp + 0xe4]
fstp dword [esp]
push eax
lea ecx, [esp + 0x1a8]
push ecx
lea ecx, [esp + 0x1fc]
call fcn.0040f290
mov edx, dword [ebp + 0x5c]
push eax
mov ecx, ebx
call edx
fldz
sub esp, 0xc
fstp dword [esp + 8]
lea eax, [esp + 0x1a4]
fld dword [esp + 0x70]
fstp dword [esp + 4]
fld dword [esp + 0x28]
fadd qword [0x6d00c0]
fmul dword [esp + 0x20]
fstp dword [esp + 0x84]
fld dword [esp + 0x84]
fstp dword [esp]
push eax
call fcn.0047ffaa
fld dword [eax]
fstp dword [esp + 0x30]
mov ebp, dword [edi + 0x30b8]
fld dword [eax + 4]
add esp, 0x10
fstp dword [esp + 0x24]
push esi
fld dword [eax + 8]
sub esp, 8
fstp dword [esp + 0x34]
lea ecx, [esp + 0x2c]
fld dword [eax + 0xc]
lea edx, [esp + 0x1a4]
fstp dword [esp + 0x38]
lea ebx, [edi + 0x30b8]
fld dword [eax + 0x10]
fstp dword [esp + 0x3c]
fld dword [eax + 0x14]
fstp dword [esp + 0x40]
fld dword [eax + 0x18]
fstp dword [esp + 0x44]
fld dword [eax + 0x1c]
fstp dword [esp + 0x48]
fld dword [eax + 0x20]
fstp dword [esp + 0x4c]
fld dword [eax + 0x24]
fstp dword [esp + 0x50]
fld dword [eax + 0x28]
fstp dword [esp + 0x54]
fld dword [eax + 0x2c]
fstp dword [esp + 0x58]
fld dword [eax + 0x30]
fstp dword [esp + 0x5c]
fld dword [eax + 0x34]
fstp dword [esp + 0x60]
fld dword [eax + 0x38]
fstp dword [esp + 0x64]
fld dword [eax + 0x3c]
fstp dword [esp + 0x68]
fldz
fst dword [esp + 4]
fstp dword [esp]
push ecx
push edx
lea ecx, [esp + 0x1fc]
call fcn.0040f290
push eax
mov eax, dword [ebp + 0x5c]
mov ecx, ebx
call eax
fldz
fst dword [esp + 0xd4]
fst dword [esp + 0xd0]
fst dword [esp + 0xcc]
fst dword [esp + 0xc8]
fst dword [esp + 0xc4]
fst dword [esp + 0xc0]
fst dword [esp + 0xbc]
fst dword [esp + 0xb8]
fst dword [esp + 0xb4]
fst dword [esp + 0xb0]
fst dword [esp + 0xac]
fst dword [esp + 0xa8]
fst dword [esp + 0xa4]
fst dword [esp + 0xa0]
fst dword [esp + 0x9c]
fst dword [esp + 0x98]
fst dword [esp + 0x114]
xor ebp, ebp
fst dword [esp + 0x110]
mov dword [esp + 0x18], ebp
fst dword [esp + 0x10c]
lea ebx, [esp + 0xa0]
fst dword [esp + 0x108]
fst dword [esp + 0x104]
fst dword [esp + 0x100]
fst dword [esp + 0xfc]
fst dword [esp + 0xf8]
fst dword [esp + 0xf4]
fst dword [esp + 0xf0]
fst dword [esp + 0xec]
fst dword [esp + 0xe8]
fst dword [esp + 0xe4]
fst dword [esp + 0xe0]
fst dword [esp + 0xdc]
fst dword [esp + 0xd8]
fld dword [esp + 0x1c]
fadd qword [0x6d00b8]
fstp qword [esp + 0x88]
lea esp, [esp]
sub esp, 0xc
fstp dword [esp + 8]
lea ecx, [esp + 0x1a4]
fld dword [esp + 0x70]
fstp dword [esp + 4]
fild dword [esp + 0x24]
fmul qword [0x6d00d8]
fadd qword [esp + 0x94]
fmul dword [esp + 0x20]
fstp dword [esp + 0x84]
fld dword [esp + 0x84]
fstp dword [esp]
push ecx
call fcn.0047ffaa
fld dword [eax]
fstp dword [ebx - 8]
inc ebp
fld dword [eax + 4]
add esp, 0x10
fstp dword [ebx - 4]
add ebx, 0x40
fld dword [eax + 8]
mov dword [esp + 0x18], ebp
fstp dword [ebx - 0x40]
fld dword [eax + 0xc]
fstp dword [ebx - 0x3c]
fld dword [eax + 0x10]
fstp dword [ebx - 0x38]
fld dword [eax + 0x14]
fstp dword [ebx - 0x34]
fld dword [eax + 0x18]
fstp dword [ebx - 0x30]
fld dword [eax + 0x1c]
fstp dword [ebx - 0x2c]
fld dword [eax + 0x20]
fstp dword [ebx - 0x28]
fld dword [eax + 0x24]
fstp dword [ebx - 0x24]
fld dword [eax + 0x28]
fstp dword [ebx - 0x20]
fld dword [eax + 0x2c]
fstp dword [ebx - 0x1c]
fld dword [eax + 0x30]
fstp dword [ebx - 0x18]
fld dword [eax + 0x34]
fstp dword [ebx - 0x14]
fld dword [eax + 0x38]
fstp dword [ebx - 0x10]
fld dword [eax + 0x3c]
fstp dword [ebx - 0xc]
fldz
cmp ebp, 2
jb 0x44b180
mov edx, dword [esp + 0x60]
push esi
sub esp, 8
cmp byte [edx], 0
fst dword [esp + 4]
fstp dword [esp]
je 0x44b2ed
mov ebp, dword [esp + 0x1e8]
mov eax, 0x66666667
imul ebp
sar edx, 2
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov eax, ebx
cdq
mov ecx, 0xa
idiv ecx
lea eax, [esp + 0x1a4]
lea ecx, [esp + 0x1f4]
mov dword [esp + 0x264], edx
lea edx, [esp + 0xa4]
push edx
push eax
call fcn.0040f290
mov ecx, dword [esp + 0x264]
push eax
xor eax, eax
push eax
push ecx
lea ecx, [edi + 0x3014]
call fcn.004c3f68
fldz
push esi
sub esp, 8
fst dword [esp + 4]
lea eax, [esp + 0xe4]
fstp dword [esp]
lea edx, [ebx + ebx*4]
push eax
lea ecx, [esp + 0x1a8]
add edx, edx
push ecx
lea ecx, [esp + 0x1fc]
sub ebp, edx
xor ebx, ebx
call fcn.0040f290
push eax
push ebx
push ebp
lea ecx, [edi + 0x3014]
call fcn.004c3f68
jmp 0x44b350
mov ebp, dword [edi + 0x3024]
lea edx, [esp + 0xa4]
push edx
lea eax, [esp + 0x1a8]
lea ebx, [edi + 0x3024]
push eax
lea ecx, [esp + 0x1fc]
call fcn.0040f290
mov edx, dword [ebp + 0x5c]
push eax
mov ecx, ebx
call edx
fldz
mov ebp, dword [ebx]
push esi
sub esp, 8
fst dword [esp + 4]
lea eax, [esp + 0xe4]
fstp dword [esp]
push eax
lea ecx, [esp + 0x1a8]
push ecx
lea ecx, [esp + 0x1fc]
call fcn.0040f290
mov edx, dword [ebp + 0x5c]
push eax
mov ecx, ebx
call edx
fldz
xor ebp, ebp
fst dword [esp + 0xd4]
mov dword [esp + 0x18], ebp
fst dword [esp + 0xd0]
lea ebx, [esp + 0xa0]
fst dword [esp + 0xcc]
fst dword [esp + 0xc8]
fst dword [esp + 0xc4]
fst dword [esp + 0xc0]
fst dword [esp + 0xbc]
fst dword [esp + 0xb8]
fst dword [esp + 0xb4]
fst dword [esp + 0xb0]
fst dword [esp + 0xac]
fst dword [esp + 0xa8]
fst dword [esp + 0xa4]
fst dword [esp + 0xa0]
fst dword [esp + 0x9c]
fst dword [esp + 0x98]
fst dword [esp + 0x114]
fst dword [esp + 0x110]
fst dword [esp + 0x10c]
fst dword [esp + 0x108]
fst dword [esp + 0x104]
fst dword [esp + 0x100]
fst dword [esp + 0xfc]
fst dword [esp + 0xf8]
fst dword [esp + 0xf4]
fst dword [esp + 0xf0]
fst dword [esp + 0xec]
fst dword [esp + 0xe8]
fst dword [esp + 0xe4]
fst dword [esp + 0xe0]
fst dword [esp + 0xdc]
fst dword [esp + 0xd8]
fld dword [esp + 0x1c]
fadd qword [0x6d00b0]
fstp qword [esp + 0x88]
sub esp, 0xc
fstp dword [esp + 8]
lea eax, [esp + 0x1a4]
fld dword [esp + 0x70]
fstp dword [esp + 4]
fild dword [esp + 0x24]
fmul qword [0x6d00d8]
fadd qword [esp + 0x94]
fmul dword [esp + 0x20]
fstp dword [esp + 0x1e8]
fld dword [esp + 0x1e8]
fstp dword [esp]
push eax
call fcn.0047ffaa
fld dword [eax]
fstp dword [ebx - 8]
inc ebp
fld dword [eax + 4]
add esp, 0x10
fstp dword [ebx - 4]
add ebx, 0x40
fld dword [eax + 8]
mov dword [esp + 0x18], ebp
fstp dword [ebx - 0x40]
fld dword [eax + 0xc]
fstp dword [ebx - 0x3c]
fld dword [eax + 0x10]
fstp dword [ebx - 0x38]
fld dword [eax + 0x14]
fstp dword [ebx - 0x34]
fld dword [eax + 0x18]
fstp dword [ebx - 0x30]
fld dword [eax + 0x1c]
fstp dword [ebx - 0x2c]
fld dword [eax + 0x20]
fstp dword [ebx - 0x28]
fld dword [eax + 0x24]
fstp dword [ebx - 0x24]
fld dword [eax + 0x28]
fstp dword [ebx - 0x20]
fld dword [eax + 0x2c]
fstp dword [ebx - 0x1c]
fld dword [eax + 0x30]
fstp dword [ebx - 0x18]
fld dword [eax + 0x34]
fstp dword [ebx - 0x14]
fld dword [eax + 0x38]
fstp dword [ebx - 0x10]
fld dword [eax + 0x3c]
fstp dword [ebx - 0xc]
fldz
cmp ebp, 2
jb 0x44b450
mov ecx, dword [esp + 0x60]
push esi
sub esp, 8
cmp byte [ecx], 0
fst dword [esp + 4]
fstp dword [esp]
je 0x44b5bd
mov ebp, dword [esp + 0x88]
mov eax, 0x66666667
imul ebp
sar edx, 2
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov eax, ebx
cdq
mov ecx, 0xa
idiv ecx
lea eax, [esp + 0x1a4]
lea ecx, [esp + 0x1f4]
mov dword [esp + 0x274], edx
lea edx, [esp + 0xa4]
push edx
push eax
call fcn.0040f290
mov ecx, dword [esp + 0x274]
push eax
xor eax, eax
push eax
push ecx
lea ecx, [edi + 0x3014]
call fcn.004c3f68
fldz
push esi
sub esp, 8
fst dword [esp + 4]
lea eax, [esp + 0xe4]
fstp dword [esp]
lea edx, [ebx + ebx*4]
push eax
lea ecx, [esp + 0x1a8]
add edx, edx
push ecx
lea ecx, [esp + 0x1fc]
sub ebp, edx
xor ebx, ebx
call fcn.0040f290
push eax
push ebx
push ebp
lea ecx, [edi + 0x3014]
call fcn.004c3f68
jmp 0x44b620
mov ebp, dword [edi + 0x3024]
lea edx, [esp + 0xa4]
push edx
lea eax, [esp + 0x1a8]
lea ebx, [edi + 0x3024]
push eax
lea ecx, [esp + 0x1fc]
call fcn.0040f290
mov edx, dword [ebp + 0x5c]
push eax
mov ecx, ebx
call edx
fldz
mov ebp, dword [ebx]
push esi
sub esp, 8
fst dword [esp + 4]
lea eax, [esp + 0xe4]
fstp dword [esp]
push eax
lea ecx, [esp + 0x1a8]
push ecx
lea ecx, [esp + 0x1fc]
call fcn.0040f290
mov edx, dword [ebp + 0x5c]
push eax
mov ecx, ebx
call edx
fldz
sub esp, 0xc
fstp dword [esp + 8]
lea eax, [esp + 0x1a4]
fld dword [esp + 0x70]
fstp dword [esp + 4]
fld dword [esp + 0x28]
fadd qword [0x6d00a8]
fmul dword [esp + 0x20]
fstp dword [esp + 0x88]
fld dword [esp + 0x88]
fstp dword [esp]
push eax
call fcn.0047ffaa
fld dword [eax]
fstp dword [esp + 0x30]
mov ebp, dword [edi + 0x314c]
fld dword [eax + 4]
add esp, 0x10
fstp dword [esp + 0x24]
push esi
fld dword [eax + 8]
sub esp, 8
fstp dword [esp + 0x34]
lea ecx, [esp + 0x2c]
fld dword [eax + 0xc]
lea edx, [esp + 0x1a4]
fstp dword [esp + 0x38]
lea ebx, [edi + 0x314c]
fld dword [eax + 0x10]
fstp dword [esp + 0x3c]
fld dword [eax + 0x14]
fstp dword [esp + 0x40]
fld dword [eax + 0x18]
fstp dword [esp + 0x44]
fld dword [eax + 0x1c]
fstp dword [esp + 0x48]
fld dword [eax + 0x20]
fstp dword [esp + 0x4c]
fld dword [eax + 0x24]
fstp dword [esp + 0x50]
fld dword [eax + 0x28]
fstp dword [esp + 0x54]
fld dword [eax + 0x2c]
fstp dword [esp + 0x58]
fld dword [eax + 0x30]
fstp dword [esp + 0x5c]
fld dword [eax + 0x34]
fstp dword [esp + 0x60]
fld dword [eax + 0x38]
fstp dword [esp + 0x64]
fld dword [eax + 0x3c]
fstp dword [esp + 0x68]
fldz
fst dword [esp + 4]
fstp dword [esp]
push ecx
push edx
lea ecx, [esp + 0x1fc]
call fcn.0040f290
push eax
mov eax, dword [ebp + 0x5c]
mov ecx, ebx
call eax
fldz
fst dword [esp + 0xd4]
fst dword [esp + 0xd0]
fst dword [esp + 0xcc]
fst dword [esp + 0xc8]
fst dword [esp + 0xc4]
fst dword [esp + 0xc0]
fst dword [esp + 0xbc]
fst dword [esp + 0xb8]
fst dword [esp + 0xb4]
fst dword [esp + 0xb0]
fst dword [esp + 0xac]
fst dword [esp + 0xa8]
fst dword [esp + 0xa4]
fst dword [esp + 0xa0]
fst dword [esp + 0x9c]
fst dword [esp + 0x98]
fst dword [esp + 0x114]
xor ebp, ebp
fst dword [esp + 0x110]
mov dword [esp + 0x18], ebp
fst dword [esp + 0x10c]
lea ebx, [esp + 0xa0]
fst dword [esp + 0x108]
fst dword [esp + 0x104]
fst dword [esp + 0x100]
fst dword [esp + 0xfc]
fst dword [esp + 0xf8]
fst dword [esp + 0xf4]
fst dword [esp + 0xf0]
fst dword [esp + 0xec]
fst dword [esp + 0xe8]
fst dword [esp + 0xe4]
fst dword [esp + 0xe0]
fst dword [esp + 0xdc]
fst dword [esp + 0xd8]
fld dword [esp + 0x1c]
fadd qword [0x6d00a0]
fstp qword [esp + 0x88]
lea esp, [esp]
sub esp, 0xc
fstp dword [esp + 8]
lea ecx, [esp + 0x1a4]
fld dword [esp + 0x70]
fstp dword [esp + 4]
fild dword [esp + 0x24]
fmul qword [0x6d00d8]
fadd qword [esp + 0x94]
fmul dword [esp + 0x20]
fstp dword [esp + 0x88]
fld dword [esp + 0x88]
fstp dword [esp]
push ecx
call fcn.0047ffaa
fld dword [eax]
fstp dword [ebx - 8]
inc ebp
fld dword [eax + 4]
add esp, 0x10
fstp dword [ebx - 4]
add ebx, 0x40
fld dword [eax + 8]
mov dword [esp + 0x18], ebp
fstp dword [ebx - 0x40]
fld dword [eax + 0xc]
fstp dword [ebx - 0x3c]
fld dword [eax + 0x10]
fstp dword [ebx - 0x38]
fld dword [eax + 0x14]
fstp dword [ebx - 0x34]
fld dword [eax + 0x18]
fstp dword [ebx - 0x30]
fld dword [eax + 0x1c]
fstp dword [ebx - 0x2c]
fld dword [eax + 0x20]
fstp dword [ebx - 0x28]
fld dword [eax + 0x24]
fstp dword [ebx - 0x24]
fld dword [eax + 0x28]
fstp dword [ebx - 0x20]
fld dword [eax + 0x2c]
fstp dword [ebx - 0x1c]
fld dword [eax + 0x30]
fstp dword [ebx - 0x18]
fld dword [eax + 0x34]
fstp dword [ebx - 0x14]
fld dword [eax + 0x38]
fstp dword [ebx - 0x10]
fld dword [eax + 0x3c]
fstp dword [ebx - 0xc]
fldz
cmp ebp, 2
jb 0x44b810
mov edx, dword [esp + 0x60]
push esi
sub esp, 8
cmp byte [edx], 0
fst dword [esp + 4]
fstp dword [esp]
je 0x44b97d
mov ebp, dword [esp + 0x80]
mov eax, 0x66666667
imul ebp
sar edx, 2
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov eax, ebx
cdq
mov ecx, 0xa
idiv ecx
lea eax, [esp + 0x1a4]
lea ecx, [esp + 0x1f4]
mov dword [esp + 0x284], edx
lea edx, [esp + 0xa4]
push edx
push eax
call fcn.0040f290
mov ecx, dword [esp + 0x284]
push eax
xor eax, eax
push eax
push ecx
lea ecx, [edi + 0x3014]
call fcn.004c3f68
fldz
push esi
sub esp, 8
fst dword [esp + 4]
lea eax, [esp + 0xe4]
fstp dword [esp]
lea edx, [ebx + ebx*4]
push eax
lea ecx, [esp + 0x1a8]
add edx, edx
push ecx
lea ecx, [esp + 0x1fc]
sub ebp, edx
xor ebx, ebx
call fcn.0040f290
push eax
push ebx
push ebp
lea ecx, [edi + 0x3014]
call fcn.004c3f68
jmp 0x44b9e0
mov ebp, dword [edi + 0x3024]
lea edx, [esp + 0xa4]
push edx
lea eax, [esp + 0x1a8]
lea ebx, [edi + 0x3024]
push eax
lea ecx, [esp + 0x1fc]
call fcn.0040f290
mov edx, dword [ebp + 0x5c]
push eax
mov ecx, ebx
call edx
fldz
mov ebp, dword [ebx]
push esi
sub esp, 8
fst dword [esp + 4]
lea eax, [esp + 0xe4]
fstp dword [esp]
push eax
lea ecx, [esp + 0x1a8]
push ecx
lea ecx, [esp + 0x1fc]
call fcn.0040f290
mov edx, dword [ebp + 0x5c]
push eax
mov ecx, ebx
call edx
fldz
sub esp, 0xc
fstp dword [esp + 8]
lea eax, [esp + 0x1a4]
fld dword [esp + 0x70]
fstp dword [esp + 4]
fld dword [esp + 0x28]
fadd qword [0x6d0098]
fmul dword [esp + 0x20]
fstp dword [esp + 0x80]
fld dword [esp + 0x80]
fstp dword [esp]
push eax
call fcn.0047ffaa
fld dword [eax]
fstp dword [esp + 0x30]
mov ebp, dword [edi + 0x314c]
fld dword [eax + 4]
add esp, 0x10
fstp dword [esp + 0x24]
push esi
fld dword [eax + 8]
sub esp, 8
fstp dword [esp + 0x34]
lea ecx, [esp + 0x2c]
fld dword [eax + 0xc]
lea edx, [esp + 0x1a4]
fstp dword [esp + 0x38]
lea ebx, [edi + 0x314c]
fld dword [eax + 0x10]
fstp dword [esp + 0x3c]
fld dword [eax + 0x14]
fstp dword [esp + 0x40]
fld dword [eax + 0x18]
fstp dword [esp + 0x44]
fld dword [eax + 0x1c]
fstp dword [esp + 0x48]
fld dword [eax + 0x20]
fstp dword [esp + 0x4c]
fld dword [eax + 0x24]
fstp dword [esp + 0x50]
fld dword [eax + 0x28]
fstp dword [esp + 0x54]
fld dword [eax + 0x2c]
fstp dword [esp + 0x58]
fld dword [eax + 0x30]
fstp dword [esp + 0x5c]
fld dword [eax + 0x34]
fstp dword [esp + 0x60]
fld dword [eax + 0x38]
fstp dword [esp + 0x64]
fld dword [eax + 0x3c]
fstp dword [esp + 0x68]
fldz
fst dword [esp + 4]
fstp dword [esp]
push ecx
push edx
lea ecx, [esp + 0x1fc]
call fcn.0040f290
push eax
mov eax, dword [ebp + 0x5c]
mov ecx, ebx
call eax
fldz
fst dword [esp + 0xd4]
fst dword [esp + 0xd0]
fst dword [esp + 0xcc]
fst dword [esp + 0xc8]
fst dword [esp + 0xc4]
fst dword [esp + 0xc0]
fst dword [esp + 0xbc]
fst dword [esp + 0xb8]
fst dword [esp + 0xb4]
fst dword [esp + 0xb0]
fst dword [esp + 0xac]
fst dword [esp + 0xa8]
fst dword [esp + 0xa4]
fst dword [esp + 0xa0]
fst dword [esp + 0x9c]
fst dword [esp + 0x98]
fst dword [esp + 0x114]
xor ebp, ebp
fst dword [esp + 0x110]
mov dword [esp + 0x18], ebp
fst dword [esp + 0x10c]
lea ebx, [esp + 0xa0]
fst dword [esp + 0x108]
fst dword [esp + 0x104]
fst dword [esp + 0x100]
fst dword [esp + 0xfc]
fst dword [esp + 0xf8]
fst dword [esp + 0xf4]
fst dword [esp + 0xf0]
fst dword [esp + 0xec]
fst dword [esp + 0xe8]
fst dword [esp + 0xe4]
fst dword [esp + 0xe0]
fst dword [esp + 0xdc]
fst dword [esp + 0xd8]
fld dword [esp + 0x1c]
fadd qword [0x6d0090]
fstp qword [esp + 0x88]
lea esp, [esp]
sub esp, 0xc
fstp dword [esp + 8]
lea ecx, [esp + 0x1a4]
fld dword [esp + 0x70]
fstp dword [esp + 4]
fild dword [esp + 0x24]
fmul qword [0x6d00d8]
fadd qword [esp + 0x94]
fmul dword [esp + 0x20]
fstp dword [esp + 0x80]
fld dword [esp + 0x80]
fstp dword [esp]
push ecx
call fcn.0047ffaa
fld dword [eax]
fstp dword [ebx - 8]
inc ebp
fld dword [eax + 4]
add esp, 0x10
fstp dword [ebx - 4]
add ebx, 0x40
fld dword [eax + 8]
mov dword [esp + 0x18], ebp
fstp dword [ebx - 0x40]
fld dword [eax + 0xc]
fstp dword [ebx - 0x3c]
fld dword [eax + 0x10]
fstp dword [ebx - 0x38]
fld dword [eax + 0x14]
fstp dword [ebx - 0x34]
fld dword [eax + 0x18]
fstp dword [ebx - 0x30]
fld dword [eax + 0x1c]
fstp dword [ebx - 0x2c]
fld dword [eax + 0x20]
fstp dword [ebx - 0x28]
fld dword [eax + 0x24]
fstp dword [ebx - 0x24]
fld dword [eax + 0x28]
fstp dword [ebx - 0x20]
fld dword [eax + 0x2c]
fstp dword [ebx - 0x1c]
fld dword [eax + 0x30]
fstp dword [ebx - 0x18]
fld dword [eax + 0x34]
fstp dword [ebx - 0x14]
fld dword [eax + 0x38]
fstp dword [ebx - 0x10]
fld dword [eax + 0x3c]
fstp dword [ebx - 0xc]
fldz
cmp ebp, 2
jb 0x44bbd0
mov edx, dword [esp + 0x60]
push esi
sub esp, 8
cmp byte [edx], 0
fst dword [esp + 4]
fstp dword [esp]
je 0x44bd3a
mov ebp, dword [esp + 0x78]
mov eax, 0x66666667
imul ebp
sar edx, 2
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov eax, ebx
cdq
mov ecx, 0xa
idiv ecx
lea eax, [esp + 0x1a4]
lea ecx, [esp + 0x1f4]
mov dword [esp + 0x25c], edx
lea edx, [esp + 0xa4]
push edx
push eax
call fcn.0040f290
mov ecx, dword [esp + 0x25c]
push eax
xor eax, eax
push eax
push ecx
lea ecx, [edi + 0x3014]
call fcn.004c3f68
fldz
push esi
sub esp, 8
fst dword [esp + 4]
lea eax, [esp + 0xe4]
fstp dword [esp]
lea edx, [ebx + ebx*4]
push eax
lea ecx, [esp + 0x1a8]
add edx, edx
push ecx
lea ecx, [esp + 0x1fc]
sub ebp, edx
xor ebx, ebx
call fcn.0040f290
push eax
push ebx
push ebp
lea ecx, [edi + 0x3014]
call fcn.004c3f68
jmp 0x44bd9d
mov ebp, dword [edi + 0x3024]
lea edx, [esp + 0xa4]
push edx
lea eax, [esp + 0x1a8]
lea ebx, [edi + 0x3024]
push eax
lea ecx, [esp + 0x1fc]
call fcn.0040f290
mov edx, dword [ebp + 0x5c]
push eax
mov ecx, ebx
call edx
fldz
mov ebp, dword [ebx]
push esi
sub esp, 8
fst dword [esp + 4]
lea eax, [esp + 0xe4]
fstp dword [esp]
push eax
lea ecx, [esp + 0x1a8]
push ecx
lea ecx, [esp + 0x1fc]
call fcn.0040f290
mov edx, dword [ebp + 0x5c]
push eax
mov ecx, ebx
call edx
fldz
mov ebp, dword [esp + 0x60]
sub esp, 0xc
fstp dword [esp + 8]
cmp byte [ebp], 0
fld dword [esp + 0x7c]
fld qword [0x6d0088]
fsub st(1), st(0)
fld dword [esp + 0x20]
fld st(0)
fmulp st(3)
fxch st(2)
je 0x44bea5
fstp dword [esp + 0x78]
lea eax, [esp + 0x1a4]
fld dword [esp + 0x78]
fstp dword [esp + 4]
fsubr dword [esp + 0x28]
fmulp st(1)
fstp dword [esp + 0x78]
fld dword [esp + 0x78]
fstp dword [esp]
push eax
call fcn.0047ffaa
fld dword [eax]
fstp dword [esp + 0x30]
add esp, 0x10
fld dword [eax + 4]
push esi
fstp dword [esp + 0x28]
sub esp, 8
fld dword [eax + 8]
lea ecx, [esp + 0x2c]
fstp dword [esp + 0x34]
lea edx, [esp + 0x1a4]
fld dword [eax + 0xc]
xor ebx, ebx
fstp dword [esp + 0x38]
fld dword [eax + 0x10]
fstp dword [esp + 0x3c]
fld dword [eax + 0x14]
fstp dword [esp + 0x40]
fld dword [eax + 0x18]
fstp dword [esp + 0x44]
fld dword [eax + 0x1c]
fstp dword [esp + 0x48]
fld dword [eax + 0x20]
fstp dword [esp + 0x4c]
fld dword [eax + 0x24]
fstp dword [esp + 0x50]
fld dword [eax + 0x28]
fstp dword [esp + 0x54]
fld dword [eax + 0x2c]
fstp dword [esp + 0x58]
fld dword [eax + 0x30]
fstp dword [esp + 0x5c]
fld dword [eax + 0x34]
fstp dword [esp + 0x60]
fld dword [eax + 0x38]
fstp dword [esp + 0x64]
fld dword [eax + 0x3c]
fstp dword [esp + 0x68]
fldz
fst dword [esp + 4]
fstp dword [esp]
push ecx
push edx
lea ecx, [esp + 0x1fc]
call fcn.0040f290
push eax
mov eax, dword [esp + 0x20]
push eax
push ebx
lea ecx, [edi + 0x3274]
call fcn.004c3f68
jmp 0x44bf7e
fstp dword [esp + 0x1c]
lea ecx, [esp + 0x1a4]
fld dword [esp + 0x1c]
fstp dword [esp + 4]
fsubr dword [esp + 0x28]
fmulp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
push ecx
call fcn.0047ffaa
fld dword [eax]
fstp dword [esp + 0x30]
add esp, 0x10
fld dword [eax + 4]
push esi
fstp dword [esp + 0x28]
sub esp, 8
fld dword [eax + 8]
lea edx, [esp + 0x2c]
fstp dword [esp + 0x34]
xor ebx, ebx
fld dword [eax + 0xc]
lea ecx, [esp + 0x1f4]
fstp dword [esp + 0x38]
lea ebp, [ebx + 6]
fld dword [eax + 0x10]
fstp dword [esp + 0x3c]
fld dword [eax + 0x14]
fstp dword [esp + 0x40]
fld dword [eax + 0x18]
fstp dword [esp + 0x44]
fld dword [eax + 0x1c]
fstp dword [esp + 0x48]
fld dword [eax + 0x20]
fstp dword [esp + 0x4c]
fld dword [eax + 0x24]
fstp dword [esp + 0x50]
fld dword [eax + 0x28]
fstp dword [esp + 0x54]
fld dword [eax + 0x2c]
fstp dword [esp + 0x58]
fld dword [eax + 0x30]
fstp dword [esp + 0x5c]
fld dword [eax + 0x34]
fstp dword [esp + 0x60]
fld dword [eax + 0x38]
fstp dword [esp + 0x64]
fld dword [eax + 0x3c]
lea eax, [esp + 0x1a4]
fstp dword [esp + 0x68]
fldz
fst dword [esp + 4]
fstp dword [esp]
push edx
push eax
call fcn.0040f290
push eax
push ebp
push ebx
lea ecx, [edi + 0x3274]
call fcn.004c3f68
mov ebp, dword [esp + 0x60]
cmp byte [ebp], 0
je 0x44c050
mov ecx, dword [esp + 0x1e4]
mov edx, dword [ecx]
mov eax, dword [edx + 0x64]
call eax
test al, al
je 0x44bfd3
mov ecx, dword [edi + 8]
push 0xc8ffffff
add ecx, 0x80384
call fcn.0046e653
mov ecx, dword [edi + 8]
push 3
add ecx, 0x80384
call fcn.0046e235
mov ecx, dword [edi + 8]
mov edx, dword [ecx + 0x80388]
mov eax, dword [edx + 8]
add ecx, 0x80388
call eax
jmp 0x44c050
mov ebp, dword [esp + 0x1d8]
lea ebx, [ebp - 4]
push 0xff
mov ecx, ebx
call fcn.0046e250
fld qword [esp + 0x270]
fadd qword [0x6d0080]
fld dword [esp + 0x14]
fld st(0)
fmulp st(2)
fxch st(1)
call fcn.0064b350
fld qword [esp + 0x230]
fadd qword [0x6d0078]
mov esi, eax
fmulp st(1)
call fcn.0064b350
mov ecx, dword [edi + 8]
mov ecx, dword [ecx + 0x205c]
cmp ecx, 1
je 0x44c038
cmp ecx, 0xb
je 0x44c038
cmp ecx, 2
je 0x44c038
cmp ecx, 0xc
jne 0x44c039
inc eax
push eax
push esi
mov ecx, ebx
call fcn.0046ea28
mov edx, dword [ebp]
mov eax, dword [edx + 8]
mov ecx, ebp
call eax
mov ebp, dword [esp + 0x60]
fldz
sub esp, 0xc
fstp dword [esp + 8]
lea ecx, [esp + 0x1a4]
fld dword [esp + 0x7c]
fadd qword [0x6d0070]
fld dword [esp + 0x20]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp + 4]
fld dword [esp + 0x28]
fadd qword [0x6d0068]
fmulp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
push ecx
call fcn.0047ffaa
fld dword [eax]
fstp dword [esp + 0x30]
mov esi, dword [esp + 0x1f0]
fld dword [eax + 4]
mov ebx, dword [esi]
fstp dword [esp + 0x34]
add esp, 0x10
fld dword [eax + 8]
push 0xffffffffffffffff
fstp dword [esp + 0x2c]
sub esp, 8
fld dword [eax + 0xc]
lea edx, [esp + 0x2c]
fstp dword [esp + 0x38]
lea ecx, [esp + 0x1f4]
fld dword [eax + 0x10]
fstp dword [esp + 0x3c]
fld dword [eax + 0x14]
fstp dword [esp + 0x40]
fld dword [eax + 0x18]
fstp dword [esp + 0x44]
fld dword [eax + 0x1c]
fstp dword [esp + 0x48]
fld dword [eax + 0x20]
fstp dword [esp + 0x4c]
fld dword [eax + 0x24]
fstp dword [esp + 0x50]
fld dword [eax + 0x28]
fstp dword [esp + 0x54]
fld dword [eax + 0x2c]
fstp dword [esp + 0x58]
fld dword [eax + 0x30]
fstp dword [esp + 0x5c]
fld dword [eax + 0x34]
fstp dword [esp + 0x60]
fld dword [eax + 0x38]
fstp dword [esp + 0x64]
fld dword [eax + 0x3c]
lea eax, [esp + 0x1a4]
fstp dword [esp + 0x68]
fldz
fst dword [esp + 4]
fstp dword [esp]
push edx
push eax
call fcn.0040f290
mov edx, dword [ebx + 0x5c]
push eax
mov ecx, esi
call edx
fld dword [esp + 0x22c]
mov edx, dword [edi + 8]
fstp dword [esp + 0x6c]
mov eax, dword [edx + 0x2f38]
fld dword [esp + 0x68]
mov ecx, dword [edi + 0x2fc7f0]
fstp dword [esp + 0x10]
dec eax
cmp ecx, 0xa
jge 0x44c18d
mov esi, dword [esp + 0x84]
mov edx, dword [edx + 0x2f34]
lea esi, [esi + ecx*8]
dec edx
cmp edx, esi
jne 0x44c18a
cmp byte [ebp], 0
jne 0x44c1aa
cmp ecx, 0xa
jne 0x44c2a4
cmp eax, dword [esp + 0x84]
jne 0x44c2a4
cmp byte [ebp], 0
je 0x44c2a4
fldz
sub esp, 0xc
fstp dword [esp + 8]
lea eax, [esp + 0x1a4]
fld dword [esp + 0x1c]
fadd qword [0x6d0060]
fld dword [esp + 0x20]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp + 4]
fld dword [esp + 0x78]
fadd qword [0x6d0058]
fmulp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
push eax
call fcn.0047ffaa
fld dword [eax]
fstp dword [esp + 0x30]
mov ebx, dword [edi + 0x2db4]
fld dword [eax + 4]
add esp, 0x10
fstp dword [esp + 0x24]
push 0xffffffffffffffff
fld dword [eax + 8]
sub esp, 8
fstp dword [esp + 0x34]
lea ecx, [esp + 0x2c]
fld dword [eax + 0xc]
lea edx, [esp + 0x1a4]
fstp dword [esp + 0x38]
lea esi, [edi + 0x2db4]
fld dword [eax + 0x10]
fstp dword [esp + 0x3c]
fld dword [eax + 0x14]
fstp dword [esp + 0x40]
fld dword [eax + 0x18]
fstp dword [esp + 0x44]
fld dword [eax + 0x1c]
fstp dword [esp + 0x48]
fld dword [eax + 0x20]
fstp dword [esp + 0x4c]
fld dword [eax + 0x24]
fstp dword [esp + 0x50]
fld dword [eax + 0x28]
fstp dword [esp + 0x54]
fld dword [eax + 0x2c]
fstp dword [esp + 0x58]
fld dword [eax + 0x30]
fstp dword [esp + 0x5c]
fld dword [eax + 0x34]
fstp dword [esp + 0x60]
fld dword [eax + 0x38]
fstp dword [esp + 0x64]
fld dword [eax + 0x3c]
fstp dword [esp + 0x68]
fldz
fst dword [esp + 4]
fstp dword [esp]
push ecx
push edx
lea ecx, [esp + 0x1fc]
call fcn.0040f290
push eax
mov eax, dword [ebx + 0x5c]
mov ecx, esi
call eax
fldz
sub esp, 0xc
fstp dword [esp + 8]
lea ecx, [esp + 0x1a4]
fld dword [esp + 0x7c]
fadd qword [0x6d0050]
fld dword [esp + 0x20]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp + 4]
fld dword [esp + 0x28]
fadd qword [0x6d0048]
fmulp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
push ecx
call fcn.0047ffaa
fld dword [eax]
fstp dword [esp + 0x30]
mov ebx, dword [edi + 0x2e48]
fld dword [eax + 4]
add esp, 0x10
fstp dword [esp + 0x24]
push 0xffffffffffffffff
fld dword [eax + 8]
sub esp, 8
fstp dword [esp + 0x34]
lea edx, [esp + 0x2c]
fld dword [eax + 0xc]
lea esi, [edi + 0x2e48]
fstp dword [esp + 0x38]
lea ecx, [esp + 0x1f4]
fld dword [eax + 0x10]
fstp dword [esp + 0x3c]
fld dword [eax + 0x14]
fstp dword [esp + 0x40]
fld dword [eax + 0x18]
fstp dword [esp + 0x44]
fld dword [eax + 0x1c]
fstp dword [esp + 0x48]
fld dword [eax + 0x20]
fstp dword [esp + 0x4c]
fld dword [eax + 0x24]
fstp dword [esp + 0x50]
fld dword [eax + 0x28]
fstp dword [esp + 0x54]
fld dword [eax + 0x2c]
fstp dword [esp + 0x58]
fld dword [eax + 0x30]
fstp dword [esp + 0x5c]
fld dword [eax + 0x34]
fstp dword [esp + 0x60]
fld dword [eax + 0x38]
fstp dword [esp + 0x64]
fld dword [eax + 0x3c]
lea eax, [esp + 0x1a4]
fstp dword [esp + 0x68]
fldz
fst dword [esp + 4]
fstp dword [esp]
push edx
push eax
call fcn.0040f290
mov edx, dword [ebx + 0x5c]
push eax
mov ecx, esi
call edx
fldz
fst dword [esp + 0xd4]
fst dword [esp + 0xd0]
fst dword [esp + 0xcc]
fst dword [esp + 0xc8]
fst dword [esp + 0xc4]
fst dword [esp + 0xc0]
fst dword [esp + 0xbc]
fst dword [esp + 0xb8]
fst dword [esp + 0xb4]
fst dword [esp + 0xb0]
xor ebx, ebx
fst dword [esp + 0xac]
mov dword [esp + 0x68], ebx
fst dword [esp + 0xa8]
lea esi, [esp + 0xa0]
fst dword [esp + 0xa4]
fst dword [esp + 0xa0]
fst dword [esp + 0x9c]
fst dword [esp + 0x98]
fst dword [esp + 0x114]
fst dword [esp + 0x110]
fst dword [esp + 0x10c]
fst dword [esp + 0x108]
fst dword [esp + 0x104]
fst dword [esp + 0x100]
fst dword [esp + 0xfc]
fst dword [esp + 0xf8]
fst dword [esp + 0xf4]
fst dword [esp + 0xf0]
fst dword [esp + 0xec]
fst dword [esp + 0xe8]
fst dword [esp + 0xe4]
fst dword [esp + 0xe0]
fst dword [esp + 0xdc]
fst dword [esp + 0xd8]
fst dword [esp + 0x154]
fst dword [esp + 0x150]
fst dword [esp + 0x14c]
fst dword [esp + 0x148]
fst dword [esp + 0x144]
fst dword [esp + 0x140]
fst dword [esp + 0x13c]
fst dword [esp + 0x138]
fst dword [esp + 0x134]
fst dword [esp + 0x130]
fst dword [esp + 0x12c]
fst dword [esp + 0x128]
fst dword [esp + 0x124]
fst dword [esp + 0x120]
fst dword [esp + 0x11c]
fst dword [esp + 0x118]
fld dword [esp + 0x70]
fadd qword [0x6d0040]
fmul dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [esp + 0x1c]
fadd qword [0x6d0038]
fstp qword [esp + 0x230]
jmp 0x44c524
fldz
sub esp, 0xc
fstp dword [esp + 8]
lea eax, [esp + 0x1a4]
fld dword [esp + 0x1c]
fstp dword [esp + 4]
fild dword [esp + 0x74]
fmul qword [0x6d0030]
fadd qword [esp + 0x23c]
fmul dword [esp + 0x20]
fstp dword [esp + 0x78]
fld dword [esp + 0x78]
fstp dword [esp]
push eax
call fcn.0047ffaa
fld dword [eax]
fstp dword [esi - 8]
inc ebx
fld dword [eax + 4]
add esp, 0x10
fstp dword [esi - 4]
add esi, 0x40
fld dword [eax + 8]
mov dword [esp + 0x68], ebx
fstp dword [esi - 0x40]
fld dword [eax + 0xc]
fstp dword [esi - 0x3c]
fld dword [eax + 0x10]
fstp dword [esi - 0x38]
fld dword [eax + 0x14]
fstp dword [esi - 0x34]
fld dword [eax + 0x18]
fstp dword [esi - 0x30]
fld dword [eax + 0x1c]
fstp dword [esi - 0x2c]
fld dword [eax + 0x20]
fstp dword [esi - 0x28]
fld dword [eax + 0x24]
fstp dword [esi - 0x24]
fld dword [eax + 0x28]
fstp dword [esi - 0x20]
fld dword [eax + 0x2c]
fstp dword [esi - 0x1c]
fld dword [eax + 0x30]
fstp dword [esi - 0x18]
fld dword [eax + 0x34]
fstp dword [esi - 0x14]
fld dword [eax + 0x38]
fstp dword [esi - 0x10]
fld dword [eax + 0x3c]
fstp dword [esi - 0xc]
cmp ebx, 3
jb 0x44c522
cmp dword [edi + 0x2fc7f0], 0xa
mov ebx, dword [esp + 0x94]
jne 0x44c5e6
sub ebx, 0x50
mov eax, 0x66666667
fldz
imul ebx
sar edx, 2
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, esi
cdq
mov ecx, 0xa
idiv ecx
push 0xffffffffffffffff
sub esp, 8
lea eax, [esp + 0x1a4]
lea ecx, [esp + 0x1f4]
fst dword [esp + 4]
fstp dword [esp]
mov ebp, edx
lea edx, [esp + 0xa4]
push edx
push eax
call fcn.0040f290
push eax
xor eax, eax
push eax
push ebp
lea ebp, [edi + 0x2f70]
mov ecx, ebp
call fcn.004c3f68
fldz
push 0xffffffffffffffff
sub esp, 8
fst dword [esp + 4]
lea ecx, [esi + esi*4]
fstp dword [esp]
add ecx, ecx
lea edx, [esp + 0xe4]
push edx
lea eax, [esp + 0x1a8]
sub ebx, ecx
push eax
lea ecx, [esp + 0x1fc]
call fcn.0040f290
push eax
xor eax, eax
push eax
push ebx
mov ecx, ebp
call fcn.004c3f68
mov ecx, dword [edi + 0x1fac]
sub ecx, dword [edi + 0x1fa8]
mov esi, dword [esp + 0x84]
add dword [esp + 0x1e4], 0x84
add dword [esp + 0x1d8], 0x594
add dword [esp + 0x1e0], 0x94
add dword [esp + 0x60], 0x5ebe8
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
inc esi
add ecx, edx
cmp esi, ecx
mov dword [esp + 0x84], esi
jl 0x44a605
lea edx, [esp + 0x1e8]
push edx
lea esi, [edi + 0x2d80]
push esi
call fcn.0044f5d0
lea eax, [esp + 0x1e8]
push eax
push esi
call fcn.0044f8a0
lea ecx, [esp + 0x1e8]
push ecx
lea esi, [edi + 0x2898]
push esi
call fcn.0044f5d0
lea edx, [esp + 0x1e8]
push edx
push esi
call fcn.0044f8a0
lea eax, [edi + 0x10]
lea esi, [esp + 0x1e8]
call fcn.004548e0
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
call edx
fldz
sub esp, 0xc
fst dword [esp + 8]
fst dword [esp + 4]
lea eax, [esp + 0x1a4]
fstp dword [esp]
push eax
call fcn.0047ffaa
fld dword [eax]
fstp dword [esp + 0x30]
mov ebx, dword [edi + 0x1628]
fld dword [eax + 4]
add esp, 0x10
fstp dword [esp + 0x24]
push 0xffffffffffffffff
fld dword [eax + 8]
sub esp, 8
fstp dword [esp + 0x34]
lea ecx, [esp + 0x2c]
fld dword [eax + 0xc]
lea edx, [esp + 0x1a4]
fstp dword [esp + 0x38]
lea esi, [edi + 0x1628]
fld dword [eax + 0x10]
fstp dword [esp + 0x3c]
fld dword [eax + 0x14]
fstp dword [esp + 0x40]
fld dword [eax + 0x18]
fstp dword [esp + 0x44]
fld dword [eax + 0x1c]
fstp dword [esp + 0x48]
fld dword [eax + 0x20]
fstp dword [esp + 0x4c]
fld dword [eax + 0x24]
fstp dword [esp + 0x50]
fld dword [eax + 0x28]
fstp dword [esp + 0x54]
fld dword [eax + 0x2c]
fstp dword [esp + 0x58]
fld dword [eax + 0x30]
fstp dword [esp + 0x5c]
fld dword [eax + 0x34]
fstp dword [esp + 0x60]
fld dword [eax + 0x38]
fstp dword [esp + 0x64]
fld dword [eax + 0x3c]
fstp dword [esp + 0x68]
fldz
fst dword [esp + 4]
fstp dword [esp]
push ecx
push edx
lea ecx, [esp + 0x1fc]
call fcn.0040f290
push eax
mov ecx, esi
mov eax, dword [ebx + 0x5c]
call eax
fldz
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x20]
lea ecx, [esp + 0x1a4]
fld qword [0x6d0028]
fmul st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp + 4]
fmul qword [0x6d0020]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
push ecx
call fcn.0047ffaa
fld dword [eax]
fstp dword [esp + 0x30]
mov ebx, dword [edi + 0x1594]
fld dword [eax + 4]
add esp, 0x10
fstp dword [esp + 0x24]
push 0xffffffffffffffff
fld dword [eax + 8]
sub esp, 8
fstp dword [esp + 0x34]
lea edx, [esp + 0x2c]
fld dword [eax + 0xc]
lea esi, [edi + 0x1594]
fstp dword [esp + 0x38]
lea ecx, [esp + 0x1f4]
fld dword [eax + 0x10]
fstp dword [esp + 0x3c]
fld dword [eax + 0x14]
fstp dword [esp + 0x40]
fld dword [eax + 0x18]
fstp dword [esp + 0x44]
fld dword [eax + 0x1c]
fstp dword [esp + 0x48]
fld dword [eax + 0x20]
fstp dword [esp + 0x4c]
fld dword [eax + 0x24]
fstp dword [esp + 0x50]
fld dword [eax + 0x28]
fstp dword [esp + 0x54]
fld dword [eax + 0x2c]
fstp dword [esp + 0x58]
fld dword [eax + 0x30]
fstp dword [esp + 0x5c]
fld dword [eax + 0x34]
fstp dword [esp + 0x60]
fld dword [eax + 0x38]
fstp dword [esp + 0x64]
fld dword [eax + 0x3c]
lea eax, [esp + 0x1a4]
fstp dword [esp + 0x68]
fldz
fst dword [esp + 4]
fstp dword [esp]
push edx
push eax
call fcn.0040f290
mov edx, dword [ebx + 0x5c]
push eax
mov ecx, esi
call edx
lea eax, [esp + 0x1e8]
push eax
lea esi, [edi + 0x17f4]
push esi
call fcn.0044f5d0
lea ecx, [esp + 0x1e8]
push ecx
push esi
call fcn.0044f8a0
fldz
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x20]
fld qword [0x6d0018]
lea edx, [esp + 0x1a4]
fmul st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp + 4]
fmul qword [0x6cfbb8]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
push edx
call fcn.0047ffaa
fld dword [eax]
fstp dword [esp + 0x30]
mov ebx, dword [edi + 0x2fc7ec]
fld dword [eax + 4]
add esp, 0x10
fstp dword [esp + 0x24]
push 0xffffffffffffffff
fld dword [eax + 8]
sub esp, 8
fstp dword [esp + 0x34]
lea ecx, [esp + 0x1a4]
fld dword [eax + 0xc]
xor esi, esi
fstp dword [esp + 0x38]
fld dword [eax + 0x10]
fstp dword [esp + 0x3c]
fld dword [eax + 0x14]
fstp dword [esp + 0x40]
fld dword [eax + 0x18]
fstp dword [esp + 0x44]
fld dword [eax + 0x1c]
fstp dword [esp + 0x48]
fld dword [eax + 0x20]
fstp dword [esp + 0x4c]
fld dword [eax + 0x24]
fstp dword [esp + 0x50]
fld dword [eax + 0x28]
fstp dword [esp + 0x54]
fld dword [eax + 0x2c]
fstp dword [esp + 0x58]
fld dword [eax + 0x30]
fstp dword [esp + 0x5c]
fld dword [eax + 0x34]
fstp dword [esp + 0x60]
fld dword [eax + 0x38]
fstp dword [esp + 0x64]
fld dword [eax + 0x3c]
lea eax, [esp + 0x2c]
fstp dword [esp + 0x68]
fldz
fst dword [esp + 4]
fstp dword [esp]
push eax
push ecx
lea ecx, [esp + 0x1fc]
call fcn.0040f290
push eax
push ebx
push esi
lea ecx, [edi + 0x1750]
call fcn.004c3f68
mov edx, dword [edi + 8]
cmp dword [edx + 0x2064], 1
jne 0x44caea
fldz
sub esp, 0xc
fst dword [esp + 8]
lea eax, [esp + 0x1a4]
fld dword [esp + 0x20]
fmul qword [0x6cfc50]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp + 4]
fstp dword [esp]
push eax
call fcn.0047ffaa
fld dword [eax]
fstp dword [esp + 0x30]
mov ebx, dword [edi + 0x1760]
fld dword [eax + 4]
add esp, 0x10
fstp dword [esp + 0x24]
push 0xffffffffffffffff
fld dword [eax + 8]
sub esp, 8
fstp dword [esp + 0x34]
lea ecx, [esp + 0x2c]
fld dword [eax + 0xc]
lea edx, [esp + 0x1a4]
fstp dword [esp + 0x38]
lea esi, [edi + 0x1760]
fld dword [eax + 0x10]
fstp dword [esp + 0x3c]
fld dword [eax + 0x14]
fstp dword [esp + 0x40]
fld dword [eax + 0x18]
fstp dword [esp + 0x44]
fld dword [eax + 0x1c]
fstp dword [esp + 0x48]
fld dword [eax + 0x20]
fstp dword [esp + 0x4c]
fld dword [eax + 0x24]
fstp dword [esp + 0x50]
fld dword [eax + 0x28]
fstp dword [esp + 0x54]
fld dword [eax + 0x2c]
fstp dword [esp + 0x58]
fld dword [eax + 0x30]
fstp dword [esp + 0x5c]
fld dword [eax + 0x34]
fstp dword [esp + 0x60]
fld dword [eax + 0x38]
fstp dword [esp + 0x64]
fld dword [eax + 0x3c]
fstp dword [esp + 0x68]
fldz
fst dword [esp + 4]
fstp dword [esp]
push ecx
push edx
lea ecx, [esp + 0x1fc]
call fcn.0040f290
push eax
mov eax, dword [ebx + 0x5c]
mov ecx, esi
call eax
mov edi, dword [edi + 8]
push 1
push 1
push 0
lea ecx, [edi + 0x80918]
call fcn.0046f4f8
mov ecx, eax
call fcn.00475f32
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret