Function at 0x5876b0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x3c
mov edx, dword [0xd3b044]
mov dword [esp + 0x2c], edx
xor edx, edx
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
mov esi, dword [esp + 0x58]
movzx ebp, ax
shr eax, 0x10
mov dword [esp], eax
test edi, edi
je 0x5878b1
test esi, esi
je 0x58787b
mov eax, 0x5e6ea9af
mul esi
mov ecx, edx
shr ecx, 0xb
imul eax, ecx, 0x15b0
mov ecx, esi
sub ecx, eax
cmp ecx, 7
jbe 0x5878a6
lea esi, [esi]
nop
lea edx, [ecx - 8]
mov dword [esp + 0x14], ecx
mov eax, edx
mov dword [esp + 0x18], edx
shr eax, 3
mov dword [esp + 0x1c], esi
lea eax, [edi + eax*8 + 8]
mov dword [esp + 0x10], eax
lea esi, [esi]
movzx eax, byte [edi]
movzx edx, byte [edi + 2]
add edi, 8
movzx ecx, byte [edi - 3]
add eax, ebp
movzx ebp, byte [edi - 1]
mov esi, eax
movzx eax, byte [edi - 7]
mov dword [esp + 4], esi
add eax, esi
movzx esi, byte [edi - 5]
lea ebx, [edx + eax]
movzx edx, byte [edi - 2]
add esi, ebx
mov dword [esp + 8], ebx
movzx ebx, byte [edi - 4]
mov dword [esp + 0xc], esi
add ebx, esi
mov esi, dword [esp + 4]
add ecx, ebx
add eax, esi
mov esi, dword [esp + 8]
add edx, ecx
add ebp, edx
add eax, esi
mov esi, dword [esp + 0xc]
add eax, esi
add eax, ebx
add eax, ecx
add eax, edx
add eax, ebp
add dword [esp], eax
mov eax, dword [esp + 0x10]
cmp edi, eax
jne 0x587730
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
and edx, 0xfffffff8
add edx, 8
cmp edx, ecx
jae 0x5878a0
mov ebx, dword [esp + 0x10]
movzx eax, byte [ebx]
add ebp, eax
lea eax, [edx + 1]
add dword [esp], ebp
mov edi, dword [esp]
cmp eax, ecx
jae 0x58783d
movzx eax, byte [ebx + 1]
add ebp, eax
lea eax, [edx + 2]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x58783d
movzx eax, byte [ebx + 2]
add ebp, eax
lea eax, [edx + 3]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x58783d
movzx eax, byte [ebx + 3]
add ebp, eax
lea eax, [edx + 4]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x58783d
movzx eax, byte [ebx + 4]
add ebp, eax
lea eax, [edx + 5]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x58783d
movzx eax, byte [ebx + 5]
add ebp, eax
lea eax, [edx + 6]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x58783d
movzx eax, byte [ebx + 6]
add ebp, eax
lea eax, [edx + 7]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x58783d
movzx eax, byte [ebx + 7]
add ebp, eax
add edi, ebp
mov dword [esp], edi
mov edi, dword [esp + 0x10]
mov eax, ecx
sub eax, edx
add edi, eax
mov ebx, 0x80078071
mov eax, ebp
mul ebx
mov eax, dword [esp]
shr edx, 0xf
imul edx, edx, 0xfff1
sub ebp, edx
mul ebx
mov ebx, edx
shr ebx, 0xf
imul ebx, ebx, 0xfff1
sub dword [esp], ebx
sub esi, ecx
mov ecx, 0x15b0
jne 0x587710
mov eax, dword [esp]
shl eax, 0x10
add eax, ebp
mov edx, dword [esp + 0x2c]
sub edx, dword [0xd3b044]
jne 0x5878b8
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [esp + 0x10]
jmp 0x587847
mov dword [esp + 0x10], edi
xor edx, edx
jmp 0x5877a8
mov eax, 1
jmp 0x587883
call fcn.00401690
nop
nop
nop
sub esp, 0x3c
mov eax, dword [0xd3b044]
mov dword [esp + 0x2c], eax
xor eax, eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call 0x587910
mov edx, dword [esp + 0x2c]
sub edx, dword [0xd3b044]
jne 0x58790a
add esp, 0x3c
ret
call fcn.00401690
nop
push ebp
vpxor xmm0, xmm0, xmm0
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0x50
mov edi, dword [ebp + 0xc]
mov eax, dword [0xd3b044]
mov dword [esp + 0x4c], eax
xor eax, eax
mov eax, dword [ebp + 0x10]
lea esi, [esp + 0x14]
vmovdqu xmmword [esp + 0x1c], xmm0
vmovdqu xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x14]
vmovdqu xmmword [esp + 0x3c], xmm0
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x20], eax
mov eax, dword [edi]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x18]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.00587eb0
mov ebx, eax
test eax, eax
je 0x587990
mov eax, dword [esp + 0x4c]
sub eax, dword [0xd3b044]
jne 0x5879d2
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 4
mov dword [esp], esi
call fcn.00587c70
mov ebx, eax
cmp eax, 1
je 0x5879c0
mov dword [esp], esi
call fcn.00588660
test ebx, ebx
mov eax, 0xfffffffb
cmove ebx, eax
jmp 0x587974
mov eax, dword [esp + 0x28]
mov dword [edi], eax
mov dword [esp], esi
call fcn.00588660
mov ebx, eax
jmp 0x587974
call fcn.00401690
nop
nop
nop
nop
nop
nop
nop
nop
nop
sub esp, 0x2c
mov eax, dword [0xd3b044]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00587e20
mov edx, dword [esp + 0x1c]
sub edx, dword [0xd3b044]
jne 0x587a10
add esp, 0x2c
ret
call fcn.00401690
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop