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

Disassembly:
sub esp, 0x110
mov edx, dword [esp + 0x114]
push ebx
mov ecx, dword [esp + 0x124]
push ebp
lea edx, [edx + edx*2]
shl edx, 1
push esi
mov esi, eax
push edi
lea eax, [edx + edx*2]
lea edi, [ecx + eax*8]
mov eax, dword [esp + 0x128]
mov ebx, dword [eax]
mov ecx, edi
mov dword [ecx], ebx
mov ebx, dword [eax + 4]
mov dword [ecx + 4], ebx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x12c]
mov ebx, dword [eax]
lea ecx, [edi + 0xc]
mov dword [ecx], ebx
mov ebx, dword [eax + 4]
mov dword [ecx + 4], ebx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov ebx, dword [esp + 0x134]
mov ecx, edx
shl ecx, 5
add ecx, ebx
mov dword [esp + 0x28], ecx
lea eax, [esi + 0x30]
mov ebx, eax
mov ebp, dword [ebx]
mov dword [ecx], ebp
mov ebp, dword [ebx + 4]
mov dword [ecx + 4], ebp
mov ebp, dword [ebx + 8]
mov dword [ecx + 8], ebp
mov ebx, dword [ebx + 0xc]
mov dword [ecx + 0xc], ebx
add ecx, 0x10
mov ebx, eax
mov ebp, dword [ebx]
mov dword [ecx], ebp
mov ebp, dword [ebx + 4]
mov dword [ecx + 4], ebp
mov ebp, dword [ebx + 8]
mov dword [ecx + 8], ebp
mov ebx, dword [ebx + 0xc]
mov dword [ecx + 0xc], ebx
mov ebx, dword [esp + 0x138]
mov ecx, edx
shl ecx, 4
add ecx, ebx
mov dword [esp + 0x1c], 0
mov ebx, dword [esp + 0x1c]
mov dword [ecx], ebx
mov dword [esp + 0x20], 0x3f800000
mov ebx, dword [esp + 0x20]
mov dword [ecx + 4], ebx
mov dword [esp + 0x14], 0
mov ebx, dword [esp + 0x14]
mov dword [ecx + 8], ebx
mov dword [esp + 0x18], 0
mov ebx, dword [esp + 0x18]
mov dword [ecx + 0xc], ebx
mov ebx, dword [esi + 0x24]
mov dword [ebx + edx*4], 0
mov ebx, dword [esp + 0x128]
mov ebp, dword [ebx]
mov dword [esp + 0x24], edi
add edi, 0x18
mov dword [edi], ebp
mov ebp, dword [ebx + 4]
mov dword [edi + 4], ebp
mov ebx, dword [ebx + 8]
mov dword [edi + 8], ebx
mov edi, dword [esp + 0x24]
add edi, 0x24
mov ebx, dword [esp + 0x12c]
mov ebp, dword [ebx]
mov dword [edi], ebp
mov ebp, dword [ebx + 4]
mov dword [edi + 4], ebp
mov ebx, dword [ebx + 8]
mov dword [edi + 8], ebx
mov edi, dword [esp + 0x28]
add edi, 0x20
mov ebx, eax
mov ebp, dword [ebx]
mov dword [edi], ebp
mov ebp, dword [ebx + 4]
mov dword [edi + 4], ebp
mov ebp, dword [ebx + 8]
mov dword [edi + 8], ebp
mov ebx, dword [ebx + 0xc]
mov dword [edi + 0xc], ebx
mov edi, dword [esp + 0x28]
add edi, 0x30
mov ebx, eax
mov ebp, dword [ebx]
mov dword [edi], ebp
mov ebp, dword [ebx + 4]
mov dword [edi + 4], ebp
mov ebp, dword [ebx + 8]
mov dword [edi + 8], ebp
mov ebx, dword [ebx + 0xc]
mov dword [edi + 0xc], ebx
mov ebx, dword [esp + 0x130]
mov dword [esp + 0x1c], 0
mov edi, dword [esp + 0x1c]
mov dword [ecx + 0x10], edi
mov dword [esp + 0x20], 0x3f800000
mov edi, dword [esp + 0x20]
mov dword [ecx + 0x14], edi
mov dword [esp + 0x14], 0
mov edi, dword [esp + 0x14]
mov dword [ecx + 0x18], edi
mov dword [esp + 0x18], 0
mov edi, dword [esp + 0x18]
mov dword [ecx + 0x1c], edi
mov edi, dword [esi + 0x24]
mov dword [edi + edx*4 + 4], 0
lea edi, [edx + 2]
mov dword [esp + 0x10], edi
lea edi, [edi + edi*2]
lea edi, [ebx + edi*8]
mov ebx, dword [esp + 0x128]
mov ebp, dword [ebx]
mov dword [edi], ebp
mov ebp, dword [ebx + 4]
mov dword [edi + 4], ebp
mov ebx, dword [ebx + 8]
mov dword [edi + 8], ebx
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x12c]
mov ebp, dword [ebx]
add edi, 0x3c
mov dword [edi], ebp
mov ebp, dword [ebx + 4]
mov dword [edi + 4], ebp
mov ebx, dword [ebx + 8]
mov dword [edi + 8], ebx
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x134]
shl edi, 5
add edi, ebx
mov ebx, eax
mov ebp, dword [ebx]
mov dword [edi], ebp
mov ebp, dword [ebx + 4]
mov dword [edi + 4], ebp
mov ebp, dword [ebx + 8]
mov dword [edi + 8], ebp
mov ebx, dword [ebx + 0xc]
mov dword [edi + 0xc], ebx
mov edi, dword [esp + 0x28]
mov ebx, eax
mov ebp, dword [ebx]
add edi, 0x50
mov dword [edi], ebp
mov ebp, dword [ebx + 4]
mov dword [edi + 4], ebp
mov ebp, dword [ebx + 8]
mov dword [edi + 8], ebp
mov ebx, dword [ebx + 0xc]
mov dword [edi + 0xc], ebx
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x138]
shl ebx, 4
mov dword [esp + 0x1c], 0
mov ebp, dword [esp + 0x1c]
mov dword [ebx + edi], ebp
mov dword [esp + 0x20], 0x3f800000
mov ebp, dword [esp + 0x20]
mov dword [ebx + edi + 4], ebp
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x14], 0
mov edi, dword [esp + 0x14]
mov dword [ecx + 0x28], edi
mov dword [esp + 0x18], 0
mov edi, dword [esp + 0x18]
mov dword [ecx + 0x2c], edi
mov edi, dword [esi + 0x24]
mov dword [edi + ebx*4], 0
mov ebx, dword [esp + 0x130]
lea edi, [edx + 3]
mov dword [esp + 0x10], edi
lea edi, [edi + edi*2]
lea edi, [ebx + edi*8]
mov ebx, dword [esp + 0x128]
mov ebp, dword [ebx]
mov dword [edi], ebp
mov ebp, dword [ebx + 4]
mov dword [edi + 4], ebp
mov ebx, dword [ebx + 8]
mov dword [edi + 8], ebx
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x12c]
mov ebp, dword [ebx]
add edi, 0x54
mov dword [edi], ebp
mov ebp, dword [ebx + 4]
mov dword [edi + 4], ebp
mov ebx, dword [ebx + 8]
mov dword [edi + 8], ebx
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x134]
shl edi, 5
add edi, ebx
mov ebx, eax
mov ebp, dword [ebx]
mov dword [edi], ebp
mov ebp, dword [ebx + 4]
mov dword [edi + 4], ebp
mov ebp, dword [ebx + 8]
mov dword [edi + 8], ebp
mov ebx, dword [ebx + 0xc]
mov dword [edi + 0xc], ebx
mov edi, dword [esp + 0x28]
add edi, 0x70
mov ebx, eax
mov ebp, dword [ebx]
mov dword [edi], ebp
mov ebp, dword [ebx + 4]
mov dword [edi + 4], ebp
mov ebp, dword [ebx + 8]
mov dword [edi + 8], ebp
mov ebx, dword [ebx + 0xc]
mov dword [edi + 0xc], ebx
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x138]
mov dword [esp + 0x1c], 0
mov ebp, dword [esp + 0x1c]
shl ebx, 4
mov dword [ebx + edi], ebp
mov dword [esp + 0x20], 0x3f800000
mov ebp, dword [esp + 0x20]
mov dword [ebx + edi + 4], ebp
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov edi, dword [esp + 0x14]
mov dword [ecx + 0x38], edi
mov edi, dword [esp + 0x18]
mov dword [ecx + 0x3c], edi
mov edi, dword [esi + 0x24]
mov ebx, dword [esp + 0x10]
mov dword [edi + ebx*4], 0
mov ebx, dword [esp + 0x130]
lea edi, [edx + 4]
mov dword [esp + 0x10], edi
lea edi, [edi + edi*2]
lea edi, [ebx + edi*8]
mov ebx, dword [esp + 0x128]
mov ebp, dword [ebx]
mov dword [edi], ebp
mov ebp, dword [ebx + 4]
mov dword [edi + 4], ebp
mov ebx, dword [ebx + 8]
mov dword [edi + 8], ebx
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x12c]
mov ebp, dword [ebx]
add edi, 0x6c
mov dword [edi], ebp
mov ebp, dword [ebx + 4]
mov dword [edi + 4], ebp
mov ebx, dword [ebx + 8]
mov dword [edi + 8], ebx
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x134]
shl edi, 5
add edi, ebp
mov ebx, eax
mov ebp, dword [ebx]
mov dword [edi], ebp
mov ebp, dword [ebx + 4]
mov dword [edi + 4], ebp
mov ebp, dword [ebx + 8]
mov dword [edi + 8], ebp
mov ebx, dword [ebx + 0xc]
mov dword [edi + 0xc], ebx
mov edi, dword [esp + 0x28]
add edi, 0x90
mov ebx, eax
mov ebp, dword [ebx]
mov dword [edi], ebp
mov ebp, dword [ebx + 4]
mov dword [edi + 4], ebp
mov ebp, dword [ebx + 8]
mov dword [edi + 8], ebp
mov ebx, dword [ebx + 0xc]
mov dword [edi + 0xc], ebx
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x138]
shl edi, 4
mov dword [esp + 0x1c], 0
mov ebp, dword [esp + 0x1c]
mov dword [edi + ebx], ebp
mov dword [esp + 0x20], 0x3f800000
mov ebp, dword [esp + 0x20]
mov dword [edi + ebx + 4], ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x14], 0
mov edi, dword [esp + 0x14]
mov dword [ecx + 0x48], edi
mov dword [esp + 0x18], 0
mov edi, dword [esp + 0x18]
mov dword [ecx + 0x4c], edi
mov edi, dword [esi + 0x24]
mov dword [edi + ebp*4], 0
mov ebp, dword [esp + 0x130]
add edx, 5
lea edi, [edx + edx*2]
lea edi, [ebp + edi*8]
mov ebp, dword [esp + 0x128]
mov ebp, dword [ebp]
mov dword [edi], ebp
mov ebp, dword [esp + 0x128]
mov ebp, dword [ebp + 4]
mov dword [esp + 0x30], edx
mov dword [edi + 4], ebp
mov ebp, dword [esp + 0x128]
mov ebp, dword [ebp + 8]
mov dword [edi + 8], ebp
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x12c]
mov ebp, dword [ebp]
add edi, 0x84
mov dword [edi], ebp
mov ebp, dword [esp + 0x12c]
mov ebp, dword [ebp + 4]
mov dword [edi + 4], ebp
mov ebp, dword [esp + 0x12c]
mov ebp, dword [ebp + 8]
mov dword [edi + 8], ebp
mov edi, dword [esp + 0x134]
shl edx, 5
add edx, edi
mov edi, eax
mov ebp, dword [edi]
mov dword [edx], ebp
mov ebp, dword [edi + 4]
mov dword [edx + 4], ebp
mov ebp, dword [edi + 8]
mov dword [edx + 8], ebp
mov edi, dword [edi + 0xc]
mov dword [edx + 0xc], edi
mov edx, dword [esp + 0x28]
add edx, 0xb0
mov edi, eax
mov ebp, dword [edi]
mov dword [edx], ebp
mov ebp, dword [edi + 4]
mov dword [edx + 4], ebp
mov ebp, dword [edi + 8]
mov dword [edx + 8], ebp
mov edi, dword [edi + 0xc]
mov dword [edx + 0xc], edi
mov edx, dword [esp + 0x30]
mov edi, edx
shl edi, 4
mov dword [esp + 0x1c], 0
mov ebp, dword [esp + 0x1c]
mov dword [edi + ebx], ebp
mov dword [esp + 0x20], 0x3f800000
mov ebp, dword [esp + 0x20]
mov dword [edi + ebx + 4], ebp
mov dword [esp + 0x14], 0
mov edi, dword [esp + 0x14]
mov dword [ecx + 0x58], edi
mov dword [esp + 0x18], 0
mov edi, dword [esp + 0x18]
mov dword [ecx + 0x5c], edi
mov edi, dword [esp + 0x124]
test edi, edi
mov ecx, dword [esi + 0x24]
mov dword [ecx + edx*4], 0
je 0x5118cb
mov ecx, dword [esp + 0x134]
lea edx, [edi + edi*2]
shl edx, 6
add edx, ecx
lea ecx, [edx - 0xb0]
mov ebp, dword [ecx]
mov dword [esp + 0xc8], ebp
mov ebp, dword [ecx + 4]
mov dword [esp + 0xcc], ebp
mov ebp, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd0], ebp
lea ecx, [edx - 0xc0]
mov ebp, dword [ecx]
mov dword [esp + 0xb0], ebp
mov ebp, dword [ecx + 4]
mov dword [esp + 0xb4], ebp
mov ebp, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0xbc], ecx
lea ecx, [edi + edi*2]
shl ecx, 5
add ecx, ebx
mov ebx, dword [ecx - 0x58]
mov dword [esp + 0xa8], ebx
mov ebx, dword [ecx - 0x54]
mov dword [esp + 0xac], ebx
mov ebx, dword [ecx - 0x60]
mov dword [esp + 0xc0], ebx
mov ebx, dword [ecx - 0x5c]
mov dword [esp + 0xc4], ebx
lea ebx, [edi + edi*2]
shl ebx, 3
mov dword [esp + 0xb8], ebp
mov ebp, dword [esi + 0x24]
fld dword [ebx + ebp - 0x18]
add ebx, 0xffffffec
fld st(0)
add ecx, 0xffffffb0
mov dword [esp + 0x10], 1
fchs
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0x3f800000
mov dword [esp + 0x24], ebx
add edx, 0xffffff60
fild dword [esp + 0x10]
mov ebx, eax
mov ebp, dword [ebx]
mov dword [esp + 0x40], ebp
fmul dword [0x7156f4]
mov ebp, dword [ebx + 4]
fld dword [esp + 0x40]
mov dword [esp + 0x44], ebp
fsub dword [esp + 0xc8]
mov ebp, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
mov dword [esp + 0x4c], ebx
fstp dword [esp + 0x40]
mov ebx, dword [esp + 0x40]
fld dword [esp + 0x44]
mov dword [esp + 0x48], ebp
fsub dword [esp + 0xcc]
mov dword [esp + 0x50], ebx
fstp dword [esp + 0x44]
mov ebx, dword [esp + 0x44]
fld dword [esp + 0x48]
mov dword [esp + 0x54], ebx
fsub dword [esp + 0xd0]
fstp dword [esp + 0x48]
mov ebx, dword [esp + 0x48]
fld dword [esp + 0x4c]
mov dword [esp + 0x58], ebx
fsub dword [esp + 0xd4]
fstp dword [esp + 0x4c]
mov ebx, dword [esp + 0x4c]
fld dword [esp + 0x50]
mov dword [esp + 0x5c], ebx
fmul st(1)
fstp dword [esp + 0x50]
mov ebx, dword [esp + 0x50]
fld dword [esp + 0x54]
mov dword [esp + 0xf8], ebx
fmul st(1)
fstp dword [esp + 0x54]
mov ebx, dword [esp + 0x54]
fld dword [esp + 0x58]
mov dword [esp + 0xfc], ebx
fmul st(1)
fstp dword [esp + 0x58]
mov ebx, dword [esp + 0x58]
fld dword [esp + 0x5c]
mov dword [esp + 0x100], ebx
fmul st(1)
fstp dword [esp + 0x5c]
mov ebx, dword [esp + 0x5c]
fld dword [esp + 0xf8]
mov dword [esp + 0x104], ebx
mov ebx, dword [esp + 0xc8]
mov dword [esp + 0x60], ebx
fadd dword [esp + 0x60]
mov ebx, dword [esp + 0xcc]
mov dword [esp + 0x64], ebx
mov ebx, dword [esp + 0xd0]
fstp dword [esp + 0x60]
fld dword [esp + 0xfc]
mov ebp, dword [esp + 0x60]
fadd dword [esp + 0x64]
mov dword [esp + 0x68], ebx
mov ebx, dword [esp + 0xd4]
mov dword [esp + 0x6c], ebx
fstp dword [esp + 0x64]
lea ebx, [edx + 0x10]
fld dword [esp + 0x100]
mov dword [ebx], ebp
fadd dword [esp + 0x68]
mov ebp, dword [esp + 0x64]
mov dword [ebx + 4], ebp
fstp dword [esp + 0x68]
mov ebp, dword [esp + 0x68]
fld dword [esp + 0x104]
mov dword [ebx + 8], ebp
fadd dword [esp + 0x6c]
fstp dword [esp + 0x6c]
mov ebp, dword [esp + 0x6c]
mov dword [ebx + 0xc], ebp
mov ebx, eax
mov ebp, dword [ebx]
mov dword [esp + 0x78], ebp
fld dword [esp + 0x78]
fsub dword [esp + 0xb0]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x7c], ebp
mov ebp, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
fstp dword [esp + 0x78]
fld dword [esp + 0x7c]
mov dword [esp + 0x84], ebx
fsub dword [esp + 0xb4]
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x80], ebp
mov dword [esp + 0x98], ebx
fstp dword [esp + 0x7c]
mov ebx, dword [esp + 0x7c]
fld dword [esp + 0x80]
mov dword [esp + 0x9c], ebx
fsub dword [esp + 0xb8]
fstp dword [esp + 0x80]
mov ebx, dword [esp + 0x80]
fld dword [esp + 0x84]
mov dword [esp + 0xa0], ebx
fsub dword [esp + 0xbc]
fstp dword [esp + 0x84]
mov ebx, dword [esp + 0x84]
fld dword [esp + 0x98]
mov dword [esp + 0xa4], ebx
fmul st(1)
fstp dword [esp + 0x98]
mov ebx, dword [esp + 0x98]
fld dword [esp + 0x9c]
mov dword [esp + 0xe8], ebx
fmul st(1)
fstp dword [esp + 0x9c]
mov ebx, dword [esp + 0x9c]
fld dword [esp + 0xa0]
mov dword [esp + 0xec], ebx
fmul st(1)
fstp dword [esp + 0xa0]
mov ebx, dword [esp + 0xa0]
fld dword [esp + 0xa4]
mov dword [esp + 0xf0], ebx
fmul st(1)
fstp dword [esp + 0xa4]
mov ebx, dword [esp + 0xa4]
fld dword [esp + 0xe8]
mov dword [esp + 0xf4], ebx
mov ebx, dword [esp + 0xb0]
mov dword [esp + 0x88], ebx
fadd dword [esp + 0x88]
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0x8c], ebx
mov ebx, dword [esp + 0xb8]
fstp dword [esp + 0x88]
fld dword [esp + 0xec]
mov ebp, dword [esp + 0x88]
fadd dword [esp + 0x8c]
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 0x94], ebx
fstp dword [esp + 0x8c]
mov ebx, edx
fld dword [esp + 0xf0]
mov dword [ebx], ebp
fadd dword [esp + 0x90]
mov ebp, dword [esp + 0x8c]
mov dword [ebx + 4], ebp
fstp dword [esp + 0x90]
mov ebp, dword [esp + 0x90]
fld dword [esp + 0xf4]
mov dword [ebx + 8], ebp
fadd dword [esp + 0x94]
fstp dword [esp + 0x94]
mov ebp, dword [esp + 0x94]
mov dword [ebx + 0xc], ebp
mov ebx, dword [esp + 0xe0]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0x20], ebx
fld dword [esp + 0x1c]
mov ebp, dword [esp + 0x24]
fsub dword [esp + 0xa8]
fstp dword [esp + 0x1c]
mov ebx, dword [esp + 0x1c]
fld dword [esp + 0x20]
mov dword [esp + 0x30], ebx
fsub dword [esp + 0xac]
fstp dword [esp + 0x20]
mov ebx, dword [esp + 0x20]
fld dword [esp + 0x30]
mov dword [esp + 0x34], ebx
fmul st(1)
fstp dword [esp + 0x30]
mov ebx, dword [esp + 0x30]
fld dword [esp + 0x34]
mov dword [esp + 0xd8], ebx
fmul st(1)
fstp dword [esp + 0x34]
mov ebx, dword [esp + 0x34]
fld dword [esp + 0xd8]
mov dword [esp + 0xdc], ebx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x14], ebx
fadd dword [esp + 0x14]
mov ebx, dword [esp + 0xac]
mov dword [esp + 0x18], ebx
fstp dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
fld dword [esp + 0xdc]
mov dword [ecx + 8], ebx
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
mov ebx, dword [esp + 0x18]
mov dword [ecx + 0xc], ebx
mov ebx, dword [esp + 0x108]
mov dword [esp + 0x38], ebx
fld dword [esp + 0x38]
fsub dword [esp + 0xc0]
mov ebx, dword [esp + 0x10c]
mov dword [esp + 0x3c], ebx
fstp dword [esp + 0x38]
mov ebx, dword [esp + 0x38]
fld dword [esp + 0x3c]
mov dword [esp + 0x28], ebx
fsub dword [esp + 0xc4]
fstp dword [esp + 0x3c]
mov ebx, dword [esp + 0x3c]
fld dword [esp + 0x28]
mov dword [esp + 0x2c], ebx
fmul st(1)
fstp dword [esp + 0x28]
mov ebx, dword [esp + 0x28]
fld dword [esp + 0x2c]
mov dword [esp + 0x114], ebx
fmul st(1)
fstp dword [esp + 0x2c]
mov ebx, dword [esp + 0x2c]
fld dword [esp + 0x114]
mov dword [esp + 0x118], ebx
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x70], ebx
fadd dword [esp + 0x70]
mov ebx, dword [esp + 0xc4]
mov dword [esp + 0x74], ebx
fstp dword [esp + 0x70]
mov ebx, dword [esp + 0x70]
fld dword [esp + 0x118]
mov dword [ecx], ebx
fadd dword [esp + 0x74]
fstp dword [esp + 0x74]
mov ebx, dword [esp + 0x74]
fld st(1)
mov dword [ecx + 4], ebx
mov ebx, dword [esi + 0x24]
fmul st(1)
fadd st(3)
fstp dword [ebx + ebp]
mov ebx, dword [esp + 0x10]
fstp st(0)
inc ebx
add ebp, 4
add edx, 0x20
add ecx, 0x10
cmp ebx, 6
mov dword [esp + 0x10], ebx
mov dword [esp + 0x24], ebp
jl 0x511410
fstp st(0)
fstp st(0)
mov edx, dword [esp + 0x130]
lea eax, [edi - 2]
cmp eax, edi
jge 0x511a1f
lea ecx, [eax + eax*8]
shl ecx, 4
lea ebx, [ecx + edx + 0x18]
mov ecx, edi
lea esi, [eax + 1]
sub ecx, eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x30], ecx
lea ebx, [ebx]
cmp esi, 1
jl 0x5119fd
xor ecx, ecx
lea eax, [esi - 2]
test eax, eax
setle cl
dec ecx
and ecx, eax
cmp esi, edi
mov eax, esi
jl 0x51191e
mov eax, edi
inc esi
cmp esi, edi
jge 0x511925
mov edi, esi
lea eax, [eax + eax*8]
lea esi, [edi + edi*8]
lea ecx, [ecx + ecx*8]
shl eax, 4
shl esi, 4
add eax, edx
shl ecx, 4
mov ebp, 1
lea edi, [esi + edx]
add ecx, edx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x1c], edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x38], ecx
jmp 0x511960
mov edi, dword [esp + 0x1c]
lea esp, [esp]
fild dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x38]
lea eax, [esp + 0x114]
fmul dword [0x7156f4]
fstp dword [esp + 0x10]
mov edx, dword [esp + 0x10]
push edx
mov edx, dword [esp + 0x28]
push eax
add edx, 0xffffffe8
call fcn.00510b20
mov edx, dword [eax]
mov ecx, ebx
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov ecx, dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x10c]
push edx
mov edx, dword [esp + 0x2c]
add edi, 0xc
add ecx, 0xc
add edx, 0xfffffff4
add esi, 0xc
call fcn.00510b20
mov edx, dword [eax]
lea ecx, [ebx + 0xc]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
inc ebp
add ebx, 0x18
cmp ebp, 6
mov dword [ecx + 8], eax
mov dword [esp + 0x10], ebp
jl 0x511955
mov edx, dword [esp + 0x130]
mov edi, dword [esp + 0x124]
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x30]
inc esi
add ebx, 0x90
dec eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x30], eax
jne 0x511900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x110
ret 0x18