Function at 0x590040
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x3c
mov edx, dword [0xd44044]
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 0x590241
test esi, esi
je 0x59020b
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 0x590236
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 0x5900c0
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 0x590230
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 0x5901cd
movzx eax, byte [ebx + 1]
add ebp, eax
lea eax, [edx + 2]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x5901cd
movzx eax, byte [ebx + 2]
add ebp, eax
lea eax, [edx + 3]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x5901cd
movzx eax, byte [ebx + 3]
add ebp, eax
lea eax, [edx + 4]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x5901cd
movzx eax, byte [ebx + 4]
add ebp, eax
lea eax, [edx + 5]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x5901cd
movzx eax, byte [ebx + 5]
add ebp, eax
lea eax, [edx + 6]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x5901cd
movzx eax, byte [ebx + 6]
add ebp, eax
lea eax, [edx + 7]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x5901cd
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 0x5900a0
mov eax, dword [esp]
shl eax, 0x10
add eax, ebp
mov edx, dword [esp + 0x2c]
sub edx, dword [0xd44044]
jne 0x590248
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [esp + 0x10]
jmp 0x5901d7
mov dword [esp + 0x10], edi
xor edx, edx
jmp 0x590138
mov eax, 1
jmp 0x590213
call fcn.00401690
nop
nop
nop
sub esp, 0x3c
mov eax, dword [0xd44044]
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 0x5902a0
mov edx, dword [esp + 0x2c]
sub edx, dword [0xd44044]
jne 0x59029a
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 [0xd44044]
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.00590840
mov ebx, eax
test eax, eax
je 0x590320
mov eax, dword [esp + 0x4c]
sub eax, dword [0xd44044]
jne 0x590362
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.00590600
mov ebx, eax
cmp eax, 1
je 0x590350
mov dword [esp], esi
call fcn.00590ff0
test ebx, ebx
mov eax, 0xfffffffb
cmove ebx, eax
jmp 0x590304
mov eax, dword [esp + 0x28]
mov dword [edi], eax
mov dword [esp], esi
call fcn.00590ff0
mov ebx, eax
jmp 0x590304
call fcn.00401690
nop
nop
nop
nop
nop
nop
nop
nop
nop
sub esp, 0x2c
mov eax, dword [0xd44044]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.005907b0
mov edx, dword [esp + 0x1c]
sub edx, dword [0xd44044]
jne 0x5903a0
add esp, 0x2c
ret
call fcn.00401690
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop