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

Disassembly:
push ebx
push esi
mov ebx, ecx
push edi
push ebp
sub esp, 0x410
mov edx, dword [ebx + 0x284]
movsx eax, word [edx + 0x5c]
fldz
fld dword [0x691f2c]
mov ebp, eax
mov edi, dword [ebp*4 + 0x92d4d0]
mov ecx, dword [edi + 0x1c]
lea edi, [esp + 0xac]
add ecx, 0x10
fadd dword [ecx]
fstp dword [esp + 0x32c]
fld dword [0x691f2c]
fadd dword [ecx + 4]
lea esi, [esp + 0x32c]
fstp dword [esp + 0x330]
fld dword [0x691e34]
fadd dword [ecx + 8]
fstp dword [esp + 0x334]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [eax*4 + 0x92d4d0]
lea edi, [esp + 0xb8]
mov eax, dword [esi + 0x1c]
fld dword [0x691e48]
add eax, 0x1c
fadd dword [eax]
fstp dword [esp + 0x338]
fld dword [0x691e48]
fadd dword [eax + 4]
lea esi, [esp + 0x338]
fstp dword [esp + 0x33c]
fld dword [0x691e34]
fadd dword [eax + 8]
fstp dword [esp + 0x340]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0xac]
lea edi, [esp + 0xc4]
fld dword [esp + 0xb0]
mov dword [esp + 0x344], eax
lea esi, [esp + 0x344]
mov dword [esp + 0x34c], 0
fst st(1)
fstp dword [esp + 0x348]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0xb8]
lea edi, [esp + 0xd0]
mov dword [esp + 0x350], eax
lea esi, [esp + 0x350]
mov dword [esp + 0x358], 0
fst dword [esp + 0x354]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0xb8]
lea edi, [esp + 0xdc]
fld dword [esp + 0xbc]
mov dword [esp + 0x35c], eax
lea esi, [esp + 0x35c]
mov dword [esp + 0x364], 0
fst st(1)
fstp dword [esp + 0x360]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0xac]
lea edi, [esp + 0xe8]
mov dword [esp + 0x368], eax
lea esi, [esp + 0x368]
mov dword [esp + 0x370], 0
fst dword [esp + 0x36c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0x284]
mov al, byte [ecx + 0x50]
and al, 7
cmp al, 2
jne 0x4f9940
fstp st(0)
call fcn.005b8510
test al, al
fldz
fldz
fldz
je 0x4f9947
fld dword [esp + 0xd0]
fstp st(3)
fld dword [esp + 0xd4]
fstp st(2)
fld dword [esp + 0xd8]
fstp st(1)
fld st(2)
mov eax, dword [esp + 0xc4]
mov ebp, dword [esp + 0xc8]
fstp dword [esp + 0xc4]
fld st(1)
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0xcc]
fstp dword [esp + 0xc8]
fst dword [esp + 0xcc]
fld dword [esp + 0xe8]
fstp st(3)
fld dword [esp + 0xec]
fstp st(2)
fld dword [esp + 0xf0]
fstp st(1)
fld st(2)
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xdc]
fstp dword [esp + 0xdc]
fld st(1)
mov edx, dword [esp + 0xe0]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0xd4], ebp
fstp dword [esp + 0xe0]
fst dword [esp + 0xe4]
fcompp
fstp st(0)
mov dword [esp + 0xf0], eax
mov dword [esp + 0xec], edx
mov eax, dword [ebx + 0x284]
xor ebp, ebp
lea edi, [esp + 0xc4]
mov dword [esp + 0x28], eax
add dword [esp + 0x28], 4
xor esi, esi
lea eax, [eax]
lea eax, [esp + 0x374]
push edi
push dword [esp + 0x2c]
push eax
call fcn.004dff40
mov eax, dword [esp + 0x380]
inc ebp
mov dword [esp + esi + 0x100], eax
mov ecx, dword [esp + 0x384]
mov dword [esp + esi + 0x104], ecx
mov eax, dword [esp + 0x388]
mov dword [esp + esi + 0x108], eax
mov dword [esp + 0x14], ebx
add dword [esp + 0x14], 4
add dword [esp + 0x14], 0x30
mov eax, dword [esp + 0x14]
add esp, 0xc
fld dword [eax + 8]
add edi, 0xc
fstp dword [esp + esi + 0xfc]
add esi, 0xc
cmp ebp, 4
jl 0x4f7c40
lea esi, [esp + 0x118]
lea edi, [esp + 0x164]
movsd dword es:[edi], dword [esi]
xor ebp, ebp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [esp + 0xf4]
mov dword [esp + 0x18], 0
mov dword [esp + 4], eax
lea eax, [eax]
mov eax, dword [esp + 4]
lea edi, [esp + 0x170]
fld dword [eax]
fsub dword [esp + 0x164]
mov eax, dword [esp + 0x168]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 4]
fstp dword [esp + 0x380]
fld dword [eax + 4]
fsub dword [esp + 0x98]
mov eax, dword [esp + 0x16c]
lea esi, [esp + 0x380]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 4]
fstp dword [esp + 0x384]
fld dword [eax + 8]
fsub dword [esp + 0x9c]
fstp dword [esp + 0x388]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x170]
call fcn.004dfec0
mov eax, dword [esp + 0x174]
mov dword [esp + ebp + 0x124], eax
fld dword [esp + 0x170]
fchs
fstp dword [esp + ebp + 0x128]
mov dword [esp + ebp + 0x12c], 0
mov eax, dword [esp + 0x18]
fld dword [esp + 0x98]
fmul dword [esp + ebp + 0x128]
fld dword [esp + 0x164]
fmul dword [esp + ebp + 0x124]
faddp st(1)
fld dword [esp + 0x9c]
fmul dword [esp + ebp + 0x12c]
add ebp, 0xc
faddp st(1)
fchs
fstp dword [esp + eax*4 + 0x154]
mov eax, dword [esp + 4]
fld dword [eax]
mov eax, dword [esp + 4]
fstp dword [esp + 0x164]
fld dword [eax + 4]
mov eax, dword [esp + 4]
fstp dword [esp + 0x168]
fld dword [eax + 8]
inc dword [esp + 0x18]
add dword [esp + 4], 0xc
cmp dword [esp + 0x18], 4
fstp dword [esp + 0x16c]
jl 0x4f7cd0
mov eax, dword [esp + 8]
mov byte [esp + 0x24], 0
fld dword [eax]
fstp dword [esp + 0x17c]
fld dword [eax + 4]
fstp dword [esp + 0x180]
fld dword [eax + 8]
fstp dword [esp + 0x184]
fld dword [ebx + 0x340]
fstp dword [esp + 0x188]
fld dword [ebx + 0x344]
fstp dword [esp + 0x18c]
fld dword [ebx + 0x348]
fstp dword [esp + 0x190]
fld dword [esp + 0x188]
fsub dword [esp + 0x17c]
lea edi, [esp + 0x194]
fstp dword [esp + 0x38c]
fld dword [esp + 0x18c]
fsub dword [esp + 0x180]
lea esi, [esp + 0x38c]
fstp dword [esp + 0x390]
fld dword [esp + 0x190]
fsub dword [esp + 0x184]
fstp dword [esp + 0x394]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x194]
call fcn.004dfec0
lea esi, [esp + 0x17c]
lea edi, [esp + 0x1a0]
movsd dword es:[edi], dword [esi]
xor edx, edx
fldz
fldz
fldz
fldz
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x1a8]
mov esi, dword [esp + 0x1a4]
mov edi, dword [esp + 0x198]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x74], esi
mov dword [esp + 0x84], edi
xor ecx, ecx
mov dword [esp + 0x88], eax
fld dword [esp + ecx + 0x128]
fstp st(2)
fld st(1)
fmul dword [esp + 0x180]
fld dword [esp + ecx + 0x124]
fstp st(2)
fld st(1)
fmul dword [esp + 0x17c]
faddp st(1)
fld dword [esp + ecx + 0x12c]
fstp st(4)
fld st(3)
fmul dword [esp + 0x184]
faddp st(1)
fld dword [esp + edx*4 + 0x154]
fstp st(5)
fadd st(4)
fstp dword [esp + 0x54]
fld dword [esp + 0x54]
fcomp dword [0x691e58]
fnstsw ax
test ah, 0x45
jne 0x4f7f44
mov ebp, 1
jmp 0x4f7f62
fld dword [esp + 0x54]
fcomp dword [0x691f30]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4f7f60
or ebp, 0xffffffff
jmp 0x4f7f62
xor ebp, ebp
fld st(1)
fmul dword [esp + 0x18c]
fld st(1)
fmul dword [esp + 0x188]
faddp st(1)
fld st(3)
fmul dword [esp + 0x190]
faddp st(1)
fadd st(4)
fstp dword [esp + 0x60]
fld dword [esp + 0x60]
fcomp dword [0x691e58]
fnstsw ax
test ah, 0x45
jne 0x4f7fa0
mov esi, 1
jmp 0x4f7fc2
fld dword [esp + 0x60]
fcomp dword [0x691f30]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4f7fc0
or esi, 0xffffffff
jmp 0x4f7fc2
xor esi, esi
cmp ebp, 0xffffffff
je 0x4f8080
cmp esi, 0xffffffff
je 0x4f8080
test ebp, ebp
mov byte [esp + 0x24], 1
jne 0x4f8027
fld dword [0x691e58]
fsub dword [esp + 0x54]
fstp st(4)
fld st(3)
fmul st(3)
fstp dword [esp + 0x68]
fld st(3)
fmul st(1)
fadd dword [esp + 0x17c]
fstp dword [esp + 0x17c]
fld st(3)
fmul st(2)
fadd dword [esp + 0x180]
fstp dword [esp + 0x180]
fld dword [esp + 0x184]
fadd dword [esp + 0x68]
fstp dword [esp + 0x184]
test esi, esi
jne 0x4f81a3
fld dword [0x691e58]
fsub dword [esp + 0x60]
fstp st(4)
fld st(3)
fmul st(3)
fstp st(3)
fld st(3)
fmul st(1)
fadd dword [esp + 0x188]
fstp dword [esp + 0x188]
fld st(3)
fmul st(2)
fadd dword [esp + 0x18c]
fstp dword [esp + 0x18c]
fld dword [esp + 0x190]
fadd st(3)
fstp dword [esp + 0x190]
jmp 0x4f81a3
cmp ebp, 0xffffffff
jne 0x4f8116
cmp esi, 1
jne 0x4f8116
fld st(1)
fmul dword [esp + 0x74]
fld st(1)
fmul dword [esp + 0x1a0]
faddp st(1)
fld st(3)
fmul dword [esp + 0x78]
faddp st(1)
fadd st(4)
fchs
fld st(2)
fmul dword [esp + 0x84]
fld st(2)
fmul dword [esp + 0x194]
faddp st(1)
fld st(4)
fmul dword [esp + 0x88]
faddp st(1)
fdivp st(1)
fstp st(4)
fld st(3)
fmul dword [esp + 0x194]
fadd dword [esp + 0x1a0]
fstp dword [esp + 0x188]
fld st(3)
fmul dword [esp + 0x84]
fadd dword [esp + 0x74]
fstp dword [esp + 0x18c]
fld st(3)
fmul dword [esp + 0x88]
fadd dword [esp + 0x78]
fstp dword [esp + 0x190]
jmp 0x4f81a3
cmp ebp, 1
jne 0x4f81a3
cmp esi, 0xffffffff
jne 0x4f81a3
fld st(1)
fmul dword [esp + 0x74]
fld st(1)
fmul dword [esp + 0x1a0]
faddp st(1)
fld st(3)
fmul dword [esp + 0x78]
faddp st(1)
fadd st(4)
fchs
fld st(2)
fmul dword [esp + 0x84]
fld st(2)
fmul dword [esp + 0x194]
faddp st(1)
fld st(4)
fmul dword [esp + 0x88]
faddp st(1)
fdivp st(1)
fstp st(4)
fld st(3)
fmul dword [esp + 0x194]
fadd dword [esp + 0x1a0]
fstp dword [esp + 0x17c]
fld st(3)
fmul dword [esp + 0x84]
fadd dword [esp + 0x74]
fstp dword [esp + 0x180]
fld st(3)
fmul dword [esp + 0x88]
fadd dword [esp + 0x78]
fstp dword [esp + 0x184]
inc edx
add ecx, 0xc
cmp edx, 4
jl 0x4f7ee3
cmp byte [esp + 0x24], 0
jne 0x4f9950
mov dword [esp + 0x1ac], 0
mov dword [esp + 0x1b0], 0
fld dword [esp + 0x1ac]
fadd dword [esp + 0xf4]
mov dword [esp + 0x1b4], 0
xor ebp, ebp
xor edi, edi
fstp dword [esp + 0x1ac]
fld dword [esp + 0x1b0]
fadd dword [esp + 0xf8]
fstp dword [esp + 0x1b0]
fld dword [esp + 0x1b4]
fadd dword [esp + 0xfc]
fstp dword [esp + 0x1b4]
fld dword [esp + 0x1ac]
fadd dword [esp + 0x100]
fstp dword [esp + 0x1ac]
fld dword [esp + 0x1b0]
fadd dword [esp + 0x104]
fstp dword [esp + 0x1b0]
fld dword [esp + 0x1b4]
fadd dword [esp + 0x108]
fstp dword [esp + 0x1b4]
fld dword [esp + 0x1ac]
fadd dword [esp + 0x10c]
fstp dword [esp + 0x1ac]
fld dword [esp + 0x1b0]
fadd dword [esp + 0x110]
fstp dword [esp + 0x1b0]
fld dword [esp + 0x1b4]
fadd dword [esp + 0x114]
fstp dword [esp + 0x1b4]
fld dword [esp + 0x1ac]
fadd dword [esp + 0x118]
fstp dword [esp + 0x1ac]
fld dword [esp + 0x1b0]
fadd dword [esp + 0x11c]
fstp dword [esp + 0x1b0]
fld dword [esp + 0x1b4]
fadd dword [esp + 0x120]
fstp dword [esp + 0x1b4]
fld dword [esp + 0x1ac]
fmul dword [0x691e4c]
fstp dword [esp + 0x1ac]
fld dword [esp + 0x1b0]
fmul dword [0x691e4c]
fstp dword [esp + 0x1b0]
fld dword [esp + 0x1b4]
fmul dword [0x691e4c]
fstp dword [esp + 0x1b4]
fld dword [0x691e34]
fstp st(4)
fld dword [esp + 0x1b0]
mov eax, dword [esp + 0x1b4]
fstp st(2)
mov dword [esp + 0x80], eax
fld dword [esp + edi + 0xf4]
fsub dword [esp + 0x1ac]
fstp st(3)
fld dword [esp + edi + 0xf8]
fsub st(2)
fst st(1)
fmul st(0)
fld st(3)
fmul st(0)
faddp st(1)
fld dword [esp + edi + 0xfc]
fsub dword [esp + 0x80]
fstp st(4)
fld st(3)
fmul st(0)
faddp st(1)
fstp st(3)
fld st(2)
fcomp st(4)
fnstsw ax
test ah, 0x45
jne 0x4f8381
fld st(2)
fstp st(4)
inc ebp
add edi, 0xc
cmp ebp, 4
jl 0x4f8337
fld st(3)
fsqrt
fstp dword [esp + 0xa0]
fld dword [esp + 0xa0]
fstp st(4)
lea eax, [esp + 0x1ac]
fld st(3)
fstp st(4)
fld dword [0x691f34]
fmulp st(4)
fld st(3)
push 0
push 0
push eax
push eax
fstp dword [esp]
fcompp
fcompp
lea ecx, [esp + 0x1c8]
call fcn.004173a0
mov eax, dword [esp + 8]
lea edi, [esp + 0x1cc]
fldz
fld dword [ebx + 0x340]
fsub dword [eax]
fstp dword [esp + 0x398]
fld dword [ebx + 0x344]
fsub dword [eax + 4]
lea esi, [esp + 0x398]
fstp dword [esp + 0x39c]
fld dword [ebx + 0x348]
fsub dword [eax + 8]
fstp dword [esp + 0x3a0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [esp + 0x1d0]
fst st(1)
fmul st(0)
fld dword [esp + 0x1cc]
fmul st(0)
faddp st(1)
mov dword [esp + 0x1d4], 0
fld dword [esp + 0x1d4]
fstp st(2)
fld st(1)
fmul st(0)
faddp st(1)
fst st(1)
fsqrt
fstp dword [esp + 0xa0]
fld dword [esp + 0xa0]
fstp st(1)
fld dword [0x691e34]
fcomp st(1)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x4f8477
xor al, al
add esp, 0x410
fstp st(0)
pop ebp
pop edi
pop esi
pop ebx
ret
lea ecx, [esp + 0x1cc]
fstp st(0)
call fcn.004dfec0
mov eax, dword [esp + 8]
lea edi, [esp + 0x1d8]
lea esi, [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x17c]
lea ecx, [esp + 0x188]
lea esi, [esp + 0x1cc]
push ecx
push eax
lea eax, [esp + 0x1e0]
lea ecx, [esp + 0x1c0]
push esi
push eax
call fcn.00417260
test al, al
jne 0x4f84f0
mov dword [ebx + 0x28c], 0
cmp dword [ebx + 0x244], 0xb
jne 0x4f84df
mov ecx, ebx
call fcn.0050c620
xor al, al
add esp, 0x410
pop ebp
pop edi
pop esi
pop ebx
ret
lea esi, [esp + 0x17c]
lea edi, [esp + 0x1e4]
or dword [esp + 0x1c], 0xffffffff
or dword [esp + 0x14], 0xffffffff
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [esp + 0x188]
fsub dword [esp + 0x17c]
lea edi, [esp + 0x1f0]
fstp dword [esp + 0x3a4]
fld dword [esp + 0x18c]
fsub dword [esp + 0x180]
lea esi, [esp + 0x3a4]
fstp dword [esp + 0x3a8]
fld dword [esp + 0x190]
fsub dword [esp + 0x184]
fstp dword [esp + 0x3ac]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x1f0]
call fcn.004dfec0
mov eax, dword [esp + 0x1ec]
xor edx, edx
mov ecx, dword [esp + 0x1f4]
xor edi, edi
mov dword [esp + 0x5c], eax
mov ebp, dword [esp + 0x1e8]
mov eax, dword [esp + 0x1f8]
mov dword [esp + 0x58], ebp
fldz
fldz
fldz
fldz
mov dword [esp + 0x7c], eax
mov dword [esp + 0x64], ecx
nop
fld dword [esp + edi + 0x128]
fstp st(4)
fld st(3)
fmul dword [esp + 0x180]
fld dword [esp + edi + 0x124]
fstp st(4)
fld st(3)
fmul dword [esp + 0x17c]
faddp st(1)
fld dword [esp + edi + 0x12c]
fstp st(3)
fld st(2)
fmul dword [esp + 0x184]
faddp st(1)
fld dword [esp + edx*4 + 0x154]
fstp st(2)
fadd st(1)
fstp dword [esp + 0x6c]
fld st(3)
fmul dword [esp + 0x18c]
fld st(3)
fmul dword [esp + 0x188]
faddp st(1)
fld st(2)
fmul dword [esp + 0x190]
faddp st(1)
fadd st(1)
fstp dword [esp + 0x70]
fld dword [esp + 0x6c]
fcomp dword [0x691e34]
fnstsw ax
test ah, 0x45
jne 0x4f86b3
fld dword [esp + 0x70]
fcomp dword [0x691e34]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4f86b3
fld st(3)
fmul dword [esp + 0x58]
fld st(3)
fmul dword [esp + 0x1e4]
mov dword [esp + 0x14], edx
faddp st(1)
fld st(2)
fmul dword [esp + 0x5c]
faddp st(1)
fadd st(1)
fchs
fld st(4)
fmul dword [esp + 0x64]
fld st(4)
fmul dword [esp + 0x1f0]
faddp st(1)
fld st(3)
fmul dword [esp + 0x7c]
faddp st(1)
fdivp st(1)
fstp st(4)
fld st(3)
fmul dword [esp + 0x1f0]
fadd dword [esp + 0x1e4]
fstp dword [esp + 0x17c]
fld st(3)
fmul dword [esp + 0x64]
fadd dword [esp + 0x58]
fstp dword [esp + 0x180]
fld st(3)
fmul dword [esp + 0x7c]
fadd dword [esp + 0x5c]
fstp dword [esp + 0x184]
jmp 0x4f8753
fld dword [esp + 0x6c]
fcomp dword [0x691e34]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4f8753
fld dword [esp + 0x70]
fcomp dword [0x691e34]
fnstsw ax
test ah, 0x45
jne 0x4f8753
fld st(3)
fmul dword [esp + 0x58]
fld st(3)
fmul dword [esp + 0x1e4]
mov dword [esp + 0x1c], edx
faddp st(1)
fld st(2)
fmul dword [esp + 0x5c]
faddp st(1)
fadd st(1)
fchs
fld st(4)
fmul dword [esp + 0x64]
fld st(4)
fmul dword [esp + 0x1f0]
faddp st(1)
fld st(3)
fmul dword [esp + 0x7c]
faddp st(1)
fdivp st(1)
fstp st(4)
fld st(3)
fmul dword [esp + 0x1f0]
fadd dword [esp + 0x1e4]
fstp dword [esp + 0x188]
fld st(3)
fmul dword [esp + 0x64]
fadd dword [esp + 0x58]
fstp dword [esp + 0x18c]
fld st(3)
fmul dword [esp + 0x7c]
fadd dword [esp + 0x5c]
fstp dword [esp + 0x190]
inc edx
add edi, 0xc
cmp edx, 4
jl 0x4f85a0
cmp dword [esp + 0x1c], 0
jl 0x4f876e
cmp dword [esp + 0x14], 0
jge 0x4f87a0
mov dword [ebx + 0x28c], 0
cmp dword [ebx + 0x244], 0xb
jne 0x4f9960
fcompp
fcompp
mov ecx, ebx
call fcn.0050c620
xor al, al
add esp, 0x410
pop ebp
pop edi
pop esi
pop ebx
ret
mov eax, dword [esp + 0x1c]
add dword [esp + 0x1c], 4
add eax, 3
mov dword [esp + 0x30], 0
cdq
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
mov esi, eax
mov eax, dword [esp + 0x14]
add eax, 3
add dword [esp + 0x14], 4
cdq
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
mov ebp, eax
mov eax, dword [esp + 0x14]
cdq
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 8]
fld dword [eax]
fstp dword [esp + 0x1fc]
fld dword [eax + 4]
fstp dword [esp + 0x200]
fld dword [eax + 8]
mov eax, ebp
fstp dword [esp + 0x204]
lea edi, [eax*4]
lea edi, [edi + edi*2]
add dword [esp + 0x30], 2
mov eax, dword [esp + edi + 0xf4]
mov edx, dword [esp + edi + 0xf8]
cmp ebp, esi
mov dword [esp + 0x208], eax
mov eax, dword [esp + edi + 0xfc]
mov dword [esp + 0x20c], edx
mov dword [esp + 0x210], eax
mov eax, ebp
je 0x4f88c0
mov ecx, dword [esp + 0x30]
lea ebp, [ecx*4]
lea ebp, [ebp + ebp*2]
add eax, 3
cdq
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
mov edx, eax
lea edx, [edx*4]
lea edx, [edx + edx*2]
mov edi, dword [esp + edx + 0xf4]
mov dword [esp + ebp + 0x1fc], edi
mov ecx, dword [esp + edx + 0xf8]
mov dword [esp + ebp + 0x200], ecx
mov edx, dword [esp + edx + 0xfc]
mov dword [esp + ebp + 0x204], edx
add ebp, 0xc
inc dword [esp + 0x30]
cmp eax, esi
jne 0x4f8871
mov eax, dword [esp + 0x30]
lea eax, [eax*4]
fld dword [ebx + 0x340]
lea eax, [eax + eax*2]
fstp dword [esp + eax + 0x1fc]
fld dword [ebx + 0x344]
fstp dword [esp + eax + 0x200]
fld dword [ebx + 0x348]
fstp dword [esp + eax + 0x204]
mov eax, dword [esp + 8]
mov dword [esp + 0x2c], 0
fld dword [eax]
mov eax, dword [esp + 8]
fstp dword [esp + 0x238]
fld dword [eax + 4]
mov eax, dword [esp + 8]
fstp dword [esp + 0x23c]
fld dword [eax + 8]
mov eax, dword [esp + 0x40]
fstp dword [esp + 0x240]
lea ebp, [eax*4]
lea ebp, [ebp + ebp*2]
add dword [esp + 0x2c], 2
mov eax, dword [esp + ebp + 0xf4]
mov edi, dword [esp + ebp + 0xf8]
mov dword [esp + 0x244], eax
mov eax, dword [esp + ebp + 0xfc]
mov dword [esp + 0x24c], eax
mov eax, dword [esp + 0x40]
mov ecx, eax
mov dword [esp + 0x248], edi
cmp ecx, dword [esp + 0x3c]
je 0x4f89d1
mov edx, dword [esp + 0x2c]
lea ecx, [edx*4]
lea ecx, [ecx + ecx*2]
mov eax, eax
add eax, 5
cdq
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
mov esi, eax
lea esi, [esi*4]
lea esi, [esi + esi*2]
mov ebp, dword [esp + esi + 0xf4]
mov dword [esp + ecx + 0x238], ebp
mov edx, dword [esp + esi + 0xf8]
mov dword [esp + ecx + 0x23c], edx
mov edi, dword [esp + esi + 0xfc]
mov dword [esp + ecx + 0x240], edi
add ecx, 0xc
inc dword [esp + 0x2c]
cmp eax, dword [esp + 0x3c]
jne 0x4f8980
mov eax, dword [esp + 0x2c]
lea eax, [eax*4]
fld dword [ebx + 0x340]
lea eax, [eax + eax*2]
fstp dword [esp + eax + 0x238]
fld dword [ebx + 0x344]
fstp dword [esp + eax + 0x23c]
fld dword [ebx + 0x348]
fstp dword [esp + eax + 0x240]
fld dword [0x691e34]
fstp dword [esp + 0x8c]
fld dword [0x691e34]
fstp dword [esp + 0x90]
fld dword [0x691e34]
fstp dword [esp + 0x94]
fld dword [esp + 0x8c]
fadd dword [esp + 0xf4]
lea esi, [esp + 0x1fc]
mov eax, dword [esp + 0x30]
lea edi, [esp + 0x278]
mov dword [esp + 0x274], 0
fstp dword [esp + 0x8c]
fld dword [esp + 0x90]
fadd dword [esp + 0xf8]
mov byte [esp + 0x4c], 1
mov dword [esp + 0x44], eax
inc dword [esp + 0x44]
mov eax, 1
fstp dword [esp + 0x90]
fld dword [esp + 0x94]
fadd dword [esp + 0xfc]
fstp dword [esp + 0x94]
fld dword [esp + 0x8c]
fadd dword [esp + 0x100]
fstp dword [esp + 0x8c]
fld dword [esp + 0x90]
fadd dword [esp + 0x104]
fstp dword [esp + 0x90]
fld dword [esp + 0x94]
fadd dword [esp + 0x108]
fstp dword [esp + 0x94]
fld dword [esp + 0x8c]
fadd dword [esp + 0x10c]
fstp dword [esp + 0x8c]
fld dword [esp + 0x90]
fadd dword [esp + 0x110]
fstp dword [esp + 0x90]
fld dword [esp + 0x94]
fadd dword [esp + 0x114]
fstp dword [esp + 0x94]
fld dword [esp + 0x8c]
fadd dword [esp + 0x118]
fstp dword [esp + 0x8c]
fld dword [esp + 0x90]
fadd dword [esp + 0x11c]
fstp dword [esp + 0x90]
fld dword [esp + 0x94]
fadd dword [esp + 0x120]
fstp dword [esp + 0x94]
fld dword [esp + 0x8c]
fmul dword [0x691e4c]
fstp dword [esp + 0x8c]
fld dword [esp + 0x90]
fmul dword [0x691e4c]
fstp dword [esp + 0x90]
fld dword [esp + 0x94]
fmul dword [0x691e4c]
fstp dword [esp + 0x94]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add eax, dword [esp + 0x30]
mov dword [esp + 0x10], 1
cmp eax, 1
jle 0x4f9970
fcompp
fcompp
lea ebp, [esp + 0x208]
fld dword [ebp]
fsub dword [esp + 0x278]
lea edi, [esp + 0x284]
fstp dword [esp + 0x3b0]
fld dword [ebp + 4]
fsub dword [esp + 0x27c]
lea esi, [esp + 0x3b0]
fstp dword [esp + 0x3b4]
fld dword [ebp + 8]
fsub dword [esp + 0x280]
fstp dword [esp + 0x3b8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x284]
mov dword [esp + 0x28c], 0
call fcn.004dfec0
fldz
fldz
fld dword [esp + 0x284]
fmul dword [0x691e84]
fstp dword [esp + 0x284]
fld dword [esp + 0x288]
fmul dword [0x691e84]
fstp dword [esp + 0x288]
fld dword [esp + 0x28c]
fmul dword [0x691e84]
mov eax, dword [esp + 0x288]
fstp dword [esp + 0x28c]
fld dword [esp + 0x284]
fchs
fstp st(2)
mov dword [esp + 0x28c], 0
mov dword [esp + 0x284], eax
fld st(1)
fstp dword [esp + 0x288]
fld dword [ebp + 4]
fsub dword [esp + 0x90]
fmul dword [esp + 0x288]
fld dword [ebp]
fsub dword [esp + 0x8c]
fmul dword [esp + 0x284]
faddp st(1)
fld dword [ebp + 8]
fsub dword [esp + 0x94]
fmul dword [esp + 0x28c]
faddp st(1)
fcomp dword [0x691e34]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4f8d02
fld dword [esp + 0x284]
fmul dword [0x691f38]
fstp dword [esp + 0x284]
fld dword [esp + 0x288]
fmul dword [0x691f38]
fstp dword [esp + 0x288]
fld dword [esp + 0x28c]
fmul dword [0x691f38]
fstp dword [esp + 0x28c]
fld dword [esp + 0x278]
fadd dword [esp + 0x284]
lea edi, [esp + 0x290]
push 0
fstp dword [esp + 0x3c0]
fld dword [esp + 0x28c]
fstp st(2)
fld dword [esp + 0x280]
fadd st(2)
fstp dword [esp + 0x3c4]
fld dword [esp + 0x290]
fstp st(1)
lea esi, [esp + 0x3c0]
fld dword [esp + 0x284]
fadd st(1)
fstp dword [esp + 0x3c8]
movsd dword es:[edi], dword [esi]
push 0
push 0
push 0
push 1
push 1
push 1
movsd dword es:[edi], dword [esi]
push 1
movsd dword es:[edi], dword [esi]
fld dword [ebp]
fadd dword [esp + 0x2a4]
lea edi, [esp + 0x2bc]
fstp dword [esp + 0x3e8]
fld dword [ebp + 4]
lea esi, [esp + 0x3e8]
fadd st(2)
fstp dword [esp + 0x3ec]
fld dword [ebp + 8]
fadd st(1)
fstp dword [esp + 0x3f0]
movsd dword es:[edi], dword [esi]
fcompp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x2c8]
lea edi, [esp + 0x294]
push edi
push eax
lea eax, [esp + 0x2a0]
push ebp
push eax
call fcn.004d92f0
add esp, 0x30
test al, al
jne 0x4f8e03
lea eax, [esp + 0x2a8]
lea edx, [esp + 0x274]
lea esi, [esp + 0x29c]
push 0
push 0
push 0
push 0
push 1
push 1
push 1
push 1
push edx
push eax
lea eax, [esp + 0x2b8]
push esi
push eax
call fcn.004d92f0
add esp, 0x30
test al, al
fldz
fldz
fldz
je 0x4f8f1b
mov eax, dword [ebx + 0x284]
mov ecx, dword [esp + 0x274]
cmp ecx, eax
je 0x4f8f10
cmp ecx, ebx
je 0x4f8f10
mov eax, dword [ebx + 0x3a4]
mov edi, ecx
cmp edi, eax
je 0x4f8f10
mov eax, ecx
mov dl, byte [eax + 0x50]
and dl, 7
movzx eax, dl
cmp eax, 3
jne 0x4f8ef7
mov eax, dword [esp + 0x274]
cmp dword [eax + 0x244], 1
jne 0x4f8e74
mov eax, dword [esp + 0x10]
mov byte [esp + 0x4c], 0
mov dword [esp + 0x44], eax
jmp 0x4f9980
fld dword [ebp + 8]
fsub dword [esp + 0x280]
mov esi, dword [esp + 0x274]
add esi, 0x14
fstp st(1)
fld dword [ebp + 4]
fsub dword [esp + 0x27c]
fstp st(2)
fld dword [ebp]
fsub dword [esp + 0x278]
fstp st(3)
fld st(1)
fmul dword [esi + 4]
fld st(3)
fmul dword [esi]
faddp st(1)
fld st(1)
fmul dword [esi + 8]
faddp st(1)
fcomp dword [0x691e34]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4f8ed6
mov eax, dword [esp + 0x10]
mov byte [esp + 0x4c], 0
mov dword [esp + 0x44], eax
jmp 0x4f9990
mov eax, dword [esp + 0x274]
cmp dword [eax + 0x16c], ebx
jne 0x4f8f1b
mov eax, dword [esp + 0x10]
mov byte [esp + 0x4c], 0
mov dword [esp + 0x44], eax
jmp 0x4f99a0
mov eax, dword [esp + 0x10]
mov byte [esp + 0x4c], 0
mov dword [esp + 0x44], eax
jmp 0x4f99b0
mov dword [esp + 0x274], 0
fld dword [ebp]
fstp dword [esp + 0x278]
fld dword [ebp + 4]
mov eax, dword [esp + 0x30]
inc dword [esp + 0x10]
fstp dword [esp + 0x27c]
fld dword [ebp + 8]
inc eax
add ebp, 0xc
fstp dword [esp + 0x280]
fcompp
cmp dword [esp + 0x10], eax
fstp st(0)
jl 0x4f8bb7
lea esi, [esp + 0x238]
mov eax, dword [esp + 0x2c]
lea edi, [esp + 0x2d4]
mov dword [esp + 0x2d0], 0
mov byte [esp + 0x48], 1
mov dword [esp + 0x38], eax
inc dword [esp + 0x38]
mov eax, 1
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add eax, dword [esp + 0x2c]
mov dword [esp + 0xc], 1
cmp eax, 1
jle 0x4f99d0
lea ebp, [esp + 0x244]
fld dword [ebp]
fsub dword [esp + 0x2d4]
lea edi, [esp + 0x2e0]
fstp dword [esp + 0x3d4]
fld dword [ebp + 4]
fsub dword [esp + 0x2d8]
lea esi, [esp + 0x3d4]
fstp dword [esp + 0x3d8]
fld dword [ebp + 8]
fsub dword [esp + 0x2dc]
fstp dword [esp + 0x3dc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x2e0]
mov dword [esp + 0x2e8], 0
call fcn.004dfec0
fldz
fldz
fld dword [esp + 0x2e0]
fmul dword [0x691e84]
fstp dword [esp + 0x2e0]
fld dword [esp + 0x2e4]
fmul dword [0x691e84]
fstp dword [esp + 0x2e4]
fld dword [esp + 0x2e8]
fmul dword [0x691e84]
mov eax, dword [esp + 0x2e4]
fstp dword [esp + 0x2e8]
fld dword [esp + 0x2e0]
fchs
fstp st(2)
mov dword [esp + 0x2e8], 0
mov dword [esp + 0x2e0], eax
fld st(1)
fstp dword [esp + 0x2e4]
fld dword [ebp + 4]
fsub dword [esp + 0x90]
fmul dword [esp + 0x2e4]
fld dword [ebp]
fsub dword [esp + 0x8c]
fmul dword [esp + 0x2e0]
faddp st(1)
fld dword [ebp + 8]
fsub dword [esp + 0x94]
fmul dword [esp + 0x2e8]
faddp st(1)
fcomp dword [0x691e34]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4f90ec
fld dword [esp + 0x2e0]
fmul dword [0x691f38]
fstp dword [esp + 0x2e0]
fld dword [esp + 0x2e4]
fmul dword [0x691f38]
fstp dword [esp + 0x2e4]
fld dword [esp + 0x2e8]
fmul dword [0x691f38]
fstp dword [esp + 0x2e8]
fld dword [esp + 0x2d4]
fadd dword [esp + 0x2e0]
lea edi, [esp + 0x2ec]
push 0
fstp dword [esp + 0x3e4]
fld dword [esp + 0x2e8]
fstp st(2)
fld dword [esp + 0x2dc]
fadd st(2)
fstp dword [esp + 0x3e8]
fld dword [esp + 0x2ec]
fstp st(1)
lea esi, [esp + 0x3e4]
fld dword [esp + 0x2e0]
fadd st(1)
fstp dword [esp + 0x3ec]
movsd dword es:[edi], dword [esi]
push 0
push 0
push 0
push 1
push 1
push 1
movsd dword es:[edi], dword [esi]
push 1
movsd dword es:[edi], dword [esi]
fld dword [ebp]
fadd dword [esp + 0x300]
lea edi, [esp + 0x318]
fstp dword [esp + 0x40c]
fld dword [ebp + 4]
lea esi, [esp + 0x40c]
fadd st(2)
fstp dword [esp + 0x410]
fld dword [ebp + 8]
fadd st(1)
fstp dword [esp + 0x414]
movsd dword es:[edi], dword [esi]
fcompp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x324]
lea esi, [esp + 0x2f0]
push esi
push eax
lea eax, [esp + 0x2fc]
push ebp
push eax
call fcn.004d92f0
add esp, 0x30
test al, al
jne 0x4f91ed
lea eax, [esp + 0x304]
lea ecx, [esp + 0x2d0]
lea edi, [esp + 0x2f8]
push 0
push 0
push 0
push 0
push 1
push 1
push 1
push 1
push ecx
push eax
lea eax, [esp + 0x314]
push edi
push eax
call fcn.004d92f0
add esp, 0x30
test al, al
fldz
fldz
fldz
je 0x4f9300
mov eax, dword [ebx + 0x284]
mov edx, dword [esp + 0x2d0]
cmp edx, eax
je 0x4f92f5
cmp edx, ebx
je 0x4f92f5
mov eax, dword [ebx + 0x3a4]
mov esi, edx
cmp esi, eax
je 0x4f92f5
mov eax, edx
mov cl, byte [eax + 0x50]
and cl, 7
movzx eax, cl
cmp eax, 3
jne 0x4f92e3
mov eax, dword [esp + 0x2d0]
cmp dword [eax + 0x244], 1
jne 0x4f9260
mov eax, dword [esp + 0xc]
mov byte [esp + 0x48], 0
mov dword [esp + 0x38], eax
jmp 0x4f99e0
fld dword [ebp + 8]
fsub dword [esp + 0x2dc]
mov edi, dword [esp + 0x2d0]
add edi, 0x14
fstp st(1)
fld dword [ebp + 4]
fsub dword [esp + 0x2d8]
fstp st(2)
fld dword [ebp]
fsub dword [esp + 0x2d4]
fstp st(3)
fld st(1)
fmul dword [edi + 4]
fld st(3)
fmul dword [edi]
faddp st(1)
fld st(1)
fmul dword [edi + 8]
faddp st(1)
fcomp dword [0x691e34]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4f92c2
mov eax, dword [esp + 0xc]
mov byte [esp + 0x48], 0
mov dword [esp + 0x38], eax
jmp 0x4f99e7
mov eax, dword [esp + 0x2d0]
cmp dword [eax + 0x16c], ebx
jne 0x4f9300
mov eax, dword [esp + 0xc]
mov byte [esp + 0x48], 0
mov dword [esp + 0x38], eax
jmp 0x4f99f0
mov eax, dword [esp + 0xc]
mov byte [esp + 0x48], 0
mov dword [esp + 0x38], eax
jmp 0x4f99f7
mov dword [esp + 0x2d0], 0
fld dword [ebp]
mov eax, dword [esp + 0x2c]
inc dword [esp + 0xc]
fstp dword [esp + 0x2d4]
fld dword [ebp + 4]
inc eax
fstp dword [esp + 0x2d8]
fld dword [ebp + 8]
add ebp, 0xc
cmp dword [esp + 0xc], eax
fstp dword [esp + 0x2dc]
jl 0x4f99c0
fldz
fld dword [0x691e34]
xor edi, edi
cmp dword [esp + 0x30], 0
fstp st(4)
jle 0x4f93b4
xor edx, edx
lea eax, [eax]
fld dword [esp + edx + 0x208]
fsub dword [esp + edx + 0x1fc]
fstp st(3)
fld dword [esp + edx + 0x20c]
fsub dword [esp + edx + 0x200]
fstp st(2)
fld st(1)
fmul st(0)
fld st(3)
fmul st(0)
faddp st(1)
fld dword [esp + edx + 0x210]
fsub dword [esp + edx + 0x204]
fstp st(4)
fld st(3)
fmul st(0)
faddp st(1)
fstp st(3)
fld st(2)
fsqrt
fstp dword [esp + 0xa0]
fld dword [esp + 0xa0]
fstp st(3)
inc edi
add edx, 0xc
fld st(2)
faddp st(4)
cmp edi, dword [esp + 0x30]
jl 0x4f9350
fld dword [0x691e34]
xor ecx, ecx
cmp dword [esp + 0x2c], 0
fstp st(3)
jle 0x4f9429
xor esi, esi
fld dword [esp + esi + 0x244]
fsub dword [esp + esi + 0x238]
fstp st(2)
fld dword [esp + esi + 0x248]
fsub dword [esp + esi + 0x23c]
fst st(1)
fmul st(0)
fld st(2)
fmul st(0)
faddp st(1)
fld dword [esp + esi + 0x24c]
fsub dword [esp + esi + 0x240]
fstp st(3)
fld st(2)
fmul st(0)
faddp st(1)
fstp st(2)
fld st(1)
fsqrt
fstp dword [esp + 0xa0]
fld dword [esp + 0xa0]
fstp st(2)
inc ecx
add esi, 0xc
fld st(1)
faddp st(3)
cmp ecx, dword [esp + 0x2c]
jl 0x4f93c7
cmp byte [esp + 0x4c], 0
je 0x4f9460
cmp byte [esp + 0x48], 0
je 0x4f9460
fld st(3)
fcomp st(3)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4f9450
mov eax, 1
jmp 0x4f952d
mov eax, 2
jmp 0x4f952d
cmp byte [esp + 0x4c], 0
je 0x4f9471
mov eax, 1
jmp 0x4f952d
cmp byte [esp + 0x48], 0
je 0x4f9482
mov eax, 2
jmp 0x4f952d
cmp dword [esp + 0x44], 1
jne 0x4f94a0
cmp dword [esp + 0x38], 1
jle 0x4f94a0
mov eax, 2
jmp 0x4f952d
cmp dword [esp + 0x44], 1
jle 0x4f94b5
cmp dword [esp + 0x38], 1
jne 0x4f94b5
mov eax, 1
jmp 0x4f952d
mov eax, dword [esp + 0x2d0]
mov edi, dword [esp + 0x274]
cmp edi, eax
jne 0x4f94e7
fld st(3)
fcomp st(3)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4f94e0
mov eax, 1
jmp 0x4f952d
mov eax, 2
jmp 0x4f952d
mov ebp, dword [esp + 0x2d0]
movsx eax, word [ebp + 0x5c]
mov edx, dword [eax*4 + 0x92d4d0]
mov eax, dword [esp + 0x274]
movsx esi, word [eax + 0x5c]
mov ecx, dword [edx + 0x1c]
mov edi, dword [esi*4 + 0x92d4d0]
mov eax, dword [edi + 0x1c]
fld dword [eax + 0xc]
fcomp dword [ecx + 0xc]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4f9528
mov eax, 1
jmp 0x4f952d
mov eax, 2
cmp eax, 1
jne 0x4f96b0
mov dword [ebx + 0x260], 0
mov dword [ebx + 0x264], 0
mov dword [ebx + 0x268], 0
mov dword [ebx + 0x26c], 0
mov dword [ebx + 0x270], 0
mov dword [ebx + 0x274], 0
mov dword [ebx + 0x278], 0
mov dword [ebx + 0x27c], 0
mov word [ebx + 0x280], 0
mov word [ebx + 0x282], 0
cmp dword [esp + 0x30], 1
mov ebp, 1
jle 0x4f9824
mov edx, 0xc
lea eax, [eax]
movsx eax, word [ebx + 0x280]
lea esi, [esp + edx + 0x1fc]
lea edi, [esp + 0x3f8]
inc ebp
add edx, 0xc
lea eax, [eax + eax*4]
lea eax, [eax*4]
movsd dword es:[edi], dword [esi]
add eax, ebx
add eax, 0x290
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [0x691e54]
fmul dword [esp + 0x3f8]
fnstcw word [esp + 0x50]
mov ecx, dword [esp + 0x50]
or byte [esp + 0x51], 0xc
fldcw word [esp + 0x50]
fistp dword [esp + 0xa0]
mov esi, dword [esp + 0xa0]
mov dword [esp + 0x50], ecx
fldcw word [esp + 0x50]
mov word [eax + 4], si
fld dword [0x691e54]
fmul dword [esp + 0x3fc]
fnstcw word [esp + 0x50]
mov edi, dword [esp + 0x50]
or byte [esp + 0x51], 0xc
fldcw word [esp + 0x50]
fistp dword [esp + 0xa0]
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x50], edi
fldcw word [esp + 0x50]
mov word [eax + 6], cx
fld dword [0x691e54]
fmul dword [esp + 0x400]
fnstcw word [esp + 0x50]
mov esi, dword [esp + 0x50]
or byte [esp + 0x51], 0xc
fldcw word [esp + 0x50]
mov dword [esp + 0x50], esi
fistp dword [esp + 0xa0]
fldcw word [esp + 0x50]
mov edi, dword [esp + 0xa0]
mov word [eax + 8], di
movsx ecx, word [ebx + 0x280]
mov dword [ebx + ecx*4 + 0x260], eax
inc word [ebx + 0x280]
cmp ebp, dword [esp + 0x30]
jl 0x4f95b0
jmp 0x4f9824
cmp eax, 2
jne 0x4f9824
mov dword [ebx + 0x260], 0
mov dword [ebx + 0x264], 0
mov dword [ebx + 0x268], 0
mov dword [ebx + 0x26c], 0
mov dword [ebx + 0x270], 0
mov dword [ebx + 0x274], 0
mov dword [ebx + 0x278], 0
mov dword [ebx + 0x27c], 0
mov word [ebx + 0x280], 0
mov word [ebx + 0x282], 0
cmp dword [esp + 0x2c], 1
mov edx, 1
jle 0x4f9824
mov ebp, 0xc
movsx eax, word [ebx + 0x280]
lea esi, [esp + ebp + 0x238]
lea edi, [esp + 0x404]
inc edx
add ebp, 0xc
lea eax, [eax + eax*4]
lea eax, [eax*4]
movsd dword es:[edi], dword [esi]
add eax, ebx
add eax, 0x290
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [0x691e54]
fmul dword [esp + 0x404]
fnstcw word [esp + 0x50]
mov ecx, dword [esp + 0x50]
or byte [esp + 0x51], 0xc
fldcw word [esp + 0x50]
fistp dword [esp + 0xa0]
mov esi, dword [esp + 0xa0]
mov dword [esp + 0x50], ecx
fldcw word [esp + 0x50]
mov word [eax + 4], si
fld dword [0x691e54]
fmul dword [esp + 0x408]
fnstcw word [esp + 0x50]
mov edi, dword [esp + 0x50]
or byte [esp + 0x51], 0xc
fldcw word [esp + 0x50]
fistp dword [esp + 0xa0]
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x50], edi
fldcw word [esp + 0x50]
mov word [eax + 6], cx
fld dword [0x691e54]
fmul dword [esp + 0x40c]
fnstcw word [esp + 0x50]
mov esi, dword [esp + 0x50]
or byte [esp + 0x51], 0xc
fldcw word [esp + 0x50]
mov dword [esp + 0x50], esi
fistp dword [esp + 0xa0]
fldcw word [esp + 0x50]
mov edi, dword [esp + 0xa0]
mov word [eax + 8], di
movsx ecx, word [ebx + 0x280]
mov dword [ebx + ecx*4 + 0x260], eax
inc word [ebx + 0x280]
cmp edx, dword [esp + 0x2c]
jl 0x4f9730
cmp word [ebx + 0x280], 0
jne 0x4f9860
mov dword [ebx + 0x28c], 0
cmp dword [ebx + 0x244], 0xb
jne 0x4f9a00
fcompp
fcompp
mov ecx, ebx
call fcn.0050c620
xor al, al
add esp, 0x410
pop ebp
pop edi
pop esi
pop ebx
ret
mov eax, dword [ebx + 0x248]
mov dword [ebx + 0x248], 0
cmp dword [ebx + 0x248], 0
jne 0x4f9909
mov edi, dword [ebx + 0x244]
cmp edi, 0x26
jg 0x4f98a4
cmp edi, 0x16
je 0x4f98a4
lea ecx, [edi - 0x10]
cmp ecx, 1
jbe 0x4f98a4
cmp edi, 0x1f
je 0x4f98a4
cmp edi, 0xc
je 0x4f98a4
cmp edi, 2
jne 0x4f98a8
xor cl, cl
jmp 0x4f98aa
mov cl, 1
test cl, cl
je 0x4f9909
cmp edi, 5
jne 0x4f98d8
mov dl, byte [ebx + 0x14e]
and dl, 0x7f
or dl, 0x80
mov byte [ebx + 0x14e], dl
cmp dword [ebx + 0x24c], 1
jg 0x4f98d8
mov dword [ebx + 0x24c], 2
cmp dword [ebx + 0x244], 1
je 0x4f9909
mov ebp, dword [ebx + 0x244]
mov dword [ebx + 0x248], ebp
mov esi, dword [ebx + 0x24c]
mov edi, dword [ebx + 0x254]
cmp esi, edi
jl 0x4f9909
mov ecx, dword [ebx + 0x24c]
mov dword [ebx + 0x254], ecx
cmp dword [ebx + 0x248], 0
jne 0x4f9918
mov dword [ebx + 0x248], eax
fcompp
fcompp
mov dword [ebx + 0x244], 0xb
mov eax, dword [ebx + 0x350]
mov dword [ebx + 0x24c], eax
add esp, 0x410
pop ebp
mov al, 1
pop edi
pop esi
pop ebx
ret
fstp st(0)
jmp 0x4f7c22
fcompp
fstp st(0)
jmp 0x4f7c22
fcompp
fcompp
jmp 0x4f84f0
fcompp
fcompp
jmp 0x4f8790
fcompp
fcompp
jmp 0x4f8f53
fcompp
fstp st(0)
jmp 0x4f8f53
fcompp
fstp st(0)
jmp 0x4f8f53
fcompp
fstp st(0)
jmp 0x4f8f53
fcompp
fstp st(0)
jmp 0x4f8f53
fcompp
fstp st(0)
jmp 0x4f8fa1
fldz
fldz
fldz
fldz
jmp 0x4f9336
fldz
jmp 0x4f9336
fldz
jmp 0x4f9336
fldz
jmp 0x4f9336
fldz
jmp 0x4f9336
fcompp
fcompp
jmp 0x4f9850