Function at 0x10063900
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x44
push ebx
push ebp
mov ebp, ecx
push esi
push edi
mov eax, dword [ebp + 0x458]
mov ebx, dword [ebp + 0x48]
mov esi, dword [ebp + 0x1c]
lea edi, [eax*8]
sub edi, eax
test byte [ebp + 4], 2
jne 0x10063959
movzx esi, word [ebx + edi*4 + 4]
movzx eax, word [ebx + edi*4 + 6]
mov edx, esi
push ecx
push 0x2e
sub esp, 0xc
push eax
call fcn.100635f0
movzx eax, word [ebx + edi*4 + 6]
lea edx, [esi + 0x6d]
add esp, 0x14
mov ecx, ebp
push 0x58
sub esp, 0xc
push eax
call fcn.100635f0
add esp, 0x18
jmp 0x1006398b
movzx edx, word [ebx + edi*4 + 6]
movzx eax, word [ebx + edi*4 + 4]
imul edx, esi
add edx, eax
mov eax, dword [ebp + 0x14]
lea ecx, [edx + esi]
mov byte [ecx + eax + 1], 0xff
mov eax, dword [ebp + 0x14]
add eax, edx
mov byte [eax + esi], 0xff
mov eax, dword [ebp + 0x14]
mov byte [eax + edx + 1], 0xff
mov eax, dword [ebp + 0x14]
mov byte [edx + eax], 0xff
test byte [ebp + 4], 4
movzx eax, word [ebx + edi*4 + 4]
movd xmm1, eax
movzx eax, word [ebx + edi*4 + 6]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
addss xmm1, dword [0x101c7324]
cvtdq2ps xmm0, xmm0
mulss xmm1, dword [ebp + 0x24]
addss xmm0, dword [0x101c7324]
movss dword [ebp + 0x2c], xmm1
mulss xmm0, dword [ebp + 0x28]
movss dword [ebp + 0x30], xmm0
jne 0x10063b35
mov eax, dword [ebp + 0x45c]
lea edx, [ebp + 0x58]
mov dword [esp + 0x18], edx
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [ebp + 0x48]
xor esi, esi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], esi
movzx edi, word [eax + ecx*4]
mov ebx, edi
sub ebx, esi
movzx esi, word [eax + ecx*4 + 6]
add esi, dword [esp + 0x14]
imul esi, dword [ebp + 0x1c]
movzx eax, word [eax + ecx*4 + 4]
shr ebx, 1
push ebx
push 0
add esi, eax
add esi, dword [ebp + 0x14]
push esi
call fcn.101383d0
add esp, 0xc
add esi, ebx
push dword [esp + 0x14]
push 0xff
push esi
call fcn.101383d0
mov eax, dword [esp + 0x20]
add esp, 0xc
sub edi, ebx
sub edi, eax
add eax, esi
push edi
push 0
push eax
call fcn.101383d0
mov esi, dword [esp + 0x2c]
add esp, 0xc
mov ecx, dword [esp + 0x1c]
movzx edx, word [esi + ecx*4 + 4]
movzx ecx, word [esi + ecx*4 + 6]
add edx, ebx
mov esi, dword [esp + 0x14]
add ecx, esi
lea eax, [ecx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101c7d70]
lea eax, [edx - 1]
cvtpd2ps xmm2, xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
mulss xmm2, dword [ebp + 0x28]
addsd xmm0, qword [ecx*8 + 0x101c7d70]
mov ecx, dword [esp + 0x1c]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [ebp + 0x28]
addss xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
mulss xmm2, dword [0x101c7324]
addsd xmm0, qword [eax*8 + 0x101c7d70]
lea eax, [esi + 1]
inc esi
add eax, edx
movss dword [esp + 0x48], xmm2
movss dword [esp + 0x50], xmm2
mov dword [esp + 0x14], esi
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [ebp + 0x24]
movss dword [esp + 0x44], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101c7d70]
mov eax, dword [esp + 0x18]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [ebp + 0x24]
movss dword [esp + 0x4c], xmm0
movups xmm0, xmmword [esp + 0x44]
movups xmmword [eax], xmm0
add eax, 0x10
cmp esi, 0x40
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
jb 0x100639f8
xor eax, eax
mov dword [esp + 0x18], eax
cmp dword [ebp + 0x40], eax
jle 0x10063d44
xor ecx, ecx
mov dword [esp + 0x14], ecx
nop word [eax + eax]
mov edi, dword [ebp + 0x48]
add edi, ecx
mov ebx, dword [edi + 0x18]
test ebx, ebx
je 0x10063d2f
mov edx, dword [edi + 8]
mov dword [esp + 0x24], edx
test edx, edx
je 0x10063d2f
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
movd xmm0, eax
add eax, esi
mulss xmm2, dword [ebp + 0x28]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x34], xmm2
mulss xmm0, dword [ebp + 0x24]
movd xmm2, eax
lea eax, [edx + ecx]
cvtdq2ps xmm2, xmm2
lea ecx, [ebx + 0x20]
movss dword [esp + 0x30], xmm0
mulss xmm2, dword [ebp + 0x24]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x38], xmm2
movss xmm2, dword [edi + 0x10]
addss xmm0, xmm2
movd xmm1, eax
mov eax, dword [ebx + 0x20]
cvtdq2ps xmm1, xmm1
inc eax
push eax
movss dword [esp + 0x30], xmm2
mulss xmm1, dword [ebp + 0x28]
movss dword [esp + 0x2c], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x40], xmm1
movss xmm1, dword [edi + 0x14]
addss xmm0, xmm1
movss dword [esp + 0x20], xmm1
movss dword [esp + 0x24], xmm0
movss xmm0, dword [edi + 0xc]
movss dword [esp + 0x44], xmm0
call fcn.10067550
mov eax, dword [ebx + 0x20]
mov esi, dword [ebx + 0x28]
movss xmm2, dword [esp + 0x28]
movss xmm3, dword [esp + 0x2c]
movss xmm0, dword [esp + 0x20]
lea edx, [eax + eax*4]
mov ecx, dword [esi + edx*8 - 0x28]
mov eax, dword [esp + 0x24]
and ecx, 0x80000000
movss xmm1, dword [esp + 0x1c]
movzx eax, ax
or ecx, eax
ucomiss xmm3, xmm2
lahf
test ah, 0x44
jnp 0x10063c68
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x10063c68
mov eax, 0x80000000
jmp 0x10063c6a
xor eax, eax
movss dword [esi + edx*8 - 0x14], xmm0
and ecx, 0x7fffffff
movss xmm0, dword [esp + 0x30]
or ecx, eax
movss dword [esi + edx*8 - 0x10], xmm0
movss xmm0, dword [esp + 0x34]
movss dword [esi + edx*8 - 0xc], xmm0
movss xmm0, dword [esp + 0x38]
movss dword [esi + edx*8 - 8], xmm0
movss xmm0, dword [esp + 0x3c]
movss dword [esi + edx*8 - 4], xmm0
movss xmm0, dword [esp + 0x40]
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 [ebx + 0x30]
movd xmm2, dword [eax + 0x10]
mov byte [ebx + 0x3e], 1
movd xmm1, dword [eax + 0x1c]
movss xmm0, dword [esi + edx*8 - 8]
subss xmm0, dword [esi + edx*8 - 0x10]
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm2, xmm2
mulss xmm1, xmm0
addss xmm2, dword [0x101c7360]
movd xmm0, dword [eax + 0x20]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm2
cvttss2si ecx, xmm1
movss xmm1, dword [esi + edx*8 - 4]
subss xmm1, dword [esi + edx*8 - 0xc]
mulss xmm1, xmm0
addss xmm1, xmm2
cvttss2si eax, xmm1
imul ecx, eax
mov eax, dword [esp + 0x18]
add dword [ebx + 0x4c], ecx
mov ecx, dword [esp + 0x14]
inc eax
add ecx, 0x1c
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
cmp eax, dword [ebp + 0x40]
jl 0x10063b50
xor esi, esi
cmp dword [ebp + 0x34], esi
jle 0x10063df7
nop
mov eax, dword [ebp + 0x3c]
mov ecx, dword [eax + esi*4]
cmp byte [ecx + 0x3e], 0
je 0x10063d61
call fcn.10064380
mov eax, dword [ebp + 0x34]
inc esi
cmp esi, eax
jl 0x10063d50
xor esi, esi
mov dword [esp + 0x1c], esi
test eax, eax
jle 0x10063df7
mov ecx, 0xffff
mov edx, 0x2026
mov ebx, 0x85
mov eax, dword [ebp + 0x3c]
mov esi, dword [eax + esi*4]
cmp word [esi + 0x3c], cx
jne 0x10063de9
mov ebx, dword [esi + 0x14]
xor edx, edx
mov dword [esp + 0x20], 0x852026
nop
movzx edi, word [esp + edx*2 + 0x20]
mov ecx, edi
cmp ecx, ebx
jae 0x10063dc9
mov eax, dword [esi + 0x1c]
movzx eax, word [eax + ecx*2]
mov ecx, 0xffff
cmp ax, cx
je 0x10063dce
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x28]
lea eax, [eax + ecx*8]
test eax, eax
jne 0x10063dd6
mov ecx, 0xffff
inc edx
cmp edx, 2
jl 0x10063da0
jmp 0x10063ddf
mov word [esi + 0x3c], di
mov ecx, 0xffff
mov ebx, 0x85
mov edx, 0x2026
mov esi, dword [esp + 0x1c]
inc esi
mov dword [esp + 0x1c], esi
cmp esi, dword [ebp + 0x34]
jl 0x10063d86
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret