Function at 0x513670
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x44
mov eax, dword [ebp + 0xc]
xorps xmm5, xmm5
movss xmm3, dword [0x565314]
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov ebx, eax
sub ebx, edi
cmp edi, eax
movaps xmm1, xmm5
movaps xmm2, xmm5
movaps xmm4, xmm5
mov esi, ecx
mov dword [esp + 0xc], edi
mov dword [esp + 0x14], ebx
movss dword [esp + 0x20], xmm1
movss dword [esp + 0x24], xmm2
movss dword [esp + 0x28], xmm4
movss dword [esp + 0x2c], xmm5
jge 0x513836
mov edx, edi
mov ecx, edi
shl edx, 6
shl ecx, 4
mov dword [esp + 0x10], ebx
cmp byte [esi + 0x48], 0
je 0x513786
mov eax, dword [esi + 0x80]
movzx edi, word [eax + ecx]
movss xmm5, dword [0x5652d0]
movss xmm7, dword [esi + 0x14]
add eax, ecx
mov ebx, dword [esp + 0x14]
cvtsi2ss xmm0, edi
movzx edi, word [eax + 2]
cvtsi2ss xmm6, edi
movzx edi, word [eax + 4]
cvtsi2ss xmm2, edi
movzx edi, word [eax + 6]
movaps xmm4, xmm5
divss xmm4, dword [esi + 0x34]
mulss xmm6, xmm4
movaps xmm1, xmm5
divss xmm5, dword [esi + 0x38]
divss xmm1, dword [esi + 0x30]
mulss xmm2, xmm5
mulss xmm0, xmm1
addss xmm0, dword [esi + 0x10]
addss xmm7, xmm6
movss xmm6, dword [esi + 0x18]
addss xmm6, xmm2
cvtsi2ss xmm2, edi
movzx edi, word [eax + 8]
movzx eax, word [eax + 0xa]
movss dword [esp + 0x30], xmm0
mulss xmm2, xmm1
movss xmm1, dword [esi + 0x14]
addss xmm2, dword [esi + 0x10]
cvtsi2ss xmm0, edi
mov edi, dword [ebp + 8]
mulss xmm0, xmm4
addss xmm1, xmm0
movss xmm0, dword [esi + 0x18]
cvtsi2ss xmm4, eax
mulss xmm4, xmm5
addss xmm0, xmm4
jmp 0x5137d5
mov eax, dword [esi + 0x58]
movq xmm0, qword [eax + edx]
add eax, edx
movq qword [esp + 0x30], xmm0
movq xmm0, qword [eax + 8]
movss xmm7, dword [esp + 0x34]
movq qword [esp + 0x38], xmm0
movq xmm0, qword [eax + 0x10]
movss xmm6, dword [esp + 0x38]
movq qword [esp + 0x40], xmm0
movq xmm0, qword [eax + 0x18]
movss xmm1, dword [esp + 0x44]
movss xmm2, dword [esp + 0x40]
movq qword [esp + 0x48], xmm0
movss xmm0, dword [esp + 0x48]
addss xmm2, dword [esp + 0x30]
addss xmm1, xmm7
addss xmm0, xmm6
mulss xmm2, xmm3
addss xmm2, dword [esp + 0x20]
mulss xmm1, xmm3
addss xmm1, dword [esp + 0x24]
mulss xmm0, xmm3
addss xmm0, dword [esp + 0x28]
add ecx, 0x10
add edx, 0x40
sub dword [esp + 0x10], 1
movss dword [esp + 0x20], xmm2
movss dword [esp + 0x24], xmm1
movss dword [esp + 0x28], xmm0
jne 0x5136d2
xorps xmm5, xmm5
mov eax, dword [ebp + 0xc]
movaps xmm2, xmm1
movss xmm1, dword [esp + 0x20]
movaps xmm4, xmm0
cmp edi, eax
movss xmm0, dword [0x5652d0]
mov edx, dword [ebp + 0x10]
cvtsi2ss xmm6, ebx
divss xmm0, xmm6
mulss xmm1, xmm0
mulss xmm2, xmm0
mulss xmm4, xmm0
movss dword [esp + 0x20], xmm1
movss dword [esp + 0x24], xmm2
movss dword [esp + 0x28], xmm4
movss xmm0, dword [esp + edx*4 + 0x20]
mov ecx, edi
movss dword [esp + 0x1c], xmm0
mov dword [esp + 0x10], ecx
jge 0x5139f6
mov ebx, edi
lea edx, [esp + edx*4 + 0x20]
shl ebx, 6
movss dword [esp + 0x2c], xmm5
mov dword [esp + 0x18], edx
shl edi, 4
cmp byte [esi + 0x48], 0
je 0x5138e8
mov eax, dword [esi + 0x80]
movzx edx, word [eax + edi]
movss xmm5, dword [esi + 0x14]
movss xmm4, dword [esi + 0x18]
add eax, edi
cvtsi2ss xmm0, edx
movzx edx, word [eax + 2]
movzx eax, word [eax + 4]
divss xmm0, dword [esi + 0x30]
addss xmm0, dword [esi + 0x10]
cvtsi2ss xmm1, edx
divss xmm1, dword [esi + 0x34]
cvtsi2ss xmm2, eax
divss xmm2, dword [esi + 0x38]
movaps xmm7, xmm0
addss xmm5, xmm1
addss xmm4, xmm2
jmp 0x513915
mov eax, dword [esi + 0x58]
movq xmm0, qword [eax + ebx]
add eax, ebx
movq qword [esp + 0x40], xmm0
movq xmm0, qword [eax + 8]
movss xmm5, dword [esp + 0x44]
movss xmm7, dword [esp + 0x40]
movq qword [esp + 0x48], xmm0
movss xmm4, dword [esp + 0x48]
cmp byte [esi + 0x48], 0
je 0x513964
mov edx, dword [esi + 0x80]
movss xmm1, dword [esi + 0x14]
lea eax, [edx + edi + 6]
movzx edx, word [eax]
cvtsi2ss xmm2, edx
movzx edx, word [eax + 2]
movzx eax, word [eax + 4]
divss xmm2, dword [esi + 0x30]
addss xmm2, dword [esi + 0x10]
cvtsi2ss xmm0, edx
divss xmm0, dword [esi + 0x34]
addss xmm1, xmm0
movss xmm0, dword [esi + 0x18]
cvtsi2ss xmm6, eax
divss xmm6, dword [esi + 0x38]
addss xmm0, xmm6
jmp 0x513994
mov edx, dword [esi + 0x58]
movq xmm0, qword [edx + ebx + 0x10]
lea eax, [edx + ebx + 0x10]
movq qword [esp + 0x30], xmm0
movq xmm0, qword [eax + 8]
movss xmm1, dword [esp + 0x34]
movss xmm2, dword [esp + 0x30]
movq qword [esp + 0x38], xmm0
movss xmm0, dword [esp + 0x38]
mov eax, dword [esp + 0x18]
addss xmm0, xmm4
addss xmm2, xmm7
addss xmm1, xmm5
mulss xmm0, xmm3
mulss xmm2, xmm3
mulss xmm1, xmm3
movss dword [esp + 0x20], xmm2
movss dword [esp + 0x24], xmm1
movss dword [esp + 0x28], xmm0
movss xmm0, dword [eax]
comiss xmm0, dword [esp + 0x1c]
jbe 0x5139e2
mov edx, dword [esp + 0xc]
push edx
push ecx
mov ecx, esi
call fcn.00513560
inc dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
inc ecx
add edi, 0x10
add ebx, 0x40
cmp ecx, dword [ebp + 0xc]
mov dword [esp + 0x10], ecx
jl 0x513897
mov ecx, dword [esp + 0x14]
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0xc]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + edi]
cmp esi, edx
jle 0x513a20
mov edx, dword [ebp + 0xc]
sub edx, eax
dec edx
cmp esi, edx
jl 0x513a2f
sar ecx, 1
add ecx, edi
mov eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc