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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x350
push ebx
push ebp
push esi
push edi
mov ebp, ecx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x18]
call eax
mov edx, dword [eax]
mov edx, dword [edx + 0x48]
lea ecx, [esp + 0x208]
push ecx
mov ecx, eax
call edx
fild dword [eax]
sub esp, 0xc
lea eax, [esp + 0xe4]
fdiv qword [0x657590]
fstp dword [esp + 0x24]
fldz
fstp dword [esp + 8]
fld dword [esp + 0x24]
fst dword [esp + 4]
fstp dword [esp]
push eax
call fcn.0045bdf8
fldz
mov eax, dword [ebp + 8]
fst dword [esp + 0x6c]
fst dword [esp + 0x68]
add eax, 0xe7090
mov eax, dword [eax + 8]
fst dword [esp + 0x64]
fst dword [esp + 0x60]
add esp, 0x10
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 eax, eax
je 0x43353c
mov ecx, dword [eax + 0xc]
jmp 0x43353e
xor ecx, ecx
push 2
push 2
xor edi, edi
call fcn.0045f251
fldz
mov edx, dword [ebp + 0x283e8]
mov edx, dword [edx + 0x5c]
push 0xffffffffffffffff
sub esp, 8
lea ecx, [ebp + 0x283e8]
fst dword [esp + 4]
lea eax, [esp + 0xe4]
fstp dword [esp]
push eax
call edx
fldz
mov eax, dword [ebp + 0x2e410]
mov edx, dword [eax + 4]
lea ecx, [ebp + 0x2e410]
push ecx
fstp dword [esp]
call edx
mov dword [esp + 0x74], eax
fild dword [esp + 0x74]
sub esp, 8
lea eax, [esp + 0x94]
fmul dword [esp + 0x24]
fstp dword [esp + 0x7c]
fld dword [esp + 0x7c]
fstp dword [esp + 4]
fldz
fstp dword [esp]
push eax
call fcn.0045bd91
add esp, 0x10
lea ecx, [esp + 0x160]
call fcn.00401d00
fld dword [esp + 0x18]
fld qword [0x657e08]
sub esp, 0xc
fmul st(1)
lea ecx, [esp + 0x94]
fstp dword [esp + 0x70]
fmul qword [0x6575b8]
fstp dword [esp + 0x28]
fldz
fstp dword [esp + 8]
fld dword [esp + 0x70]
fstp dword [esp + 4]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
call fcn.0045bd91
add esp, 0x10
lea ecx, [esp + 0x20]
call fcn.00401d00
fldz
mov edi, dword [ebp + 0x28cf8]
push 0xffffffffffffffff
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x2c]
fstp dword [esp]
push edx
lea esi, [ebp + 0x28cf8]
lea eax, [esp + 0x98]
lea edx, [esp + 0xe8]
call fcn.00401200
push eax
mov eax, dword [edi + 0x5c]
mov ecx, esi
call eax
fldz
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x24]
fmul qword [0x657e00]
fstp dword [esp + 0x7c]
fld dword [esp + 0x7c]
fstp dword [esp + 4]
fld dword [esp + 0x28]
lea ecx, [esp + 0x94]
fstp dword [esp]
push ecx
call fcn.0045bd91
add esp, 0x10
lea ecx, [esp + 0x20]
call fcn.00401d00
fldz
mov edi, dword [ebp + 0x29678]
push 0xffffffffffffffff
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x2c]
fstp dword [esp]
push edx
lea esi, [ebp + 0x29678]
lea eax, [esp + 0x98]
lea edx, [esp + 0xe8]
call fcn.00401200
push eax
mov eax, dword [edi + 0x5c]
mov ecx, esi
call eax
fld dword [esp + 0x18]
fmul qword [0x657df8]
sub esp, 0xc
lea ecx, [esp + 0x94]
fstp dword [esp + 0x28]
fldz
fstp dword [esp + 8]
fld dword [esp + 0x70]
fstp dword [esp + 4]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
call fcn.0045bd91
add esp, 0x10
lea ecx, [esp + 0x20]
call fcn.00401d00
fldz
mov edi, dword [ebp + 0x2970c]
push 0xffffffffffffffff
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x2c]
fstp dword [esp]
push edx
lea esi, [ebp + 0x2970c]
lea eax, [esp + 0x98]
lea edx, [esp + 0xe8]
call fcn.00401200
push eax
mov eax, dword [edi + 0x5c]
mov ecx, esi
call eax
fldz
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x24]
lea ecx, [esp + 0x94]
fmul qword [0x657df0]
fstp dword [esp + 0x7c]
fld dword [esp + 0x7c]
fstp dword [esp + 4]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
call fcn.0045bd91
add esp, 0x10
lea ecx, [esp + 0x20]
call fcn.00401d00
fldz
mov edi, dword [ebp + 0x29c78]
push 0xffffffffffffffff
sub esp, 8
fst dword [esp + 4]
lea esi, [ebp + 0x29c78]
lea edx, [esp + 0x2c]
fstp dword [esp]
push edx
lea eax, [esp + 0x98]
lea edx, [esp + 0xe8]
call fcn.00401200
push eax
mov eax, dword [edi + 0x5c]
mov ecx, esi
call eax
fldz
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x24]
lea ecx, [esp + 0x94]
fmul qword [0x657de8]
fstp dword [esp + 0x7c]
fld dword [esp + 0x7c]
fstp dword [esp + 4]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
call fcn.0045bd91
add esp, 0x10
lea ecx, [esp + 0x20]
call fcn.00401d00
fldz
mov edi, dword [ebp + 0x2e1cc]
push 0xffffffffffffffff
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x2c]
fstp dword [esp]
push edx
lea esi, [ebp + 0x2e1cc]
lea eax, [esp + 0x98]
lea edx, [esp + 0xe8]
call fcn.00401200
push eax
mov eax, dword [edi + 0x5c]
mov ecx, esi
call eax
fld dword [esp + 0x18]
fld qword [0x657ac8]
sub esp, 0xc
fmul st(1)
lea ecx, [esp + 0x94]
fstp dword [esp + 0x144]
fmul qword [0x657ad0]
fstp dword [esp + 0x70]
fldz
fstp dword [esp + 8]
fld dword [esp + 0x144]
fstp dword [esp + 4]
fld dword [esp + 0x70]
fstp dword [esp]
push ecx
call fcn.0045bd91
add esp, 0x10
lea ecx, [esp + 0x20]
call fcn.00401d00
fldz
mov edi, dword [ebp + 0x2ae88]
push 0xffffffffffffffff
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x2c]
fstp dword [esp]
push edx
lea esi, [ebp + 0x2ae88]
lea eax, [esp + 0x98]
lea edx, [esp + 0xe8]
call fcn.00401200
push eax
mov eax, dword [edi + 0x5c]
mov ecx, esi
call eax
fld dword [esp + 0x18]
fmul qword [0x657ac0]
sub esp, 0xc
fstp dword [esp + 0x148]
fldz
fstp dword [esp + 8]
fld dword [esp + 0x148]
fstp dword [esp + 4]
fld dword [esp + 0x70]
lea ecx, [esp + 0x94]
fstp dword [esp]
push ecx
call fcn.0045bd91
add esp, 0x10
lea ecx, [esp + 0x20]
call fcn.00401d00
fldz
mov edi, dword [esi]
push 0xffffffffffffffff
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x2c]
fstp dword [esp]
push edx
lea eax, [esp + 0x98]
lea edx, [esp + 0xe8]
call fcn.00401200
push eax
mov eax, dword [edi + 0x5c]
mov ecx, esi
call eax
fld dword [esp + 0x18]
fmul qword [0x6577d0]
sub esp, 0xc
lea ecx, [esp + 0x94]
fstp dword [esp + 0x14c]
fldz
fstp dword [esp + 8]
fld dword [esp + 0x14c]
fstp dword [esp + 4]
fld dword [esp + 0x70]
fstp dword [esp]
push ecx
call fcn.0045bd91
add esp, 0x10
lea ecx, [esp + 0x20]
call fcn.00401d00
fldz
mov edi, dword [esi]
push 0xffffffffffffffff
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x2c]
fstp dword [esp]
push edx
lea eax, [esp + 0x98]
lea edx, [esp + 0xe8]
call fcn.00401200
push eax
mov eax, dword [edi + 0x5c]
mov ecx, esi
call eax
fld dword [esp + 0x18]
fmul qword [0x657ab8]
sub esp, 0xc
lea ecx, [esp + 0x94]
fstp dword [esp + 0x140]
fldz
fstp dword [esp + 8]
fld dword [esp + 0x140]
fstp dword [esp + 4]
fld dword [esp + 0x70]
fstp dword [esp]
push ecx
call fcn.0045bd91
add esp, 0x10
lea ecx, [esp + 0x20]
call fcn.00401d00
fldz
mov edi, dword [esi]
push 0xffffffffffffffff
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x2c]
fstp dword [esp]
push edx
lea eax, [esp + 0x98]
lea edx, [esp + 0xe8]
call fcn.00401200
push eax
mov eax, dword [edi + 0x5c]
mov ecx, esi
call eax
fld dword [esp + 0x18]
fld qword [0x657aa8]
sub esp, 0xc
fmul st(1)
lea ecx, [esp + 0x94]
fstp dword [esp + 0x124]
fmul qword [0x657ab0]
fstp dword [esp + 0x28]
fldz
fstp dword [esp + 8]
fld dword [esp + 0x124]
fstp dword [esp + 4]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
call fcn.0045bd91
add esp, 0x10
lea ecx, [esp + 0x20]
call fcn.00401d00
fldz
mov edi, dword [esi]
push 0xffffffffffffffff
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x2c]
fstp dword [esp]
push edx
lea eax, [esp + 0x98]
lea edx, [esp + 0xe8]
call fcn.00401200
push eax
mov eax, dword [edi + 0x5c]
mov ecx, esi
call eax
fld dword [esp + 0x18]
fmul qword [0x657aa0]
sub esp, 0xc
lea ecx, [esp + 0x94]
fstp dword [esp + 0x20c]
fldz
fstp dword [esp + 8]
fld dword [esp + 0x20c]
fstp dword [esp + 4]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
call fcn.0045bd91
add esp, 0x10
lea ecx, [esp + 0x20]
call fcn.00401d00
fldz
mov edi, dword [esi]
push 0xffffffffffffffff
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x2c]
fstp dword [esp]
push edx
lea eax, [esp + 0x98]
lea edx, [esp + 0xe8]
call fcn.00401200
push eax
mov eax, dword [edi + 0x5c]
mov ecx, esi
call eax
fld dword [esp + 0x18]
fmul qword [0x657a98]
sub esp, 0xc
lea ecx, [esp + 0x94]
fstp dword [esp + 0x138]
fldz
fstp dword [esp + 8]
fld dword [esp + 0x138]
fstp dword [esp + 4]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
call fcn.0045bd91
add esp, 0x10
lea ecx, [esp + 0x20]
call fcn.00401d00
fldz
mov edi, dword [esi]
push 0xffffffffffffffff
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x2c]
fstp dword [esp]
push edx
lea eax, [esp + 0x98]
lea edx, [esp + 0xe8]
call fcn.00401200
push eax
mov eax, dword [edi + 0x5c]
mov ecx, esi
call eax
fld dword [esp + 0x18]
fmul qword [0x657a90]
sub esp, 0xc
lea ecx, [esp + 0x94]
fst qword [esp + 0x214]
fstp dword [esp + 0x7c]
fldz
fstp dword [esp + 8]
fld dword [esp + 0x7c]
fstp dword [esp + 4]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
call fcn.0045bd91
add esp, 0x10
lea ecx, [esp + 0x20]
call fcn.00401d00
fldz
mov edi, dword [esi]
push 0xffffffffffffffff
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x2c]
fstp dword [esp]
push edx
lea eax, [esp + 0x98]
lea edx, [esp + 0xe8]
call fcn.00401200
push eax
mov eax, dword [edi + 0x5c]
mov ecx, esi
call eax
mov edx, dword [ebp + 0x2af1c]
mov edx, dword [edx + 0x1c]
lea ebx, [ebp + 0x2af1c]
lea eax, [esp + 0x68]
push eax
mov ecx, ebx
call edx
mov ecx, 0x14e
mov dword [esp + 0x1c4], ecx
mov ecx, 0x213
mov dword [esp + 0x1cc], ecx
mov ecx, 0x24b
mov dword [esp + 0x1d4], ecx
mov ecx, 0x150
mov dword [esp + 0x1dc], ecx
mov ecx, 0x188
mov eax, 0x4a
mov dword [esp + 0x1e4], ecx
mov ecx, 0x1c0
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c8], eax
mov dword [esp + 0x1d0], eax
mov eax, 0x262
mov dword [esp + 0x1ec], ecx
mov ecx, 0x1f8
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x1f4], ecx
mov eax, dword [ebp + 8]
fldz
mov ecx, dword [eax + 0x2020]
fst dword [esp + 0xc8]
mov edx, dword [eax + 0x2018]
fstp dword [esp + 0xcc]
mov dword [esp + 0x1a4], ecx
mov ecx, dword [eax + 0x201c]
mov dword [esp + 0x1a8], edx
mov edx, dword [eax + 0x2028]
mov dword [esp + 0x1ac], ecx
mov ecx, dword [eax + 0x202c]
mov dword [esp + 0x1b0], edx
mov edx, dword [eax + 0x2030]
mov eax, dword [eax + 0x2324]
mov dword [esp + 0x1b4], ecx
mov dword [esp + 0x1b8], edx
mov dword [esp + 0x1bc], eax
xor esi, esi
mov edi, dword [esp + esi*4 + 0x1a4]
mov dword [esp + 0x10], edi
fild dword [esp + 0x10]
fimul dword [esp + 0x68]
fdiv qword [0x657618]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
call fcn.005faf10
mov ecx, dword [esp + esi*8 + 0x1c4]
mov dword [esp + 0x14c], eax
mov eax, dword [esp + esi*8 + 0x1c0]
fild dword [esp + 0x14c]
mov dword [esp + 0x120], ecx
lea edx, [eax + edi*4]
fstp dword [esp + 0xd0]
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x6c]
fild dword [esp + 0x6c]
add ecx, eax
mov dword [esp + 0x128], ecx
mov ecx, dword [esp + 0xc8]
fstp dword [esp + 0xd4]
fild dword [esp + 0x11c]
push 0xffffffffffffffff
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
fstp dword [esp + 0x8c]
mov ecx, dword [esp + 0xe0]
fild dword [esp + 0x134]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xe4]
mov dword [eax + 8], ecx
fstp dword [esp + 0x90]
mov ecx, dword [esp + 0xe8]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x138], edx
fild dword [esp + 0x138]
mov edx, dword [ebx]
mov edx, dword [edx + 0x4c]
sub esp, 0x10
mov eax, esp
fstp dword [esp + 0xa4]
fild dword [esp + 0x14c]
mov dword [eax], ecx
mov ecx, dword [esp + 0xa0]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xa4]
fstp dword [esp + 0xa8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0xa8]
mov dword [eax + 0xc], ecx
lea eax, [esp + 0xfc]
push eax
mov ecx, ebx
call edx
inc esi
cmp esi, 7
jl 0x433d0e
mov eax, dword [ebx]
mov edx, dword [eax + 0x1c]
lea ecx, [esp + 0x68]
push ecx
mov ecx, ebx
call edx
fild dword [esp + 0x68]
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x2038]
mov dword [esp + 0x10], esi
fimul dword [esp + 0x10]
fdiv qword [0x657a48]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
call fcn.005faf10
fldz
mov edx, dword [esp + 0x6c]
fst dword [esp + 0x78]
fstp dword [esp + 0x7c]
mov dword [esp + 0x14c], eax
fild dword [esp + 0x14c]
push 0xffffffffffffffff
sub esp, 0x10
mov eax, esp
lea ecx, [esi + esi + 0x4a]
fstp dword [esp + 0x94]
mov dword [esp + 0x138], ecx
fild dword [esp + 0x80]
mov ecx, dword [esp + 0x8c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x90]
mov dword [eax + 4], ecx
fstp dword [esp + 0x98]
fld dword [0x657de4]
mov ecx, dword [esp + 0x94]
mov dword [eax + 8], ecx
fstp dword [esp + 0xdc]
fld dword [0x657de0]
mov ecx, dword [esp + 0x98]
mov dword [eax + 0xc], ecx
fstp dword [esp + 0xe0]
fild dword [esp + 0x138]
mov ecx, dword [esp + 0xdc]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
fstp dword [esp + 0xf4]
mov ecx, dword [esp + 0xf0]
add edx, 0x283
mov dword [esp + 0x14c], edx
fild dword [esp + 0x14c]
mov edx, dword [ebx]
mov edx, dword [edx + 0x4c]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xf4]
fstp dword [esp + 0xf8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0xf8]
mov dword [eax + 0xc], ecx
lea eax, [esp + 0xfc]
push eax
mov ecx, ebx
call edx
fldz
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x144]
lea eax, [esp + 0x94]
fstp dword [esp + 4]
fld dword [esp + 0x70]
fstp dword [esp]
push eax
call fcn.0045bd91
fld dword [eax]
fstp dword [esp + 0x30]
add esp, 0x10
fld dword [eax + 4]
fstp dword [esp + 0x24]
fld dword [eax + 8]
fstp dword [esp + 0x28]
fld dword [eax + 0xc]
fstp dword [esp + 0x2c]
mov edi, dword [ebp + 0x2afb0]
fld dword [eax + 0x10]
push 0xffffffffffffffff
fstp dword [esp + 0x34]
sub esp, 8
fld dword [eax + 0x14]
lea ecx, [esp + 0x2c]
fstp dword [esp + 0x40]
lea esi, [ebp + 0x2afb0]
fld dword [eax + 0x18]
lea edx, [esp + 0xe4]
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 + 0x94]
fstp dword [esp + 0x68]
fldz
fst dword [esp + 4]
fstp dword [esp]
push ecx
call fcn.00401200
mov edx, dword [edi + 0x5c]
push eax
mov ecx, esi
call edx
fldz
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x148]
lea eax, [esp + 0x94]
fstp dword [esp + 4]
fld dword [esp + 0x70]
fstp dword [esp]
push eax
call fcn.0045bd91
fld dword [eax]
fstp dword [esp + 0x30]
add esp, 0x10
fld dword [eax + 4]
fstp dword [esp + 0x24]
fld dword [eax + 8]
fstp dword [esp + 0x28]
fld dword [eax + 0xc]
fstp dword [esp + 0x2c]
fld dword [eax + 0x10]
fstp dword [esp + 0x30]
fld dword [eax + 0x14]
fstp dword [esp + 0x34]
fld dword [eax + 0x18]
fstp dword [esp + 0x38]
fld dword [eax + 0x1c]
fstp dword [esp + 0x3c]
fld dword [eax + 0x20]
fstp dword [esp + 0x40]
fld dword [eax + 0x24]
fstp dword [esp + 0x44]
fld dword [eax + 0x28]
fstp dword [esp + 0x48]
fld dword [eax + 0x2c]
fstp dword [esp + 0x4c]
fld dword [eax + 0x30]
fstp dword [esp + 0x50]
fld dword [eax + 0x34]
fstp dword [esp + 0x54]
fld dword [eax + 0x38]
mov edi, dword [esi]
fstp dword [esp + 0x58]
fld dword [eax + 0x3c]
push 0xffffffffffffffff
fstp dword [esp + 0x60]
sub esp, 8
fldz
lea ecx, [esp + 0x2c]
fst dword [esp + 4]
lea eax, [esp + 0x94]
fstp dword [esp]
lea edx, [esp + 0xe4]
push ecx
call fcn.00401200
mov edx, dword [edi + 0x5c]
push eax
mov ecx, esi
call edx
fldz
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x14c]
lea eax, [esp + 0x94]
fstp dword [esp + 4]
fld dword [esp + 0x70]
fstp dword [esp]
push eax
call fcn.0045bd91
fld dword [eax]
fstp dword [esp + 0x30]
mov edi, dword [esi]
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 + 0xe4]
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 + 0x94]
fstp dword [esp + 0x68]
fldz
fst dword [esp + 4]
fstp dword [esp]
push ecx
call fcn.00401200
mov edx, dword [edi + 0x5c]
push eax
mov ecx, esi
call edx
fldz
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x140]
fstp dword [esp + 4]
fld dword [esp + 0x70]
lea eax, [esp + 0x94]
fstp dword [esp]
push eax
call fcn.0045bd91
fld dword [eax]
fstp dword [esp + 0x30]
mov edi, dword [esi]
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 + 0xe4]
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 + 0x94]
fstp dword [esp + 0x68]
fldz
fst dword [esp + 4]
fstp dword [esp]
push ecx
call fcn.00401200
mov edx, dword [edi + 0x5c]
push eax
mov ecx, esi
call edx
fldz
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x124]
lea eax, [esp + 0x94]
fstp dword [esp + 4]
fld dword [esp + 0x28]
fstp dword [esp]
push eax
call fcn.0045bd91
fld dword [eax]
fstp dword [esp + 0x30]
add esp, 0x10
fld dword [eax + 4]
fstp dword [esp + 0x24]
fld dword [eax + 8]
fstp dword [esp + 0x28]
fld dword [eax + 0xc]
fstp dword [esp + 0x2c]
fld dword [eax + 0x10]
fstp dword [esp + 0x30]
fld dword [eax + 0x14]
fstp dword [esp + 0x34]
fld dword [eax + 0x18]
fstp dword [esp + 0x38]
fld dword [eax + 0x1c]
fstp dword [esp + 0x3c]
fld dword [eax + 0x20]
fstp dword [esp + 0x40]
mov edi, dword [esi]
fld dword [eax + 0x24]
push 0xffffffffffffffff
fstp dword [esp + 0x48]
sub esp, 8
fld dword [eax + 0x28]
lea ecx, [esp + 0x2c]
fstp dword [esp + 0x54]
lea edx, [esp + 0xe4]
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 + 0x94]
fstp dword [esp + 0x68]
fldz
fst dword [esp + 4]
fstp dword [esp]
push ecx
call fcn.00401200
mov edx, dword [edi + 0x5c]
push eax
mov ecx, esi
call edx
fldz
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x20c]
lea eax, [esp + 0x94]
fstp dword [esp + 4]
fld dword [esp + 0x28]
fstp dword [esp]
push eax
call fcn.0045bd91
fld dword [eax]
fstp dword [esp + 0x30]
mov edi, dword [esi]
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]
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
lea eax, [esp + 0x98]
lea edx, [esp + 0xe8]
call fcn.00401200
mov edx, dword [edi + 0x5c]
push eax
mov ecx, esi
call edx
fldz
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x138]
lea eax, [esp + 0x94]
fstp dword [esp + 4]
fld dword [esp + 0x28]
fstp dword [esp]
push eax
call fcn.0045bd91
fld dword [eax]
fstp dword [esp + 0x30]
mov edi, dword [esi]
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 + 0xe4]
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 + 0x94]
fstp dword [esp + 0x68]
fldz
fst dword [esp + 4]
fstp dword [esp]
push ecx
call fcn.00401200
mov edx, dword [edi + 0x5c]
push eax
mov ecx, esi
call edx
fldz
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x7c]
lea eax, [esp + 0x94]
fstp dword [esp + 4]
fld dword [esp + 0x28]
fstp dword [esp]
push eax
call fcn.0045bd91
fld dword [eax]
fstp dword [esp + 0x30]
add esp, 0x10
fld dword [eax + 4]
fstp dword [esp + 0x24]
fld dword [eax + 8]
fstp dword [esp + 0x28]
mov edi, dword [esi]
fld dword [eax + 0xc]
push 0xffffffffffffffff
fstp dword [esp + 0x30]
sub esp, 8
fld dword [eax + 0x10]
lea ecx, [esp + 0x2c]
fstp dword [esp + 0x3c]
lea edx, [esp + 0xe4]
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 + 0x94]
fstp dword [esp + 0x68]
fldz
fst dword [esp + 4]
fstp dword [esp]
push ecx
call fcn.00401200
mov edx, dword [edi + 0x5c]
push eax
mov ecx, esi
call edx
mov eax, dword [ebx]
mov edx, dword [eax + 0x1c]
lea ecx, [esp + 0x12c]
push ecx
mov ecx, ebx
call edx
mov eax, dword [ebp + 0x2b044]
mov edx, dword [eax + 0x1c]
lea edi, [ebp + 0x2b044]
lea ecx, [esp + 0x68]
push ecx
mov ecx, edi
call edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x2020]
mov edx, dword [eax + 0x2018]
mov dword [esp + 0x148], edx
mov edx, dword [eax + 0x2028]
mov dword [esp + 0x144], ecx
mov ecx, dword [eax + 0x201c]
mov dword [esp + 0x150], edx
mov edx, dword [eax + 0x2030]
mov dword [esp + 0x14c], ecx
mov ecx, dword [eax + 0x202c]
mov eax, dword [eax + 0x2324]
mov dword [esp + 0x158], edx
mov edx, dword [esi]
mov edx, dword [edx + 0x1c]
mov dword [esp + 0x15c], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x154], ecx
push eax
mov ecx, esi
call edx
fild dword [eax]
fdiv qword [0x657618]
fstp dword [esp + 0x10]
fild dword [esp + 0x68]
fmul qword [0x657430]
fld qword [0x657ad0]
fsub st(1)
fild dword [esp + 0x144]
fld dword [esp + 0x10]
fld st(0)
fmulp st(2)
fxch st(1)
fadd st(2)
fld dword [esp + 0x18]
fld st(0)
fmulp st(2)
fxch st(1)
call fcn.005faf10
fld qword [0x657a88]
fmul st(1)
mov dword [esp + 0x10], eax
call fcn.005faf10
fild dword [esp + 0x148]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c0], ecx
fmul st(2)
mov dword [esp + 0x1c4], eax
fadd st(3)
fmul st(1)
call fcn.005faf10
fld qword [0x657a80]
fmul st(1)
mov dword [esp + 0x10], eax
call fcn.005faf10
fild dword [esp + 0x14c]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x1c8], edx
fmul st(2)
mov dword [esp + 0x1cc], eax
faddp st(3)
fld st(0)
fmulp st(3)
fxch st(2)
call fcn.005faf10
fld st(1)
fmul qword [0x657a78]
mov dword [esp + 0x10], eax
call fcn.005faf10
fld qword [0x657ab0]
mov ecx, dword [esp + 0x10]
fsubrp st(3)
fild dword [esp + 0x150]
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1d4], eax
fmul st(1)
fadd st(3)
fmul st(2)
call fcn.005faf10
fld st(1)
fmul qword [0x657a68]
mov dword [esp + 0x10], eax
call fcn.005faf10
fild dword [esp + 0x154]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x1d8], edx
fmul st(1)
mov dword [esp + 0x1dc], eax
fadd st(3)
fmul st(2)
call fcn.005faf10
fld st(1)
fmul qword [0x657a60]
mov dword [esp + 0x10], eax
call fcn.005faf10
fild dword [esp + 0x158]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1e0], ecx
fmul st(1)
mov dword [esp + 0x1e4], eax
fadd st(3)
fmul st(2)
call fcn.005faf10
fld st(1)
fmul qword [0x657a58]
mov dword [esp + 0x10], eax
call fcn.005faf10
fimul dword [esp + 0x15c]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x1e8], edx
mov dword [esp + 0x1ec], eax
faddp st(2)
fld st(0)
fmulp st(2)
fxch st(1)
call fcn.005faf10
fmul qword [0x657a50]
mov dword [esp + 0x10], eax
call fcn.005faf10
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1f4], eax
xor eax, eax
mov dword [esp + 0x1f0], ecx
mov dword [esp + 0x70], eax
fld1
push 0xffffffffffffffff
fild dword [esp + eax*8 + 0x1c4]
sub esp, 8
lea edx, [esp + 0x2c]
fstp dword [esp + 0x35c]
fild dword [esp + eax*8 + 0x1d0]
mov eax, dword [edi]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x94]
fstp dword [esp + 0x360]
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 + 0x35c]
fstp dword [esp + 0x5c]
fld dword [esp + 0x360]
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
lea edx, [esp + 0xe8]
call fcn.00401200
push eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x5c]
lea edi, [ebp + 0x2b044]
mov ecx, edi
call eax
mov eax, dword [esp + 0x70]
inc eax
cmp eax, 7
mov dword [esp + 0x70], eax
jl 0x4347f3
mov edx, dword [ebx]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x200]
push eax
mov ecx, ebx
call edx
mov eax, dword [edi]
mov edx, dword [eax + 0x1c]
lea ecx, [esp + 0x12c]
push ecx
mov ecx, edi
call edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x2038]
mov edx, dword [esi]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x68]
mov dword [esp + 0x10], ecx
push eax
mov ecx, esi
call edx
fild dword [eax]
fdiv qword [0x657a48]
fstp dword [esp + 0x70]
fild dword [esp + 0x12c]
fmul qword [0x657430]
fsubr qword [0x657ad0]
fild dword [esp + 0x10]
fmul dword [esp + 0x70]
faddp st(1)
fld dword [esp + 0x18]
fld st(0)
fmulp st(2)
fxch st(1)
call fcn.005faf10
fmul qword [0x657a70]
mov dword [esp + 0x68], eax
call fcn.005faf10
fild dword [esp + 0x68]
mov dword [esp + 0x6c], eax
mov esi, dword [edi]
fstp dword [esp + 0x350]
push 0xffffffffffffffff
fild dword [esp + 0x70]
sub esp, 8
lea eax, [esp + 0x2c]
lea edx, [esp + 0xe4]
fstp dword [esp + 0x360]
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 + 0x35c]
fstp dword [esp + 0x5c]
fld dword [esp + 0x360]
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
lea eax, [esp + 0x98]
call fcn.00401200
mov edx, dword [esi + 0x5c]
push eax
mov ecx, edi
call edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x2020]
fld dword [esp + 0x18]
mov edx, dword [eax + 0x2018]
fld qword [0x657dd8]
mov dword [esp + 0x1a4], ecx
fmul st(1)
mov ecx, dword [eax + 0x201c]
mov dword [esp + 0x1a8], edx
mov edx, dword [eax + 0x2028]
mov dword [esp + 0x1ac], ecx
mov ecx, dword [eax + 0x202c]
mov dword [esp + 0x1b0], edx
mov edx, dword [eax + 0x2030]
mov eax, dword [eax + 0x2324]
mov dword [esp + 0x1b4], ecx
mov dword [esp + 0x1b8], edx
mov dword [esp + 0x1bc], eax
call fcn.005faf10
fld qword [0x657dd0]
fmul st(1)
mov esi, eax
call fcn.005faf10
fld qword [0x657dc8]
fmul st(1)
mov edi, eax
mov dword [esp + 0x210], esi
mov dword [esp + 0x214], edi
fst qword [esp + 0x68]
call fcn.005faf10
fld qword [0x657dc0]
mov ebx, eax
fmul st(1)
mov dword [esp + 0x218], ebx
mov dword [esp + 0x21c], edi
fst qword [esp + 0x70]
call fcn.005faf10
fld qword [esp + 0x208]
mov dword [esp + 0x10], eax
mov dword [esp + 0x220], eax
mov dword [esp + 0x224], edi
call fcn.005faf10
fld qword [0x657750]
mov edi, dword [esp + 0x10]
fmul st(1)
mov dword [esp + 0x228], esi
mov dword [esp + 0x22c], eax
mov dword [esp + 0x230], ebx
mov dword [esp + 0x234], eax
mov dword [esp + 0x238], edi
mov dword [esp + 0x23c], eax
call fcn.005faf10
fld qword [0x657db8]
fmul st(1)
mov dword [esp + 0x240], esi
mov dword [esp + 0x244], eax
mov dword [esp + 0x248], ebx
mov dword [esp + 0x24c], eax
mov dword [esp + 0x250], edi
mov dword [esp + 0x254], eax
call fcn.005faf10
fld qword [0x657db0]
fmul st(1)
mov esi, eax
call fcn.005faf10
fld qword [0x657da8]
mov ebx, eax
fmul st(1)
mov dword [esp + 0x10], ebx
mov dword [esp + 0x258], esi
mov dword [esp + 0x25c], ebx
call fcn.005faf10
fld qword [0x657da0]
mov edi, eax
fmul st(1)
mov dword [esp + 0x260], edi
mov dword [esp + 0x264], ebx
call fcn.005faf10
mov ecx, dword [esp + 0x10]
mov ebx, eax
mov dword [esp + 0x268], ebx
mov dword [esp + 0x26c], ecx
fld qword [0x657708]
fmul st(1)
call fcn.005faf10
fld qword [0x6576f8]
fmul st(1)
mov dword [esp + 0x270], esi
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], edi
mov dword [esp + 0x27c], eax
mov dword [esp + 0x280], ebx
mov dword [esp + 0x284], eax
call fcn.005faf10
fld qword [0x6576e8]
fmul st(1)
mov dword [esp + 0x288], esi
mov dword [esp + 0x28c], eax
mov dword [esp + 0x290], edi
mov dword [esp + 0x294], eax
mov dword [esp + 0x298], ebx
mov dword [esp + 0x29c], eax
call fcn.005faf10
fld1
fldz
mov dword [esp + 0x2a8], edi
mov dword [esp + 0x2b0], ebx
mov dword [esp + 0x2a0], esi
mov dword [esp + 0x2a4], eax
mov dword [esp + 0x2ac], eax
mov dword [esp + 0x2b4], eax
xor ebx, ebx
lea edi, [esp + 0x214]
jmp 0x434c42
fxch st(1)
fxch st(2)
fild dword [edi - 4]
mov esi, dword [esp + ebx*4 + 0x1a4]
cmp esi, 0x64
fstp dword [esp + 0x350]
fild dword [edi]
fstp dword [esp + 0x354]
fxch st(1)
fst dword [esp + 0x20]
fst dword [esp + 0x34]
fst dword [esp + 0x48]
fxch st(1)
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]
fld dword [esp + 0x350]
fstp dword [esp + 0x50]
fld dword [esp + 0x354]
fstp dword [esp + 0x54]
fst dword [esp + 0x58]
fxch st(1)
fst dword [esp + 0x5c]
jl 0x434d10
mov eax, 0x51eb851f
fstp st(0)
imul esi
fstp st(1)
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 + 0x2bc]
push edx
push 0xffffffffffffffff
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x34]
fstp dword [esp]
push edx
lea edx, [esp + 0xf0]
call fcn.00401200
push eax
lea eax, [ebp + 0x2b16c]
call fcn.00491dca
fld1
fld dword [esp + 0x18]
fldz
jmp 0x434d14
fxch st(2)
fxch st(1)
cmp esi, 0xa
fild dword [edi + 4]
fstp dword [esp + 0x1f0]
fild dword [edi + 8]
fstp dword [esp + 0x1f4]
fxch st(2)
fst dword [esp + 0x20]
fst dword [esp + 0x34]
fst dword [esp + 0x48]
fxch st(2)
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]
fld dword [esp + 0x1f0]
fstp dword [esp + 0x50]
fld dword [esp + 0x1f4]
fstp dword [esp + 0x54]
fst dword [esp + 0x58]
fxch st(2)
fst dword [esp + 0x5c]
jl 0x434ddc
mov eax, 0x66666667
fstp st(0)
imul esi
fstp st(0)
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov ecx, 0xa
idiv ecx
xor eax, eax
push eax
lea eax, [esp + 0x2bc]
push edx
push 0xffffffffffffffff
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x34]
fstp dword [esp]
push edx
lea edx, [esp + 0xf0]
call fcn.00401200
push eax
lea eax, [ebp + 0x2b16c]
call fcn.00491dca
fld1
fld dword [esp + 0x18]
fldz
fxch st(2)
fild dword [edi + 0xc]
fstp dword [esp + 0xb8]
fild dword [edi + 0x10]
fstp dword [esp + 0xbc]
fst dword [esp + 0x20]
fst dword [esp + 0x34]
fst dword [esp + 0x48]
fxch st(2)
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]
fld dword [esp + 0xb8]
fstp dword [esp + 0x50]
fld dword [esp + 0xbc]
fstp dword [esp + 0x54]
fst dword [esp + 0x58]
fxch st(2)
fst dword [esp + 0x5c]
test esi, esi
jl 0x434e92
mov eax, esi
fstp st(0)
cdq
fstp st(0)
mov ecx, 0xa
idiv ecx
xor eax, eax
push eax
lea eax, [esp + 0x2bc]
push edx
push 0xffffffffffffffff
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x34]
fstp dword [esp]
push edx
lea edx, [esp + 0xf0]
call fcn.00401200
push eax
lea eax, [ebp + 0x2b16c]
call fcn.00491dca
fld1
fld dword [esp + 0x18]
fldz
fxch st(2)
inc ebx
add edi, 0x18
cmp ebx, 7
jl 0x434c3e
mov eax, dword [ebp + 8]
fld st(1)
mov edi, dword [eax + 0x2038]
fmul qword [0x657d98]
mov eax, 0x51eb851f
imul edi
fstp dword [esp + 0xb8]
fxch st(1)
fmul qword [0x657740]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
sar edx, 5
fstp dword [esp + 0xbc]
mov eax, edx
shr eax, 0x1f
fst dword [esp + 0x20]
add eax, edx
fst dword [esp + 0x34]
cdq
fst dword [esp + 0x48]
fxch st(1)
mov ecx, 0xa
fst dword [esp + 0x24]
idiv ecx
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]
fld dword [esp + 0xb8]
fstp dword [esp + 0x50]
fld dword [esp + 0xbc]
fstp dword [esp + 0x54]
fst dword [esp + 0x58]
fxch st(1)
fstp dword [esp + 0x5c]
xor eax, eax
push eax
lea eax, [esp + 0x2bc]
lea ebx, [ebp + 0x2b16c]
push edx
push 0xffffffffffffffff
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x34]
fstp dword [esp]
push edx
lea edx, [esp + 0xf0]
call fcn.00401200
push eax
mov eax, ebx
call fcn.00491dca
fld qword [esp + 0x68]
fstp dword [esp + 0xb8]
fld dword [esp + 0x1c]
fstp dword [esp + 0xbc]
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 + 0xb8]
fstp dword [esp + 0x50]
fld dword [esp + 0xbc]
fstp dword [esp + 0x54]
fxch st(1)
fst dword [esp + 0x58]
fxch st(1)
mov eax, 0x66666667
fstp dword [esp + 0x5c]
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 + 0x2bc]
push edx
push 0xffffffffffffffff
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x34]
fstp dword [esp]
push edx
lea edx, [esp + 0xf0]
call fcn.00401200
push eax
mov eax, ebx
call fcn.00491dca
fld qword [esp + 0x70]
fstp dword [esp + 0xb8]
lea eax, [esi + esi*4]
fld dword [esp + 0x1c]
add eax, eax
fstp dword [esp + 0xbc]
sub edi, eax
fld1
xor eax, eax
fst dword [esp + 0x20]
push eax
fldz
push edi
fst dword [esp + 0x2c]
push 0xffffffffffffffff
fst dword [esp + 0x34]
sub esp, 8
fst dword [esp + 0x40]
lea ecx, [esp + 0x34]
fst dword [esp + 0x44]
lea eax, [esp + 0x2cc]
fst dword [esp + 0x4c]
lea edx, [esp + 0xec]
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 + 0xcc]
fstp dword [esp + 0x64]
fld dword [esp + 0xd0]
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
call fcn.00401200
push eax
mov eax, ebx
call fcn.00491dca
lea edx, [esp + 0xd8]
push edx
lea eax, [ebp + 0x29648]
push eax
call fcn.00450190
lea ecx, [esp + 0xd8]
push ecx
lea edx, [ebp + 0x29c48]
push edx
call fcn.00450190
lea eax, [esp + 0xd8]
push eax
lea ecx, [ebp + 0x2a140]
push ecx
call fcn.00450190
push 0xffffffffffffffff
lea edx, [esp + 0xdc]
push edx
lea eax, [ebp + 0x2a3d4]
push eax
call fcn.00450600
push 0xffffffffffffffff
lea ecx, [esp + 0xdc]
push ecx
lea edx, [ebp + 0x2a684]
push edx
call fcn.00450600
push 0xffffffffffffffff
lea eax, [esp + 0xdc]
push eax
lea ecx, [ebp + 0x2b3b4]
push ecx
call fcn.00450600
push 0xffffffffffffffff
lea edx, [esp + 0xdc]
push edx
lea eax, [ebp + 0x2e348]
push eax
call fcn.00450600
lea ecx, [esp + 0xd8]
push ecx
lea esi, [ebp + 0x287a4]
push esi
call fcn.00450190
fld dword [esp + 0x18]
fld qword [0x657b80]
mov edx, dword [ebp + 0x2e6ec]
fmul st(1)
mov eax, dword [edx + 4]
lea ecx, [ebp + 0x2e6ec]
fstp dword [esp + 0xb8]
fstp dword [esp + 0xbc]
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 + 0xb8]
fstp dword [esp + 0x50]
fld dword [esp + 0xbc]
fstp dword [esp + 0x54]
fxch st(1)
fstp dword [esp + 0x58]
fstp dword [esp + 0x5c]
call eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fld qword [0x657780]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x435221
fsubp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
jmp 0x43523a
fldz
fcomp st(2)
fnstsw ax
test ah, 0x41
jne 0x435238
faddp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
jmp 0x43523a
fstp st(0)
cmp dword [ebp + 0x28514], 0
lea edi, [ebp + 0x28510]
jne 0x43524f
xor ecx, ecx
xor eax, eax
jmp 0x435276
mov ecx, dword [edi + 4]
fstp st(0)
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x68]
push eax
call edx
fld dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
cdq
idiv dword [edi + 8]
mov ecx, eax
mov eax, dword [esp + 0x6c]
cdq
idiv dword [edi + 0xc]
fldz
push eax
push ecx
sub esp, 0xc
fst dword [esp + 8]
lea eax, [esp + 0x9c]
fxch st(1)
fmul qword [0x657890]
fdiv qword [0x657888]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 4]
fstp dword [esp]
push eax
call fcn.0045bf62
fldz
add esp, 0x18
xor ecx, ecx
push ecx
mov eax, 5
push eax
push 0xffffffffffffffff
sub esp, 8
fst dword [esp + 4]
lea ecx, [esp + 0x34]
fstp dword [esp]
push ecx
lea edx, [esp + 0xf0]
push edx
lea eax, [esp + 0x2d4]
lea edx, [esp + 0xa4]
call fcn.00401200
mov edx, eax
lea eax, [esp + 0xa0]
call fcn.00401200
push eax
mov eax, edi
call fcn.00491dca
lea eax, [ebp + 0x271c4]
lea ebx, [esp + 0xd8]
call fcn.00456ea0
mov eax, dword [ebp + 8]
cmp dword [eax + 0x203c], 0
je 0x43535f
mov ecx, ebx
push ecx
push esi
call fcn.00450250
cmp dword [ebp + 0x2e1c8], 0xffffffff
jne 0x43535f
lea esi, [ebp + 0x2b634]
mov edi, 0x16
jmp 0x435340
mov edx, dword [esi]
mov edx, dword [edx + 0xbc]
lea eax, [esp + 0xd8]
push eax
mov ecx, esi
call edx
add esi, 0x154
sub edi, 1
jne 0x435340
lea esi, [ebp + 0x2e43c]
call fcn.00453d10
mov ebx, dword [ebp + 8]
add ebx, 0x2004
cmp dword [ebp + 0x2e1c8], 0xffffffff
je 0x43579b
mov eax, dword [ebp + 0x2e410]
mov edx, dword [eax + 4]
lea ecx, [ebp + 0x2e410]
call edx
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov edi, dword [ebp + 0x2d404]
push 0xffffffffffffffff
fadd qword [0x657588]
sub esp, 8
fld dword [esp + 0x24]
lea eax, [esp + 0x16c]
fld st(0)
lea ecx, [esp + 0x2c]
fmulp st(2)
lea esi, [ebp + 0x2d404]
fxch st(1)
lea edx, [esp + 0xe4]
fstp dword [esp + 0xc8]
fld1
fst dword [esp + 0x16c]
fldz
fst dword [esp + 0x170]
fst dword [esp + 0x174]
fst dword [esp + 0x178]
fst dword [esp + 0x17c]
fst dword [esp + 0x184]
fst dword [esp + 0x188]
fst dword [esp + 0x18c]
fst dword [esp + 0x190]
fst dword [esp + 0x198]
fst dword [esp + 0x19c]
fxch st(1)
fst dword [esp + 0x180]
fst dword [esp + 0x194]
fld dword [esp + 0xc8]
fstp dword [esp + 0x1a0]
fxch st(1)
fst dword [esp + 0x1a4]
fxch st(1)
fst dword [esp + 0x1a8]
fxch st(2)
fmul qword [0x6574e8]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0xc4]
fstp dword [esp + 0xc8]
fxch st(1)
fst dword [esp + 0x2c]
fst dword [esp + 0x40]
fst dword [esp + 0x54]
fxch st(1)
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]
fld dword [esp + 0xc4]
fstp dword [esp + 0x5c]
fld dword [esp + 0xc8]
fstp dword [esp + 0x60]
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 + 0x2cc]
call fcn.00401200
mov edx, eax
lea eax, [esp + 0x98]
call fcn.00401200
mov edx, dword [edi + 0x5c]
push eax
mov ecx, esi
call edx
fld qword [0x657d90]
xor eax, eax
fld qword [0x657d88]
lea ecx, [esp + 0x2b8]
fld qword [0x657d80]
fld qword [0x657d78]
mov edx, eax
and edx, 3
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
mov edx, eax
shr edx, 2
fmul st(4)
mov dword [esp + 0x10], edx
inc eax
add ecx, 8
cmp eax, 0xb
fadd st(3)
fstp dword [esp + 0x68]
mov edx, dword [esp + 0x68]
fild dword [esp + 0x10]
mov dword [ecx - 8], edx
fmul st(2)
fadd st(1)
fstp dword [esp + 0x6c]
mov edx, dword [esp + 0x6c]
mov dword [ecx - 4], edx
jl 0x435512
fstp st(1)
xor edi, edi
fstp st(0)
add ebx, 0x194
fldz
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x10]
mov eax, dword [esp + 0x10]
fld dword [0x657d74]
mov dword [esp + 0x310], eax
fst dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
fld dword [0x657d70]
mov dword [esp + 0x314], ecx
fstp dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x318], edx
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x31c], eax
cmp dword [ebx], 0
jne 0x4356a6
fld dword [esp + 0x18]
mov edx, dword [ebp + 0x2e410]
fmul dword [esp + edi*8 + 0x2b8]
mov eax, dword [edx + 4]
lea esi, [ebp + 0x2e410]
mov ecx, esi
fstp dword [esp + 0x78]
call eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov edx, dword [esi]
mov eax, dword [edx + 4]
fadd dword [esp + edi*8 + 0x2bc]
mov ecx, esi
fadd qword [0x657588]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x18]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x7c]
fld dword [esp + edi*8 + 0x2b8]
fadd qword [0x657d68]
fstp dword [esp + 0x10]
fmul dword [esp + 0x10]
fstp dword [esp + 0x80]
call eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fld dword [esp + edi*8 + 0x2bc]
mov eax, dword [ebp + 8]
fadd qword [0x657c78]
add eax, 0xe7090
mov eax, dword [eax + 8]
faddp st(1)
fadd qword [0x657588]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [esp + 0x18]
fstp dword [esp + 0x84]
test eax, eax
je 0x43566c
mov eax, dword [eax + 0xc]
jmp 0x43566e
xor eax, eax
mov edx, dword [esp + 0x78]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x8c]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x90]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x94]
push 0x80000000
mov esi, eax
mov dword [ecx + 0xc], edx
call fcn.00498c5a
add esp, 0x14
inc edi
add ebx, 4
cmp edi, 0xd
jb 0x4355ad
fld1
mov edi, dword [ebp + 0x2d370]
fst dword [esp + 0x20]
push 0xffffffffffffffff
fldz
sub esp, 8
fst dword [esp + 0x30]
lea eax, [esp + 0x16c]
fst dword [esp + 0x34]
lea ecx, [esp + 0x2c]
fst dword [esp + 0x38]
lea esi, [ebp + 0x2d370]
fst dword [esp + 0x3c]
lea edx, [esp + 0xe4]
fst dword [esp + 0x44]
fst dword [esp + 0x48]
fst dword [esp + 0x4c]
fst dword [esp + 0x50]
fst dword [esp + 0x58]
fst dword [esp + 0x5c]
fst dword [esp + 0x60]
fst dword [esp + 0x64]
fxch st(1)
fst dword [esp + 0x40]
fst dword [esp + 0x54]
fstp dword [esp + 0x68]
fst dword [esp + 4]
fstp dword [esp]
push eax
push ecx
lea eax, [esp + 0x2cc]
call fcn.00401200
mov edx, eax
lea eax, [esp + 0x98]
call fcn.00401200
mov edx, dword [edi + 0x5c]
push eax
mov ecx, esi
call edx
push 0xffffffffffffffff
lea eax, [esp + 0x164]
push eax
lea eax, [esp + 0x2c0]
lea edx, [esp + 0xe0]
call fcn.00401200
push eax
lea ecx, [ebp + 0x2e060]
push ecx
call fcn.00450600
push 0xffffffffffffffff
lea edx, [esp + 0x164]
push edx
lea eax, [esp + 0x2c0]
lea edx, [esp + 0xe0]
call fcn.00401200
push eax
lea eax, [ebp + 0x2e198]
push eax
call fcn.00450600
fld dword [esp + 0x18]
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x20d8], 1
fmul qword [0x657588]
fstp dword [esp + 0xbc]
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]
fst dword [esp + 0x50]
fxch st(1)
fst dword [esp + 0x34]
fst dword [esp + 0x48]
fld dword [esp + 0xbc]
fstp dword [esp + 0x54]
fxch st(1)
fst dword [esp + 0x58]
fxch st(1)
fstp dword [esp + 0x5c]
jne 0x435843
mov edi, dword [ebp + 0x28520]
push 0xffffffffffffffff
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x2c]
fstp dword [esp]
push edx
lea esi, [ebp + 0x28520]
lea eax, [esp + 0x2c8]
lea edx, [esp + 0xe8]
call fcn.00401200
push eax
mov eax, dword [edi + 0x5c]
mov ecx, esi
call eax
jmp 0x435845
fstp st(0)
mov ecx, dword [ebp + 0x271c0]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
mov ebp, dword [ebp + 8]
add ebp, 0xe7090
mov ebp, dword [ebp + 8]
test ebp, ebp
je 0x435878
mov ecx, dword [ebp + 0xc]
push 1
push 1
xor edi, edi
call fcn.0045f251
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.0045f251
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret