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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x920
push ebx
push ebp
mov ebx, ecx
push esi
mov esi, dword [ebx + 8]
mov eax, dword [esi + 0x13958]
mov dword [esp + 0x7c], eax
fild dword [esp + 0x7c]
mov ecx, dword [esi + 0x1395c]
push edi
fdiv qword [0x6a1590]
sub esp, 0xc
lea edx, [esp + 0x2b4]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x90], ecx
fstp dword [esp + 0x20]
fldz
fstp dword [esp + 8]
fld dword [esp + 0x20]
fst dword [esp + 4]
fstp dword [esp]
push edx
call fcn.00474095
fldz
mov esi, dword [esi + 0xdf480]
fst dword [esp + 0x6c]
fst dword [esp + 0x68]
add esp, 0x10
fst dword [esp + 0x54]
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]
fst dword [esp + 0x2c]
fst dword [esp + 0x28]
fst dword [esp + 0x24]
fst dword [esp + 0x20]
fst dword [esp + 0x19c]
fst dword [esp + 0x198]
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]
fst dword [esp + 0x174]
fst dword [esp + 0x170]
fst dword [esp + 0x16c]
fst dword [esp + 0x168]
fst dword [esp + 0x164]
fstp dword [esp + 0x160]
test esi, esi
je 0x418bb3
mov ecx, dword [esi + 0xc]
jmp 0x418bb5
xor ecx, ecx
push 2
push 2
xor edi, edi
call fcn.00470a87
fldz
mov eax, dword [ebx + 0x155c]
mov eax, dword [eax + 0x5c]
push 0xffffffffffffffff
sub esp, 8
lea ecx, [ebx + 0x155c]
fst dword [esp + 4]
lea edx, [esp + 0x2b4]
fstp dword [esp]
push edx
call eax
fldz
sub esp, 0xc
fst dword [esp + 8]
fld dword [0x6a2388]
lea ecx, [esp + 0x37c]
fstp dword [esp + 4]
fstp dword [esp]
push ecx
call fcn.0047402e
add esp, 0x10
lea ecx, [esp + 0x20]
call fcn.00404580
fldz
mov edi, dword [ebx + 0x15f0]
push 0xffffffffffffffff
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x2c]
fstp dword [esp]
push edx
lea esi, [ebx + 0x15f0]
lea eax, [esp + 0x380]
lea edx, [esp + 0x2b8]
call fcn.004044d0
push eax
mov eax, dword [edi + 0x5c]
mov ecx, esi
call eax
lea eax, [ebx + 0x6acfb0]
call fcn.00446c90
push 0xffffffffffffffff
lea ecx, [esp + 0x2ac]
push ecx
lea edx, [ebx + 0x6ab9bc]
push edx
call fcn.00443990
fldz
mov eax, dword [ebx + 0x6aced0]
mov edx, dword [eax + 4]
lea ecx, [ebx + 0x6aced0]
sub esp, 8
fst dword [esp + 4]
fstp dword [esp]
call edx
mov dword [esp + 0x74], eax
fild dword [esp + 0x74]
push ecx
lea eax, [esp + 0x37c]
fmul dword [esp + 0x20]
fstp dword [esp + 0x78]
fld dword [esp + 0x78]
fstp dword [esp]
push eax
call fcn.0047402e
add esp, 0x10
lea ecx, [esp + 0x160]
call fcn.00404580
lea ebp, [ebx + 0x6aba88]
mov dword [esp + 0x7c], 9
lea ecx, [esp + 0x160]
push ecx
lea eax, [esp + 0x374]
lea edx, [esp + 0x2ac]
call fcn.004044d0
mov edx, dword [ebp]
sub esp, 0x40
mov esi, eax
mov eax, dword [edx + 0x48]
mov edi, esp
mov ecx, 0x10
rep movsd dword es:[edi], dword [esi]
push 0xffffffffffffffff
mov ecx, ebp
call eax
add ebp, 0x78
sub dword [esp + 0x7c], 1
jne 0x418cd0
push 0xffffffffffffffff
lea ecx, [esp + 0x164]
push ecx
lea eax, [esp + 0x378]
lea edx, [esp + 0x2b0]
call fcn.004044d0
push eax
lea edx, [ebx + 0x6ac7f0]
push edx
call fcn.00443990
fld1
mov eax, dword [ebx + 0x6abedc]
sub eax, dword [ebx + 0x6abed8]
lea edi, [ebx + 0x6abecc]
xor esi, esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x1a4], edi
test eax, 0xffffff80
jle 0x41b258
lea ecx, [ebx + 0x6ac3b8]
fstp st(0)
lea edx, [ebx + 0x6aae0c]
add ebx, 0x56744
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x94], ebx
mov ebx, esi
call fcn.0041c2c0
mov ebp, dword [eax + 0x78]
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x74], eax
lea eax, [eax + eax*2]
mov ecx, esi
sub ecx, eax
mov dword [esp + 0x6c], ecx
mov edi, dword [esp + 0x60]
mov ebx, dword [edi + 0x6abef8]
fild dword [esp + 0x6c]
push 0xffffffffffffffff
sub esp, 8
lea edx, [esp + 0x16c]
fmul qword [0x6a2380]
lea eax, [esp + 0x2c]
shl ebp, 0x18
add edi, 0x6abef8
fstp dword [esp + 0x28]
or ebp, 0xffffff
fild dword [esp + 0x80]
fmul qword [0x6a1a88]
fstp dword [esp + 0x70]
fld dword [esp + 0x28]
fadd qword [0x6a17d8]
fld dword [esp + 0x20]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x72c]
fld dword [esp + 0x70]
fadd qword [0x6a2378]
fmulp st(1)
fstp dword [esp + 0x730]
fld1
fst dword [esp + 0x2c]
fldz
fst dword [esp + 0x30]
fst dword [esp + 0x34]
fst dword [esp + 0x38]
fst dword [esp + 0x3c]
fst dword [esp + 0x44]
fst dword [esp + 0x48]
fst dword [esp + 0x4c]
fst dword [esp + 0x50]
fst dword [esp + 0x58]
fxch st(1)
fst dword [esp + 0x40]
fst dword [esp + 0x54]
fld dword [esp + 0x72c]
fstp dword [esp + 0x5c]
fld dword [esp + 0x730]
fstp dword [esp + 0x60]
fxch st(1)
fst dword [esp + 0x64]
fxch st(1)
fstp dword [esp + 0x68]
fst dword [esp + 4]
fstp dword [esp]
push edx
push eax
lea eax, [esp + 0xac]
lea edx, [esp + 0x2bc]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0x300]
call fcn.004044d0
mov edx, dword [ebx + 0x5c]
push eax
mov ecx, edi
call edx
fld dword [esp + 0x1c]
fadd qword [0x6a2370]
fld dword [esp + 0x14]
fld st(0)
fmulp st(2)
fxch st(1)
mov edi, dword [esp + 0x60]
fstp dword [esp + 0x3e0]
mov ebx, dword [edi + 0x6abf8c]
fld dword [esp + 0x64]
push 0xffffffffffffffff
fadd qword [0x6a2368]
sub esp, 8
lea eax, [esp + 0x16c]
lea ecx, [esp + 0x2c]
fmulp st(1)
add edi, 0x6abf8c
lea edx, [esp + 0x2b4]
fstp dword [esp + 0x3f0]
fld1
fst dword [esp + 0x2c]
fldz
fst dword [esp + 0x30]
fst dword [esp + 0x34]
fst dword [esp + 0x38]
fst dword [esp + 0x3c]
fst dword [esp + 0x44]
fst dword [esp + 0x48]
fst dword [esp + 0x4c]
fst dword [esp + 0x50]
fst dword [esp + 0x58]
fxch st(1)
fst dword [esp + 0x40]
fst dword [esp + 0x54]
fld dword [esp + 0x3ec]
fstp dword [esp + 0x5c]
fld dword [esp + 0x3f0]
fstp dword [esp + 0x60]
fxch st(1)
fst dword [esp + 0x64]
fxch st(1)
fstp dword [esp + 0x68]
fst dword [esp + 4]
fstp dword [esp]
push eax
push ecx
lea eax, [esp + 0x304]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0xa8]
call fcn.004044d0
mov edx, dword [ebx + 0x5c]
push eax
mov ecx, edi
call edx
fldz
mov eax, dword [esp + 0x94]
fst dword [esp + 0x1e4]
fst dword [esp + 0x1e0]
fst dword [esp + 0x1dc]
fst dword [esp + 0x1d8]
fst dword [esp + 0x1d4]
fst dword [esp + 0x1d0]
fst dword [esp + 0x1cc]
fst dword [esp + 0x1c8]
fst dword [esp + 0x1c4]
fst dword [esp + 0x1c0]
fst dword [esp + 0x1bc]
fst dword [esp + 0x1b8]
fst dword [esp + 0x1b4]
fst dword [esp + 0x1b0]
fst dword [esp + 0x1ac]
fst dword [esp + 0x1a8]
fst dword [esp + 0x224]
fst dword [esp + 0x220]
fst dword [esp + 0x21c]
fst dword [esp + 0x218]
fst dword [esp + 0x214]
fst dword [esp + 0x210]
fst dword [esp + 0x20c]
fst dword [esp + 0x208]
fst dword [esp + 0x204]
fst dword [esp + 0x200]
fst dword [esp + 0x1fc]
fst dword [esp + 0x1f8]
fst dword [esp + 0x1f4]
cmp byte [eax - 0x54f84], 0
fst dword [esp + 0x1f0]
fst dword [esp + 0x1ec]
fst dword [esp + 0x1e8]
fst dword [esp + 0x264]
fst dword [esp + 0x260]
fst dword [esp + 0x25c]
fst dword [esp + 0x258]
fst dword [esp + 0x254]
fst dword [esp + 0x250]
fst dword [esp + 0x24c]
fst dword [esp + 0x248]
fst dword [esp + 0x244]
fst dword [esp + 0x240]
fst dword [esp + 0x23c]
fst dword [esp + 0x238]
fst dword [esp + 0x234]
fst dword [esp + 0x230]
fst dword [esp + 0x22c]
fst dword [esp + 0x228]
je 0x41a7d6
fst dword [esp + 0x2a4]
mov ecx, dword [eax]
fst dword [esp + 0x2a0]
mov edx, dword [eax + 4]
fst dword [esp + 0x29c]
mov ebx, dword [eax - 4]
fst dword [esp + 0x298]
mov dword [esp + 0x88], ecx
fst dword [esp + 0x294]
mov ecx, dword [eax + 8]
fst dword [esp + 0x290]
mov dword [esp + 0x90], edx
fst dword [esp + 0x28c]
mov edx, dword [eax + 0xc]
fst dword [esp + 0x288]
mov eax, dword [eax - 0x5dc4]
fst dword [esp + 0x284]
mov dword [esp + 0x74], ecx
fst dword [esp + 0x280]
xor ecx, ecx
fst dword [esp + 0x27c]
mov dword [esp + 0x70], eax
fst dword [esp + 0x278]
mov dword [esp + 0x6c], edx
fst dword [esp + 0x274]
mov dword [esp + 0x18], ecx
fst dword [esp + 0x270]
lea eax, [esp + 0x1b0]
fst dword [esp + 0x26c]
fst dword [esp + 0x268]
fld dword [esp + 0x1c]
fadd qword [0x6a2360]
fld dword [esp + 0x64]
fadd qword [0x6a2358]
fld dword [esp + 0x14]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x78]
fld dword [esp + 0x78]
fstp dword [esp + 0x7a4]
fld dword [esp + 0x7a4]
fld1
fld qword [0x6a2350]
jmp 0x4191de
fxch st(1)
fild dword [esp + 0x18]
inc ecx
add eax, 0x40
mov dword [esp + 0x18], ecx
fmul st(1)
fadd st(5)
fmul st(4)
fstp dword [esp + 0x7a0]
fxch st(1)
fst dword [eax - 0x48]
fst dword [eax - 0x34]
fst dword [eax - 0x20]
fxch st(5)
fst dword [eax - 0x44]
fst dword [eax - 0x40]
fst dword [eax - 0x3c]
fst dword [eax - 0x38]
fst dword [eax - 0x30]
fst dword [eax - 0x2c]
fst dword [eax - 0x28]
fst dword [eax - 0x24]
fst dword [eax - 0x1c]
fld dword [esp + 0x7a0]
fstp dword [eax - 0x18]
fxch st(2)
fst dword [eax - 0x14]
fxch st(2)
fst dword [eax - 0x10]
fxch st(5)
fst dword [eax - 0xc]
cmp ecx, 4
jb 0x4191dc
mov eax, 0x10624dd3
fstp st(0)
imul ebx
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(0)
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov ecx, 0xa
idiv ecx
mov esi, dword [esp + 0x60]
xor eax, eax
push eax
lea eax, [esp + 0x1ac]
add esi, 0x6ac270
push edx
push ebp
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x174]
fstp dword [esp]
push edx
push eax
lea eax, [esp + 0x30c]
lea edx, [esp + 0x2c4]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0xb0]
call fcn.004044d0
push eax
mov eax, esi
call fcn.0046d870
fldz
mov eax, 0x51eb851f
imul ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov ecx, 0xa
idiv ecx
xor eax, eax
push eax
lea eax, [esp + 0x1ec]
push edx
push ebp
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x174]
fstp dword [esp]
push edx
push eax
lea eax, [esp + 0x30c]
lea edx, [esp + 0x2c4]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0xb0]
call fcn.004044d0
push eax
mov eax, esi
call fcn.0046d870
mov eax, 0x66666667
imul ebx
sar edx, 2
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, edi
cdq
mov ecx, 0xa
idiv ecx
xor eax, eax
push eax
push edx
push ebp
sub esp, 8
fldz
lea edx, [esp + 0x174]
fst dword [esp + 4]
lea eax, [esp + 0x23c]
fstp dword [esp]
push edx
push eax
lea eax, [esp + 0x30c]
lea edx, [esp + 0x2c4]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0xb0]
call fcn.004044d0
push eax
mov eax, esi
call fcn.0046d870
fldz
xor eax, eax
push eax
lea ecx, [edi + edi*4]
add ecx, ecx
sub ebx, ecx
push ebx
push ebp
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x174]
fstp dword [esp]
push edx
lea eax, [esp + 0x280]
push eax
lea eax, [esp + 0x30c]
lea edx, [esp + 0x2c4]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0xb0]
call fcn.004044d0
push eax
mov eax, esi
call fcn.0046d870
fld dword [esp + 0x1c]
fadd qword [0x6a2348]
mov ebx, dword [esp + 0x60]
fld dword [esp + 0x14]
mov edi, dword [ebx + 0x6ac020]
fld st(0)
push 0xffffffffffffffff
fmulp st(2)
sub esp, 8
fxch st(1)
fstp dword [esp + 0x82c]
fld dword [esp + 0x70]
fadd qword [0x6a2340]
fmulp st(1)
fstp dword [esp + 0x74]
fld dword [esp + 0x74]
fstp dword [esp + 0x830]
fld1
fst dword [esp + 0x2c]
fldz
fst dword [esp + 0x30]
fst dword [esp + 0x34]
fst dword [esp + 0x38]
fst dword [esp + 0x3c]
fst dword [esp + 0x44]
fst dword [esp + 0x48]
fst dword [esp + 0x4c]
fst dword [esp + 0x50]
fst dword [esp + 0x58]
fxch st(1)
fst dword [esp + 0x40]
fst dword [esp + 0x54]
fld dword [esp + 0x82c]
fstp dword [esp + 0x5c]
fld dword [esp + 0x830]
fstp dword [esp + 0x60]
fxch st(1)
fst dword [esp + 0x64]
fxch st(1)
fstp dword [esp + 0x68]
fst dword [esp + 4]
fstp dword [esp]
lea ecx, [esp + 0x16c]
push ecx
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x304]
lea edx, [esp + 0x2bc]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0xa8]
call fcn.004044d0
push eax
mov eax, dword [edi + 0x5c]
lea ecx, [ebx + 0x6ac020]
call eax
fldz
fst dword [esp + 0x11c]
xor ecx, ecx
fst dword [esp + 0x118]
mov dword [esp + 0x18], ecx
fst dword [esp + 0x114]
lea eax, [esp + 0xe8]
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 + 0x15c]
fst dword [esp + 0x158]
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]
fld dword [esp + 0x1c]
fadd qword [0x6a2338]
fst qword [esp + 0x2e8]
fld dword [esp + 0x78]
fstp dword [esp + 0x8a4]
fld dword [esp + 0x8a4]
fld1
fld dword [esp + 0x14]
fld qword [0x6a2350]
jmp 0x4195cb
fxch st(2)
fild dword [esp + 0x18]
inc ecx
add eax, 0x40
mov dword [esp + 0x18], ecx
fmul st(1)
fadd st(5)
fmul st(2)
fstp dword [esp + 0x8a0]
fxch st(2)
fst dword [eax - 0x48]
fst dword [eax - 0x34]
fst dword [eax - 0x20]
fxch st(5)
fst dword [eax - 0x44]
fst dword [eax - 0x40]
fst dword [eax - 0x3c]
fst dword [eax - 0x38]
fst dword [eax - 0x30]
fst dword [eax - 0x2c]
fst dword [eax - 0x28]
fst dword [eax - 0x24]
fst dword [eax - 0x1c]
fld dword [esp + 0x8a0]
fstp dword [eax - 0x18]
fxch st(3)
fst dword [eax - 0x14]
fxch st(3)
fst dword [eax - 0x10]
fxch st(5)
fst dword [eax - 0xc]
cmp ecx, 2
jb 0x4195c9
mov eax, 0x66666667
fstp st(0)
imul dword [esp + 0x88]
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(0)
sar edx, 2
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, edi
cdq
mov ecx, 0xa
idiv ecx
xor eax, eax
push eax
lea eax, [esp + 0xe4]
push edx
push ebp
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x174]
fstp dword [esp]
push edx
push eax
lea eax, [esp + 0x30c]
lea edx, [esp + 0x2c4]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0xb0]
call fcn.004044d0
push eax
mov eax, esi
call fcn.0046d870
fldz
mov eax, dword [esp + 0x88]
lea ecx, [edi + edi*4]
add ecx, ecx
sub eax, ecx
xor ecx, ecx
push ecx
push eax
push ebp
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x174]
fstp dword [esp]
push edx
lea eax, [esp + 0x138]
push eax
lea eax, [esp + 0x30c]
lea edx, [esp + 0x2c4]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0xb0]
call fcn.004044d0
push eax
mov eax, esi
call fcn.0046d870
fld dword [esp + 0x1c]
fadd qword [0x6a1770]
fmul dword [esp + 0x14]
fstp dword [esp + 0x920]
fld dword [esp + 0x68]
fstp dword [esp + 0x924]
fld1
fst dword [esp + 0x20]
fldz
fst dword [esp + 0x24]
fst dword [esp + 0x28]
fst dword [esp + 0x2c]
fst dword [esp + 0x30]
fst dword [esp + 0x38]
fst dword [esp + 0x3c]
fst dword [esp + 0x40]
fst dword [esp + 0x44]
fst dword [esp + 0x4c]
fxch st(1)
fst dword [esp + 0x34]
fst dword [esp + 0x48]
fld dword [esp + 0x920]
mov edi, dword [ebx + 0x6ac020]
fstp dword [esp + 0x50]
push 0xffffffffffffffff
fld dword [esp + 0x928]
sub esp, 8
fstp dword [esp + 0x60]
lea ecx, [esp + 0x16c]
fxch st(1)
lea edx, [esp + 0x2c]
fst dword [esp + 0x64]
lea eax, [esp + 0x2fc]
fxch st(1)
fstp dword [esp + 0x68]
fst dword [esp + 4]
fstp dword [esp]
push ecx
push edx
lea edx, [esp + 0x2bc]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0xa8]
call fcn.004044d0
push eax
mov eax, dword [edi + 0x5c]
lea ecx, [ebx + 0x6ac020]
call eax
fldz
fst dword [esp + 0x11c]
xor ecx, ecx
fst dword [esp + 0x118]
mov dword [esp + 0x88], ecx
fst dword [esp + 0x114]
lea eax, [esp + 0xe8]
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 + 0x15c]
fst dword [esp + 0x158]
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]
fld dword [esp + 0x1c]
fadd qword [0x6a2330]
fst qword [esp + 0x80]
fld dword [esp + 0x78]
fstp dword [esp + 0x464]
fld dword [esp + 0x464]
fld dword [esp + 0x14]
fld1
fld qword [0x6a2350]
jmp 0x4198dd
fxch st(1)
fild dword [esp + 0x88]
inc ecx
add eax, 0x40
mov dword [esp + 0x88], ecx
fmul st(1)
fadd st(5)
fmul st(3)
fstp dword [esp + 0x460]
fxch st(1)
fst dword [eax - 0x48]
fst dword [eax - 0x34]
fst dword [eax - 0x20]
fxch st(5)
fst dword [eax - 0x44]
fst dword [eax - 0x40]
fst dword [eax - 0x3c]
fst dword [eax - 0x38]
fst dword [eax - 0x30]
fst dword [eax - 0x2c]
fst dword [eax - 0x28]
fst dword [eax - 0x24]
fst dword [eax - 0x1c]
fld dword [esp + 0x460]
fstp dword [eax - 0x18]
fxch st(3)
fst dword [eax - 0x14]
fxch st(3)
fst dword [eax - 0x10]
fxch st(5)
fst dword [eax - 0xc]
cmp ecx, 2
jb 0x4198db
mov eax, 0x66666667
fstp st(0)
imul dword [esp + 0x90]
fstp st(3)
fstp st(1)
fstp st(1)
fstp st(0)
sar edx, 2
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, edi
cdq
mov ecx, 0xa
idiv ecx
xor eax, eax
push eax
lea eax, [esp + 0xe4]
push edx
push ebp
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x174]
fstp dword [esp]
push edx
push eax
lea eax, [esp + 0x30c]
lea edx, [esp + 0x2c4]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0xb0]
call fcn.004044d0
push eax
mov eax, esi
call fcn.0046d870
fldz
mov eax, dword [esp + 0x90]
lea ecx, [edi + edi*4]
add ecx, ecx
sub eax, ecx
xor ecx, ecx
push ecx
push eax
push ebp
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x174]
fstp dword [esp]
push edx
lea eax, [esp + 0x138]
push eax
lea eax, [esp + 0x30c]
lea edx, [esp + 0x2c4]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0xb0]
call fcn.004044d0
push eax
mov eax, esi
call fcn.0046d870
fldz
fst dword [esp + 0x11c]
fst dword [esp + 0x118]
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 + 0x15c]
fst dword [esp + 0x158]
fst dword [esp + 0x154]
fst dword [esp + 0x150]
fst dword [esp + 0x14c]
xor ecx, ecx
fst dword [esp + 0x148]
mov dword [esp + 0x90], ecx
fst dword [esp + 0x144]
lea eax, [esp + 0xe8]
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]
fld dword [esp + 0x64]
fadd qword [0x6a1a90]
fld dword [esp + 0x14]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fstp dword [esp + 0x6e4]
fld dword [esp + 0x6e4]
fld1
fld qword [0x6a2350]
fld qword [esp + 0x2e8]
jmp 0x419b3b
fxch st(2)
fild dword [esp + 0x90]
inc ecx
add eax, 0x40
mov dword [esp + 0x90], ecx
fmul st(2)
fadd st(1)
fmul st(5)
fstp dword [esp + 0x6e0]
fxch st(2)
fst dword [eax - 0x48]
fst dword [eax - 0x34]
fst dword [eax - 0x20]
fxch st(5)
fst dword [eax - 0x44]
fst dword [eax - 0x40]
fst dword [eax - 0x3c]
fst dword [eax - 0x38]
fst dword [eax - 0x30]
fst dword [eax - 0x2c]
fst dword [eax - 0x28]
fst dword [eax - 0x24]
fst dword [eax - 0x1c]
fld dword [esp + 0x6e0]
fstp dword [eax - 0x18]
fxch st(3)
fst dword [eax - 0x14]
fxch st(3)
fst dword [eax - 0x10]
fxch st(5)
fst dword [eax - 0xc]
cmp ecx, 2
jb 0x419b39
mov eax, 0x66666667
fstp st(0)
imul dword [esp + 0x74]
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(0)
sar edx, 2
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, edi
cdq
mov ecx, 0xa
idiv ecx
xor eax, eax
push eax
lea eax, [esp + 0xe4]
push edx
push ebp
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x174]
fstp dword [esp]
push edx
push eax
lea eax, [esp + 0x30c]
lea edx, [esp + 0x2c4]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0xb0]
call fcn.004044d0
push eax
mov eax, esi
call fcn.0046d870
fldz
mov eax, dword [esp + 0x74]
lea ecx, [edi + edi*4]
add ecx, ecx
sub eax, ecx
xor ecx, ecx
push ecx
push eax
push ebp
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x174]
fstp dword [esp]
push edx
lea eax, [esp + 0x138]
push eax
lea eax, [esp + 0x30c]
lea edx, [esp + 0x2c4]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0xb0]
call fcn.004044d0
push eax
mov eax, esi
call fcn.0046d870
fld dword [esp + 0x1c]
fadd qword [0x6a2328]
fld dword [esp + 0x14]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x4e0]
fld dword [esp + 0x64]
fadd qword [0x6a15b0]
fmulp st(1)
fstp dword [esp + 0x4e4]
fld1
fst dword [esp + 0x20]
fldz
fst dword [esp + 0x24]
fst dword [esp + 0x28]
fst dword [esp + 0x2c]
fst dword [esp + 0x30]
fst dword [esp + 0x38]
fst dword [esp + 0x3c]
fst dword [esp + 0x40]
fst dword [esp + 0x44]
mov edi, dword [ebx + 0x6ac0b4]
fst dword [esp + 0x4c]
push 0xffffffffffffffff
fxch st(1)
sub esp, 8
fst dword [esp + 0x40]
lea ecx, [esp + 0x16c]
fst dword [esp + 0x54]
lea edx, [esp + 0x2c]
fld dword [esp + 0x4ec]
lea eax, [esp + 0x2fc]
fstp dword [esp + 0x5c]
fld dword [esp + 0x4f0]
fstp dword [esp + 0x60]
fxch st(1)
fst dword [esp + 0x64]
fxch st(1)
fstp dword [esp + 0x68]
fst dword [esp + 4]
fstp dword [esp]
push ecx
push edx
lea edx, [esp + 0x2bc]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0xa8]
call fcn.004044d0
push eax
mov eax, dword [edi + 0x5c]
lea ecx, [ebx + 0x6ac0b4]
call eax
fldz
fst dword [esp + 0x11c]
xor ecx, ecx
fst dword [esp + 0x118]
mov dword [esp + 0x74], ecx
fst dword [esp + 0x114]
lea eax, [esp + 0xe8]
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 + 0x15c]
fst dword [esp + 0x158]
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]
fld dword [esp + 0x68]
fstp dword [esp + 0x8e4]
fld dword [esp + 0x8e4]
fld dword [esp + 0x14]
fld1
fld qword [0x6a2350]
fld qword [esp + 0x80]
jmp 0x419e4e
fxch st(2)
fild dword [esp + 0x74]
inc ecx
add eax, 0x40
mov dword [esp + 0x74], ecx
fmul st(2)
fadd st(1)
fmul st(4)
fstp dword [esp + 0x8e0]
fxch st(2)
fst dword [eax - 0x48]
fst dword [eax - 0x34]
fst dword [eax - 0x20]
fxch st(5)
fst dword [eax - 0x44]
fst dword [eax - 0x40]
fst dword [eax - 0x3c]
fst dword [eax - 0x38]
fst dword [eax - 0x30]
fst dword [eax - 0x2c]
fst dword [eax - 0x28]
fst dword [eax - 0x24]
fst dword [eax - 0x1c]
fld dword [esp + 0x8e0]
fstp dword [eax - 0x18]
fxch st(4)
fst dword [eax - 0x14]
fxch st(4)
fst dword [eax - 0x10]
fxch st(5)
fst dword [eax - 0xc]
cmp ecx, 2
jb 0x419e4c
mov eax, 0x66666667
fstp st(0)
imul dword [esp + 0x6c]
fstp st(3)
fstp st(0)
fstp st(1)
fstp st(0)
sar edx, 2
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, edi
cdq
mov ecx, 0xa
idiv ecx
xor eax, eax
push eax
lea eax, [esp + 0xe4]
push edx
push ebp
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x174]
fstp dword [esp]
push edx
push eax
lea eax, [esp + 0x30c]
lea edx, [esp + 0x2c4]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0xb0]
call fcn.004044d0
push eax
mov eax, esi
call fcn.0046d870
fldz
mov eax, dword [esp + 0x6c]
lea ecx, [edi + edi*4]
add ecx, ecx
sub eax, ecx
xor ecx, ecx
push ecx
push eax
push ebp
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x174]
fstp dword [esp]
push edx
lea eax, [esp + 0x138]
push eax
lea eax, [esp + 0x30c]
lea edx, [esp + 0x2c4]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0xb0]
call fcn.004044d0
push eax
mov eax, esi
call fcn.0046d870
mov eax, dword [esp + 0x70]
cmp eax, 0xffffffff
je 0x41a04e
fld dword [esp + 0x1c]
xor ecx, ecx
fadd qword [0x6a1840]
push ecx
fld dword [esp + 0x18]
push eax
fld st(0)
push 0xffffffffffffffff
fmulp st(2)
sub esp, 8
fxch st(1)
lea ecx, [esp + 0x174]
lea edx, [esp + 0x34]
fstp dword [esp + 0x574]
lea eax, [esp + 0x304]
fld dword [esp + 0x78]
fadd qword [0x6a2320]
fmulp st(1)
fstp dword [esp + 0x578]
fld1
fst dword [esp + 0x34]
fldz
fst dword [esp + 0x38]
fst dword [esp + 0x3c]
fst dword [esp + 0x40]
fst dword [esp + 0x44]
fst dword [esp + 0x4c]
fst dword [esp + 0x50]
fst dword [esp + 0x54]
fst dword [esp + 0x58]
fst dword [esp + 0x60]
fxch st(1)
fst dword [esp + 0x48]
fst dword [esp + 0x5c]
fld dword [esp + 0x574]
fstp dword [esp + 0x64]
fld dword [esp + 0x578]
fstp dword [esp + 0x68]
fxch st(1)
fst dword [esp + 0x6c]
fxch st(1)
fstp dword [esp + 0x70]
fst dword [esp + 4]
fstp dword [esp]
push ecx
push edx
lea edx, [esp + 0x2c4]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0xb0]
call fcn.004044d0
push eax
lea eax, [ebx + 0x6ab3d4]
call fcn.0046d870
fld dword [esp + 0x1c]
mov eax, dword [ebx + 8]
fadd qword [0x6a2318]
mov eax, dword [eax + 0x20ec]
sub eax, 0
fld dword [esp + 0x14]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x760]
fld dword [esp + 0x64]
fadd qword [0x6a2310]
fmulp st(1)
fstp dword [esp + 0x764]
fld1
fst dword [esp + 0x20]
fldz
fst dword [esp + 0x24]
fst dword [esp + 0x28]
fst dword [esp + 0x2c]
fst dword [esp + 0x30]
fst dword [esp + 0x38]
fst dword [esp + 0x3c]
fst dword [esp + 0x40]
fst dword [esp + 0x44]
fst dword [esp + 0x4c]
fxch st(1)
fst dword [esp + 0x34]
fst dword [esp + 0x48]
fld dword [esp + 0x760]
fstp dword [esp + 0x50]
fld dword [esp + 0x764]
fstp dword [esp + 0x54]
fxch st(1)
fst dword [esp + 0x58]
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]
fxch st(1)
fst dword [esp + 0x5c]
je 0x41a23e
sub eax, 1
je 0x41a1c2
sub eax, 1
jne 0x41a2b0
fst dword [esp + 0x98]
fst dword [esp + 0xac]
fst dword [esp + 0xc0]
fxch st(1)
fst dword [esp + 0x9c]
fst dword [esp + 0xa0]
fst dword [esp + 0xa4]
fst dword [esp + 0xa8]
fst dword [esp + 0xb0]
fst dword [esp + 0xb4]
fst dword [esp + 0xb8]
fst dword [esp + 0xbc]
fst dword [esp + 0xc4]
fld dword [0x6a168c]
jmp 0x41a21e
fst dword [esp + 0x98]
fst dword [esp + 0xac]
fst dword [esp + 0xc0]
fxch st(1)
fst dword [esp + 0x9c]
fst dword [esp + 0xa0]
fst dword [esp + 0xa4]
fst dword [esp + 0xa8]
fst dword [esp + 0xb0]
fst dword [esp + 0xb4]
fst dword [esp + 0xb8]
fst dword [esp + 0xbc]
fst dword [esp + 0xc4]
fld dword [0x6a1688]
fst dword [esp + 0xc8]
fstp dword [esp + 0xcc]
fst dword [esp + 0xd0]
fxch st(1)
fstp dword [esp + 0xd4]
jmp 0x41a2b2
fst dword [esp + 0x98]
fst dword [esp + 0xac]
fst dword [esp + 0xc0]
fstp dword [esp + 0xd4]
fst dword [esp + 0x9c]
fst dword [esp + 0xa0]
fst dword [esp + 0xa4]
fst dword [esp + 0xa8]
fst dword [esp + 0xb0]
fst dword [esp + 0xb4]
fst dword [esp + 0xb8]
fst dword [esp + 0xbc]
fst dword [esp + 0xc4]
fst dword [esp + 0xc8]
fst dword [esp + 0xcc]
fst dword [esp + 0xd0]
jmp 0x41a2b2
fstp st(0)
mov esi, dword [esp + 0x1a0]
mov edi, dword [esi]
push ebp
sub esp, 8
fst dword [esp + 4]
lea ecx, [esp + 0x16c]
fstp dword [esp]
push ecx
lea edx, [esp + 0xa8]
push edx
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x308]
lea edx, [esp + 0x2c0]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0x344]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0xf0]
call fcn.004044d0
mov edx, dword [edi + 0x5c]
push eax
mov ecx, esi
call edx
mov ecx, dword [esp + 0x7c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x64]
call edx
test al, al
je 0x41a360
mov eax, dword [ebx + 8]
add eax, 0xdef8c
lea ecx, [eax + 0x354]
mov dword [eax + 0x4b8], 0x96ffffff
mov eax, dword [ecx]
mov edx, dword [eax + 0x38]
push 0x96ffffff
call edx
mov eax, dword [ebx + 8]
mov dword [eax + 0xdf458], 8
mov eax, dword [ebx + 8]
lea ecx, [eax + 0xdef90]
jmp 0x41a493
mov ebx, dword [esp + 0x8c]
mov edi, dword [esp + 0x1a4]
call fcn.0041c2c0
mov ebx, dword [esp + 0x60]
mov eax, dword [eax + 0x78]
lea esi, [ebx + 0x6ac828]
mov edx, dword [esi + 0xc]
lea ecx, [esi + 0xc]
push eax
mov eax, dword [edx + 0xcc]
call eax
mov ecx, dword [ebx + 8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x28]
call eax
test al, al
je 0x41a3a7
mov eax, 2
lea ecx, [eax - 1]
jmp 0x41a3cd
mov ecx, dword [ebx + 8]
mov eax, dword [ecx + 0x20ec]
sub eax, 0
je 0x41a3c9
sub eax, 1
je 0x41a3bf
sub eax, 1
jne 0x41a3db
mov eax, 0xfffffffe
lea ecx, [eax + 3]
jmp 0x41a3cd
xor eax, eax
xor ecx, ecx
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xd8], eax
mov edx, dword [ebx + 0x6aced0]
mov eax, dword [edx + 4]
lea ecx, [ebx + 0x6aced0]
call eax
mov dword [esp + 0x70], eax
fild dword [esp + 0x70]
fild dword [esp + 0xd8]
fadd qword [0x6a2308]
fadd dword [esp + 0x1c]
faddp st(1)
fld dword [esp + 0x14]
fld st(0)
fmulp st(2)
fxch st(1)
call fcn.00631650
fild dword [esp + 0xdc]
mov edi, eax
fadd qword [0x6a2300]
fadd dword [esp + 0x64]
fmulp st(1)
call fcn.00631650
mov edx, dword [esi + 0xc]
lea ecx, [esi + 0xc]
push eax
mov eax, dword [edx + 0xc8]
push edi
call eax
call fcn.004ae87d
mov eax, esi
call fcn.004aeadd
mov eax, dword [esp + 0x94]
mov edx, dword [esi + 0xc]
add eax, 0xfffab080
lea edi, [esi + 0xc]
mov dword [esp + 0x70], eax
push eax
mov eax, dword [edx + 0xe0]
mov ecx, edi
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0xf0]
mov ecx, edi
call eax
mov ecx, dword [esp + 0x70]
push 0xffffffffffffffff
push 0
push ecx
lea ecx, [esi + 0x47c]
call fcn.00404790
lea ecx, [ebx + 0x6ac82c]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
fldz
fst dword [esp + 0x1e4]
mov edi, dword [ebx + 0x6acd1c]
fst dword [esp + 0x1e0]
mov ecx, dword [esp + 0x8c]
fst dword [esp + 0x1dc]
lea edx, [ecx + edi*8]
fst dword [esp + 0x1d8]
xor ecx, ecx
fst dword [esp + 0x1d4]
lea edi, [edi + edx + 1]
fst dword [esp + 0x1d0]
mov dword [esp + 0x6c], ecx
fst dword [esp + 0x1cc]
lea eax, [esp + 0x1b0]
fst dword [esp + 0x1c8]
fst dword [esp + 0x1c4]
fst dword [esp + 0x1c0]
fst dword [esp + 0x1bc]
fst dword [esp + 0x1b8]
fst dword [esp + 0x1b4]
fst dword [esp + 0x1b0]
fst dword [esp + 0x1ac]
fst dword [esp + 0x1a8]
fst dword [esp + 0x224]
fst dword [esp + 0x220]
fst dword [esp + 0x21c]
fst dword [esp + 0x218]
fst dword [esp + 0x214]
fst dword [esp + 0x210]
fst dword [esp + 0x20c]
fst dword [esp + 0x208]
fst dword [esp + 0x204]
fst dword [esp + 0x200]
fst dword [esp + 0x1fc]
fst dword [esp + 0x1f8]
fst dword [esp + 0x1f4]
fst dword [esp + 0x1f0]
fst dword [esp + 0x1ec]
fst dword [esp + 0x1e8]
fst dword [esp + 0x264]
fst dword [esp + 0x260]
fst dword [esp + 0x25c]
fst dword [esp + 0x258]
fst dword [esp + 0x254]
fst dword [esp + 0x250]
fst dword [esp + 0x24c]
fst dword [esp + 0x248]
fst dword [esp + 0x244]
fst dword [esp + 0x240]
fst dword [esp + 0x23c]
fst dword [esp + 0x238]
fst dword [esp + 0x234]
fst dword [esp + 0x230]
fst dword [esp + 0x22c]
fst dword [esp + 0x228]
fld dword [esp + 0x1c]
fadd qword [0x6a22f8]
fld dword [esp + 0x64]
fadd qword [0x6a1848]
fld dword [esp + 0x14]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x5e4]
fld dword [esp + 0x5e4]
fld1
fld qword [0x6a2350]
jmp 0x41a645
fxch st(1)
fild dword [esp + 0x6c]
inc ecx
add eax, 0x40
cmp ecx, 3
fmul st(1)
mov dword [esp + 0x6c], ecx
fadd st(5)
fmul st(4)
fstp dword [esp + 0x5e0]
fxch st(1)
fst dword [eax - 0x48]
fst dword [eax - 0x34]
fst dword [eax - 0x20]
fxch st(5)
fst dword [eax - 0x44]
fst dword [eax - 0x40]
fst dword [eax - 0x3c]
fst dword [eax - 0x38]
fst dword [eax - 0x30]
fst dword [eax - 0x2c]
fst dword [eax - 0x28]
fst dword [eax - 0x24]
fst dword [eax - 0x1c]
fld dword [esp + 0x5e0]
fstp dword [eax - 0x18]
fxch st(2)
fst dword [eax - 0x14]
fxch st(2)
fst dword [eax - 0x10]
fxch st(5)
fst dword [eax - 0xc]
jl 0x41a643
mov eax, 0x51eb851f
fstp st(0)
imul edi
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(0)
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov ecx, 0xa
idiv ecx
xor eax, eax
push eax
lea eax, [esp + 0x1ac]
push edx
push ebp
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x174]
fstp dword [esp]
push edx
push eax
lea eax, [esp + 0xfc]
lea edx, [esp + 0x2c4]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0x348]
call fcn.004044d0
push eax
lea eax, [ebx + 0x6ac314]
call fcn.0046d870
fldz
mov eax, 0x66666667
imul edi
sar edx, 2
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, esi
cdq
mov ecx, 0xa
idiv ecx
xor eax, eax
push eax
lea eax, [esp + 0x1ec]
push edx
push ebp
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x174]
fstp dword [esp]
push edx
push eax
lea eax, [esp + 0xfc]
lea edx, [esp + 0x2c4]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0x348]
call fcn.004044d0
push eax
lea eax, [ebx + 0x6ac314]
call fcn.0046d870
fldz
xor eax, eax
push eax
lea ecx, [esi + esi*4]
add ecx, ecx
sub edi, ecx
push edi
push ebp
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x174]
fstp dword [esp]
lea eax, [esp + 0x23c]
push edx
push eax
lea eax, [esp + 0xfc]
lea edx, [esp + 0x2c4]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0x348]
call fcn.004044d0
push eax
lea eax, [ebx + 0x6ac314]
call fcn.0046d870
jmp 0x41b113
fld dword [esp + 0x1c]
mov ebx, dword [esp + 0x60]
fadd qword [0x6a22f8]
movzx edi, byte [ebx + 0x6acd1a]
fld dword [esp + 0x64]
mov eax, dword [ebx + 0x6acd1c]
fadd qword [0x6a1848]
neg edi
fld dword [esp + 0x14]
sbb edi, edi
fld st(0)
lea ecx, [esi + eax*8]
fmulp st(2)
and edi, 0x97000000
fxch st(1)
lea esi, [eax + ecx + 1]
dec edi
fstp dword [esp + 0x864]
xor ecx, ecx
fld dword [esp + 0x864]
mov dword [esp + 0x6c], ecx
fld1
lea eax, [esp + 0x1b0]
fld qword [0x6a2350]
jmp 0x41a83e
fxch st(1)
fild dword [esp + 0x6c]
inc ecx
add eax, 0x40
cmp ecx, 3
fmul st(1)
mov dword [esp + 0x6c], ecx
fadd st(5)
fmul st(4)
fstp dword [esp + 0x860]
fxch st(1)
fst dword [eax - 0x48]
fst dword [eax - 0x34]
fst dword [eax - 0x20]
fxch st(5)
fst dword [eax - 0x44]
fst dword [eax - 0x40]
fst dword [eax - 0x3c]
fst dword [eax - 0x38]
fst dword [eax - 0x30]
fst dword [eax - 0x2c]
fst dword [eax - 0x28]
fst dword [eax - 0x24]
fst dword [eax - 0x1c]
fld dword [esp + 0x860]
fstp dword [eax - 0x18]
fxch st(2)
fst dword [eax - 0x14]
fxch st(2)
fst dword [eax - 0x10]
fxch st(5)
fst dword [eax - 0xc]
jl 0x41a83c
mov eax, 0x51eb851f
fstp st(0)
imul esi
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(0)
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov ecx, 0xa
idiv ecx
xor eax, eax
push eax
lea eax, [esp + 0x1ac]
push edx
push edi
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x174]
fstp dword [esp]
push edx
push eax
lea eax, [esp + 0xfc]
lea edx, [esp + 0x2c4]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0x348]
call fcn.004044d0
push eax
lea eax, [ebx + 0x6ac314]
call fcn.0046d870
fldz
mov eax, 0x66666667
imul esi
sar edx, 2
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov eax, ebx
cdq
mov ecx, 0xa
idiv ecx
xor eax, eax
push eax
lea eax, [esp + 0x1ec]
push edx
push edi
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x174]
fstp dword [esp]
push edx
push eax
lea eax, [esp + 0xfc]
lea edx, [esp + 0x2c4]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0x348]
call fcn.004044d0
push eax
mov eax, dword [esp + 0x78]
add eax, 0x6ac314
call fcn.0046d870
fldz
lea ecx, [ebx + ebx*4]
xor eax, eax
push eax
add ecx, ecx
sub esi, ecx
push esi
push edi
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x174]
fstp dword [esp]
push edx
lea eax, [esp + 0x240]
push eax
lea eax, [esp + 0xfc]
lea edx, [esp + 0x2c4]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0x348]
call fcn.004044d0
push eax
mov eax, dword [esp + 0x78]
add eax, 0x6ac314
call fcn.0046d870
fld dword [esp + 0x1c]
fadd qword [0x6a2360]
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x68], 0
add ebx, 0x6ac148
fstp qword [esp + 0x80]
fld dword [esp + 0x64]
fadd qword [0x6a2358]
fmul dword [esp + 0x14]
fstp dword [esp + 0x78]
fld dword [esp + 0x78]
fstp dword [esp + 0x664]
fild dword [esp + 0x68]
mov esi, dword [ebx]
push edi
sub esp, 8
fmul qword [0x6a2350]
lea ecx, [esp + 0x16c]
lea edx, [esp + 0x2c]
lea eax, [esp + 0xec]
fadd qword [esp + 0x8c]
fmul dword [esp + 0x20]
fstp dword [esp + 0x66c]
fld1
fst dword [esp + 0x2c]
fldz
fst dword [esp + 0x30]
fst dword [esp + 0x34]
fst dword [esp + 0x38]
fst dword [esp + 0x3c]
fst dword [esp + 0x44]
fst dword [esp + 0x48]
fst dword [esp + 0x4c]
fst dword [esp + 0x50]
fst dword [esp + 0x58]
fxch st(1)
fst dword [esp + 0x40]
fst dword [esp + 0x54]
fld dword [esp + 0x66c]
fstp dword [esp + 0x5c]
fld dword [esp + 0x670]
fstp dword [esp + 0x60]
fxch st(1)
fst dword [esp + 0x64]
fxch st(1)
fstp dword [esp + 0x68]
fst dword [esp + 4]
fstp dword [esp]
push ecx
push edx
lea edx, [esp + 0x2bc]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0x340]
call fcn.004044d0
push eax
mov eax, dword [esi + 0x5c]
mov ecx, ebx
call eax
mov eax, dword [esp + 0x68]
inc eax
cmp eax, 4
mov dword [esp + 0x68], eax
jl 0x41aa10
fld dword [esp + 0x1c]
mov eax, dword [esp + 0x60]
fadd qword [0x6a2348]
mov esi, dword [eax + 0x6ac020]
fld dword [esp + 0x14]
push edi
fld st(0)
sub esp, 8
fmulp st(2)
lea ecx, [esp + 0x16c]
fxch st(1)
add eax, 0x6ac020
lea edx, [esp + 0x2c]
fstp dword [esp + 0x7ec]
lea eax, [esp + 0xec]
fld dword [esp + 0x70]
fadd qword [0x6a2340]
fmulp st(1)
fstp dword [esp + 0x74]
fld dword [esp + 0x74]
fstp dword [esp + 0x7f0]
fld1
fst dword [esp + 0x2c]
fldz
fst dword [esp + 0x30]
fst dword [esp + 0x34]
fst dword [esp + 0x38]
fst dword [esp + 0x3c]
fst dword [esp + 0x44]
fst dword [esp + 0x48]
fst dword [esp + 0x4c]
fst dword [esp + 0x50]
fst dword [esp + 0x58]
fxch st(1)
fst dword [esp + 0x40]
fst dword [esp + 0x54]
fld dword [esp + 0x7ec]
fstp dword [esp + 0x5c]
fld dword [esp + 0x7f0]
fstp dword [esp + 0x60]
fxch st(1)
fst dword [esp + 0x64]
fxch st(1)
fstp dword [esp + 0x68]
fst dword [esp + 4]
fstp dword [esp]
push ecx
push edx
lea edx, [esp + 0x2bc]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0x340]
call fcn.004044d0
mov ecx, dword [esp + 0x6c]
push eax
mov eax, dword [esi + 0x5c]
add ecx, 0x6ac020
call eax
fld dword [esp + 0x1c]
fadd qword [0x6a2338]
mov dword [esp + 0x18], 0
fstp qword [esp + 0x2e8]
fld dword [esp + 0x78]
fstp dword [esp + 0x424]
fild dword [esp + 0x18]
mov esi, dword [ebx]
push edi
sub esp, 8
fmul qword [0x6a2350]
lea ecx, [esp + 0x16c]
lea edx, [esp + 0x2c]
lea eax, [esp + 0xec]
fadd qword [esp + 0x2f4]
fmul dword [esp + 0x20]
fstp dword [esp + 0x42c]
fld1
fst dword [esp + 0x2c]
fldz
fst dword [esp + 0x30]
fst dword [esp + 0x34]
fst dword [esp + 0x38]
fst dword [esp + 0x3c]
fst dword [esp + 0x44]
fst dword [esp + 0x48]
fst dword [esp + 0x4c]
fst dword [esp + 0x50]
fst dword [esp + 0x58]
fxch st(1)
fst dword [esp + 0x40]
fst dword [esp + 0x54]
fld dword [esp + 0x42c]
fstp dword [esp + 0x5c]
fld dword [esp + 0x430]
fstp dword [esp + 0x60]
fxch st(1)
fst dword [esp + 0x64]
fxch st(1)
fstp dword [esp + 0x68]
fst dword [esp + 4]
fstp dword [esp]
push ecx
push edx
lea edx, [esp + 0x2bc]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0x340]
call fcn.004044d0
push eax
mov eax, dword [esi + 0x5c]
mov ecx, ebx
call eax
mov eax, dword [esp + 0x18]
inc eax
cmp eax, 2
mov dword [esp + 0x18], eax
jl 0x41abe3
fld dword [esp + 0x1c]
mov eax, dword [esp + 0x60]
fadd qword [0x6a1770]
mov esi, dword [eax + 0x6ac020]
push edi
sub esp, 8
fmul dword [esp + 0x20]
lea ecx, [esp + 0x16c]
add eax, 0x6ac020
lea edx, [esp + 0x2c]
fstp dword [esp + 0x4ac]
lea eax, [esp + 0xec]
fld dword [esp + 0x74]
fstp dword [esp + 0x4b0]
fld1
fst dword [esp + 0x2c]
fldz
fst dword [esp + 0x30]
fst dword [esp + 0x34]
fst dword [esp + 0x38]
fst dword [esp + 0x3c]
fst dword [esp + 0x44]
fst dword [esp + 0x48]
fst dword [esp + 0x4c]
fst dword [esp + 0x50]
fst dword [esp + 0x58]
fxch st(1)
fst dword [esp + 0x40]
fst dword [esp + 0x54]
fld dword [esp + 0x4ac]
fstp dword [esp + 0x5c]
fld dword [esp + 0x4b0]
fstp dword [esp + 0x60]
fxch st(1)
fst dword [esp + 0x64]
fxch st(1)
fstp dword [esp + 0x68]
fst dword [esp + 4]
fstp dword [esp]
push ecx
push edx
lea edx, [esp + 0x2bc]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0x340]
call fcn.004044d0
mov ecx, dword [esp + 0x6c]
push eax
mov eax, dword [esi + 0x5c]
add ecx, 0x6ac020
call eax
fld dword [esp + 0x1c]
fadd qword [0x6a2330]
mov dword [esp + 0x18], 0
fstp qword [esp + 0x80]
fld dword [esp + 0x78]
fstp dword [esp + 0x524]
fild dword [esp + 0x18]
mov esi, dword [ebx]
push edi
sub esp, 8
fmul qword [0x6a2350]
lea ecx, [esp + 0x16c]
lea edx, [esp + 0x2c]
lea eax, [esp + 0xec]
fadd qword [esp + 0x8c]
fmul dword [esp + 0x20]
fstp dword [esp + 0x52c]
fld1
fst dword [esp + 0x2c]
fldz
fst dword [esp + 0x30]
fst dword [esp + 0x34]
fst dword [esp + 0x38]
fst dword [esp + 0x3c]
fst dword [esp + 0x44]
fst dword [esp + 0x48]
fst dword [esp + 0x4c]
fst dword [esp + 0x50]
fst dword [esp + 0x58]
fxch st(1)
fst dword [esp + 0x40]
fst dword [esp + 0x54]
fld dword [esp + 0x52c]
fstp dword [esp + 0x5c]
fld dword [esp + 0x530]
fstp dword [esp + 0x60]
fxch st(1)
fst dword [esp + 0x64]
fxch st(1)
fstp dword [esp + 0x68]
fst dword [esp + 4]
fstp dword [esp]
push ecx
push edx
lea edx, [esp + 0x2bc]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0x340]
call fcn.004044d0
push eax
mov eax, dword [esi + 0x5c]
mov ecx, ebx
call eax
mov eax, dword [esp + 0x18]
inc eax
cmp eax, 2
mov dword [esp + 0x18], eax
jl 0x41ada0
fld dword [esp + 0x64]
mov dword [esp + 0x18], 0
fadd qword [0x6a1a90]
fmul dword [esp + 0x14]
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fstp dword [esp + 0x5a4]
fild dword [esp + 0x18]
mov esi, dword [ebx]
push edi
sub esp, 8
fmul qword [0x6a2350]
lea ecx, [esp + 0x16c]
lea edx, [esp + 0x2c]
lea eax, [esp + 0xec]
fadd qword [esp + 0x2f4]
fmul dword [esp + 0x20]
fstp dword [esp + 0x5ac]
fld1
fst dword [esp + 0x2c]
fldz
fst dword [esp + 0x30]
fst dword [esp + 0x34]
fst dword [esp + 0x38]
fst dword [esp + 0x3c]
fst dword [esp + 0x44]
fst dword [esp + 0x48]
fst dword [esp + 0x4c]
fst dword [esp + 0x50]
fst dword [esp + 0x58]
fxch st(1)
fst dword [esp + 0x40]
fst dword [esp + 0x54]
fld dword [esp + 0x5ac]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5b0]
fstp dword [esp + 0x60]
fxch st(1)
fst dword [esp + 0x64]
fxch st(1)
fstp dword [esp + 0x68]
fst dword [esp + 4]
fstp dword [esp]
push ecx
push edx
lea edx, [esp + 0x2bc]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0x340]
call fcn.004044d0
push eax
mov eax, dword [esi + 0x5c]
mov ecx, ebx
call eax
mov eax, dword [esp + 0x18]
inc eax
cmp eax, 2
mov dword [esp + 0x18], eax
jl 0x41ae8e
fld dword [esp + 0x1c]
mov eax, dword [esp + 0x60]
fadd qword [0x6a2328]
mov esi, dword [eax + 0x6ac0b4]
fld dword [esp + 0x14]
push edi
fld st(0)
sub esp, 8
fmulp st(2)
add eax, 0x6ac0b4
fxch st(1)
lea ecx, [esp + 0x16c]
lea edx, [esp + 0x2c]
fstp dword [esp + 0x62c]
mov dword [esp + 0x7c], eax
fld dword [esp + 0x70]
lea eax, [esp + 0xec]
fadd qword [0x6a15b0]
fmulp st(1)
fstp dword [esp + 0x630]
fld1
fst dword [esp + 0x2c]
fldz
fst dword [esp + 0x30]
fst dword [esp + 0x34]
fst dword [esp + 0x38]
fst dword [esp + 0x3c]
fst dword [esp + 0x44]
fst dword [esp + 0x48]
fst dword [esp + 0x4c]
fst dword [esp + 0x50]
fst dword [esp + 0x58]
fxch st(1)
fst dword [esp + 0x40]
fst dword [esp + 0x54]
fld dword [esp + 0x62c]
fstp dword [esp + 0x5c]
fld dword [esp + 0x630]
fstp dword [esp + 0x60]
fxch st(1)
fst dword [esp + 0x64]
fxch st(1)
fstp dword [esp + 0x68]
fst dword [esp + 4]
fstp dword [esp]
push ecx
push edx
lea edx, [esp + 0x2bc]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0x340]
call fcn.004044d0
mov ecx, dword [esp + 0x7c]
push eax
mov eax, dword [esi + 0x5c]
call eax
fld dword [esp + 0x68]
fstp dword [esp + 0x6a4]
mov dword [esp + 0x18], 0
fild dword [esp + 0x18]
mov esi, dword [ebx]
push edi
sub esp, 8
fmul qword [0x6a2350]
lea ecx, [esp + 0x16c]
lea edx, [esp + 0x2c]
lea eax, [esp + 0xec]
fadd qword [esp + 0x8c]
fmul dword [esp + 0x20]
fstp dword [esp + 0x6ac]
fld1
fst dword [esp + 0x2c]
fldz
fst dword [esp + 0x30]
fst dword [esp + 0x34]
fst dword [esp + 0x38]
fst dword [esp + 0x3c]
fst dword [esp + 0x44]
fst dword [esp + 0x48]
fst dword [esp + 0x4c]
fst dword [esp + 0x50]
fst dword [esp + 0x58]
fxch st(1)
fst dword [esp + 0x40]
fst dword [esp + 0x54]
fld dword [esp + 0x6ac]
fstp dword [esp + 0x5c]
fld dword [esp + 0x6b0]
fstp dword [esp + 0x60]
fxch st(1)
fst dword [esp + 0x64]
fxch st(1)
fstp dword [esp + 0x68]
fst dword [esp + 4]
fstp dword [esp]
push ecx
push edx
lea edx, [esp + 0x2bc]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0x340]
call fcn.004044d0
push eax
mov eax, dword [esi + 0x5c]
mov ecx, ebx
call eax
mov eax, dword [esp + 0x18]
inc eax
cmp eax, 2
mov dword [esp + 0x18], eax
jl 0x41b046
mov ebx, dword [esp + 0x60]
mov eax, dword [ebx + 0x6acd1c]
mov esi, dword [esp + 0x8c]
mov edx, dword [ebx + 8]
mov edi, dword [esp + 0x1a4]
lea ecx, [esi + eax*8]
add ecx, eax
cmp dword [edx + 0x2fb8], ecx
jne 0x41b21e
mov eax, dword [esp + 0x94]
cmp byte [eax - 0x54f84], 0
je 0x41b21e
fld dword [esp + 0x1c]
push ebp
fadd qword [0x6a1ed8]
sub esp, 8
fld dword [esp + 0x20]
lea ecx, [esp + 0x16c]
fld st(0)
lea edx, [esp + 0x2c]
fmulp st(2)
lea eax, [esp + 0xec]
fxch st(1)
add ebx, 0x6ab3e4
fstp dword [esp + 0x3ac]
fld dword [esp + 0x70]
fadd qword [0x6a22f0]
fmulp st(1)
fstp dword [esp + 0x3b0]
fld1
fst dword [esp + 0x2c]
fldz
fst dword [esp + 0x30]
fst dword [esp + 0x34]
fst dword [esp + 0x38]
fst dword [esp + 0x3c]
fst dword [esp + 0x44]
fst dword [esp + 0x48]
fst dword [esp + 0x4c]
fst dword [esp + 0x50]
fst dword [esp + 0x58]
fxch st(1)
fst dword [esp + 0x40]
fst dword [esp + 0x54]
fld dword [esp + 0x3ac]
fstp dword [esp + 0x5c]
fld dword [esp + 0x3b0]
fstp dword [esp + 0x60]
fxch st(1)
fst dword [esp + 0x64]
fxch st(1)
fstp dword [esp + 0x68]
fst dword [esp + 4]
fstp dword [esp]
push ecx
push edx
lea edx, [esp + 0x2bc]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0x340]
call fcn.004044d0
push eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x5c]
mov ecx, ebx
call eax
mov ecx, dword [edi + 0x10]
sub ecx, dword [edi + 0xc]
add dword [esp + 0x1a0], 0x94
add dword [esp + 0x7c], 0x78
add dword [esp + 0x94], 0x5ebe8
inc esi
sar ecx, 7
cmp esi, ecx
mov dword [esp + 0x8c], esi
jl 0x418d8e
fld1
mov ebx, dword [esp + 0x60]
fld dword [esp + 0x14]
xor edx, edx
fld qword [0x6a1480]
xor eax, eax
fmul st(1)
xor ecx, ecx
cmp byte [ebx + 0x6acd1a], dl
mov dword [esp + 0x80], eax
fstp dword [esp + 0x3a0]
setne dl
lea edi, [ebx + 0x6acd28]
fmul qword [0x6a1618]
lea esi, [esp + 0x370]
mov ebp, ecx
fstp dword [esp + 0x3a4]
fst dword [esp + 0x20]
mov dword [esp + 0x80], edx
fldz
fst dword [esp + 0x24]
fst dword [esp + 0x28]
fst dword [esp + 0x2c]
fst dword [esp + 0x30]
fst dword [esp + 0x38]
fst dword [esp + 0x3c]
fst dword [esp + 0x40]
fst dword [esp + 0x44]
fst dword [esp + 0x4c]
fxch st(1)
fst dword [esp + 0x34]
fst dword [esp + 0x48]
fld dword [esp + 0x3a0]
fstp dword [esp + 0x50]
fld dword [esp + 0x3a4]
fstp dword [esp + 0x54]
fxch st(1)
fstp dword [esp + 0x58]
fstp dword [esp + 0x5c]
call fcn.004503c0
mov eax, dword [edi + 0x2c]
mov edx, dword [eax + 4]
lea ecx, [edi + 0x2c]
call edx
fldz
mov ecx, dword [esp + 0x80]
push ebp
shl eax, 0x18
push ecx
or eax, 0xffffff
push eax
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x34]
fstp dword [esp]
push edx
mov eax, esi
push eax
lea eax, [esp + 0xfc]
lea edx, [esp + 0x2c4]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0x348]
call fcn.004044d0
push eax
lea eax, [ebx + 0x1718]
call fcn.0046d870
lea ecx, [esp + 0x2a8]
push ecx
lea eax, [ebx + 0x14]
call fcn.0044a880
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
mov ecx, dword [ebx + 8]
cmp dword [ecx + 0x20e8], 1
jne 0x41b451
fld1
lea eax, [esp + 0x160]
fst dword [esp + 0x160]
lea ecx, [esp + 0x20]
fldz
fst dword [esp + 0x164]
fst dword [esp + 0x168]
fst dword [esp + 0x16c]
fst dword [esp + 0x170]
fst dword [esp + 0x178]
fst dword [esp + 0x17c]
fst dword [esp + 0x180]
fst dword [esp + 0x184]
fst dword [esp + 0x18c]
fst dword [esp + 0x190]
fxch st(1)
fst dword [esp + 0x174]
fst dword [esp + 0x188]
fld dword [esp + 0x14]
fmul qword [0x6a1588]
fstp dword [esp + 0x194]
fxch st(1)
fstp dword [esp + 0x198]
fstp dword [esp + 0x19c]
call fcn.00404580
fldz
mov edi, dword [ebx + 0x1728]
push 0xffffffffffffffff
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x2c]
fstp dword [esp]
push edx
lea esi, [ebx + 0x1728]
lea eax, [esp + 0xf0]
lea edx, [esp + 0x2b8]
call fcn.004044d0
push eax
mov eax, dword [edi + 0x5c]
mov ecx, esi
call eax
mov ebx, dword [ebx + 8]
add ebx, 0xdf478
mov ebx, dword [ebx + 8]
test ebx, ebx
je 0x41b477
mov ecx, dword [ebx + 0xc]
push 1
push 1
xor edi, edi
call fcn.00470a87
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 1
xor ecx, ecx
push 1
xor edi, edi
call fcn.00470a87
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret