Function at 0x42ea30
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
push ebx
push esi
push edi
mov ebx, ecx
call fcn.0042e6e0
mov ecx, ebx
call fcn.0042e820
xor ecx, ecx
mov dword [esp + 0x1c], ecx
cmp dword [ebx + 0x48], ecx
jle 0x42ec66
xor eax, eax
mov dword [esp + 0x20], eax
nop
mov edi, dword [ebx + 0x50]
add edi, eax
mov dword [esp + 0x14], edi
mov eax, dword [edi + 0x18]
mov dword [esp + 0x18], eax
test eax, eax
je 0x42ec4d
cmp dword [edi + 8], 0
je 0x42ec4d
movzx ecx, word [edi + 6]
movzx eax, word [edi + 4]
movzx esi, word [edi]
movzx edx, word [edi + 2]
movd xmm2, ecx
cvtdq2ps xmm2, xmm2
movzx edi, word [edi + 8]
movd xmm0, eax
add eax, esi
mulss xmm2, dword [ebx + 0x30]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x30], xmm2
mulss xmm0, dword [ebx + 0x2c]
movd xmm2, eax
lea eax, [edx + ecx]
cvtdq2ps xmm2, xmm2
movss dword [esp + 0x2c], xmm0
mulss xmm2, dword [ebx + 0x2c]
movd xmm1, eax
mov eax, dword [esp + 0x14]
movd xmm0, esi
mov esi, dword [esp + 0x18]
cvtdq2ps xmm0, xmm0
lea ecx, [esi + 0x20]
movss dword [esp + 0x34], xmm2
movss xmm2, dword [eax + 0x10]
addss xmm0, xmm2
movss dword [esp + 0x28], xmm2
cvtdq2ps xmm1, xmm1
movss dword [esp + 0x24], xmm0
mulss xmm1, dword [ebx + 0x30]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x38], xmm1
movss xmm1, dword [eax + 0x14]
addss xmm0, xmm1
movss dword [esp + 0x14], xmm1
movss dword [esp + 0x10], xmm0
movss xmm0, dword [eax + 0xc]
mov eax, dword [esi + 0x20]
inc eax
movss dword [esp + 0x3c], xmm0
push eax
call fcn.00430b90
mov eax, dword [esi + 0x20]
mov ecx, edi
mov esi, dword [esi + 0x28]
movss xmm2, dword [esp + 0x24]
movss xmm3, dword [esp + 0x28]
movss xmm0, dword [esp + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [esi + edx*8 - 0x28]
movss xmm1, dword [esp + 0x14]
and eax, 3
shl ecx, 2
or ecx, eax
ucomiss xmm3, xmm2
mov dword [esi + edx*8 - 0x28], ecx
lahf
test ah, 0x44
jnp 0x42eb86
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x42eb86
mov eax, 2
jmp 0x42eb88
xor eax, eax
mov edi, dword [esp + 0x18]
and ecx, 0xfffffffd
movss dword [esi + edx*8 - 0x14], xmm0
or ecx, eax
movss xmm0, dword [esp + 0x2c]
and ecx, 0xfffffffe
movss dword [esi + edx*8 - 0x10], xmm0
movss xmm0, dword [esp + 0x30]
movss dword [esi + edx*8 - 0xc], xmm0
movss xmm0, dword [esp + 0x34]
movss dword [esi + edx*8 - 8], xmm0
movss xmm0, dword [esp + 0x38]
movss dword [esi + edx*8 - 4], xmm0
movss xmm0, dword [esp + 0x3c]
movss dword [esi + edx*8 - 0x1c], xmm1
mov dword [esi + edx*8 - 0x28], ecx
movss dword [esi + edx*8 - 0x24], xmm0
movss dword [esi + edx*8 - 0x18], xmm2
movss dword [esi + edx*8 - 0x20], xmm3
mov eax, dword [edi + 0x30]
movd xmm2, dword [eax + 0xc]
mov byte [edi + 0x40], 1
movd xmm0, dword [eax + 0x28]
movss xmm1, dword [esi + edx*8 - 4]
subss xmm1, dword [esi + edx*8 - 0xc]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm2, xmm2
mulss xmm1, xmm0
addss xmm2, dword [0x4d3780]
movss xmm0, dword [esi + edx*8 - 8]
subss xmm0, dword [esi + edx*8 - 0x10]
addss xmm1, xmm2
cvttss2si ecx, xmm1
movd xmm1, dword [eax + 0x24]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm0
addss xmm1, xmm2
cvttss2si eax, xmm1
imul ecx, eax
add dword [edi + 0x50], ecx
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
inc ecx
add eax, 0x1c
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
cmp ecx, dword [ebx + 0x48]
jl 0x42ea60
xor esi, esi
cmp dword [ebx + 0x3c], esi
jle 0x42ec87
nop dword [eax]
mov eax, dword [ebx + 0x44]
mov ecx, dword [eax + esi*4]
cmp byte [ecx + 0x40], 0
je 0x42ec81
call fcn.0042ee90
inc esi
cmp esi, dword [ebx + 0x3c]
jl 0x42ec70
pop edi
pop esi
mov byte [ebx + 0x18], 1
pop ebx
mov esp, ebp
pop ebp
ret