Function at 0x5d8d40
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x7310c8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xac
mov eax, dword [0x80ffcc]
test eax, eax
je 0x5d8f64
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
lea esi, [ebx + 0x20]
mov ecx, 0xc
lea edi, [ebp - 0xb8]
mov al, byte [ebp + 0xb]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea esi, [ebx + 0x52]
mov ecx, 6
lea edi, [ebp - 0x84]
push 0
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x60]
mov byte [ebp - 0x86], 0
mov byte [ebp - 0x6c], 0
mov byte [ebp - 0x60], al
call fcn.00420210
mov cl, byte [ebp + 0xb]
xor esi, esi
mov byte [ebp - 0x3c], cl
push esi
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], esi
call fcn.00420210
mov dl, byte [ebp + 0xb]
push esi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
mov byte [ebp - 0x28], dl
call fcn.00420210
mov eax, dword [ebx + 2]
mov ecx, dword [ebx + 6]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], ecx
lea edi, [ebp - 0x84]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ebp - 4], 2
mov edi, ecx
lea ecx, [ebp - 0x60]
push edi
mov dword [ebp + 8], edi
call fcn.004219f0
test al, al
je 0x5d8e33
mov ecx, edi
mov edi, dword [ebp - 0x5c]
mov edx, ecx
lea esi, [ebp - 0x84]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x58], eax
xor esi, esi
mov byte [ecx + eax], 0
movsx ecx, word [ebx + 0x10]
movsx eax, word [ebx + 0xc]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x4c], eax
movsx ecx, word [ebx + 0x12]
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x40], eax
lea edi, [ebp - 0xb8]
movsx edx, word [ebx + 0xa]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
mov dword [ebp - 0x50], edx
dec ecx
movsx edx, word [ebx + 0xe]
mov edi, ecx
push 1
push edi
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x44], edx
mov dword [ebp + 8], edi
call fcn.004219f0
test al, al
je 0x5d8ea7
mov ecx, edi
mov edi, dword [ebp - 0x24]
mov edx, ecx
lea esi, [ebp - 0xb8]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
xor esi, esi
mov byte [ecx + eax], 0
mov edx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x18]
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x14], edx
push ecx
mov ecx, 0x80ff30
mov dword [ebp - 0x10], eax
call fcn.00535920
mov ecx, 0x80ff30
call fcn.005357c0
mov ecx, 0x7d67b0
call fcn.00511540
mov eax, dword [ebp - 0x24]
cmp eax, esi
je 0x5d8ef9
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5d8ef0
cmp al, 0xff
je 0x5d8ef0
dec al
mov byte [ecx], al
jmp 0x5d8ef9
push ecx
call fcn.006ffa16
add esp, 4
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x24], esi
cmp eax, esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], esi
je 0x5d8f26
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5d8f1d
cmp al, 0xff
je 0x5d8f1d
dec al
mov byte [ecx], al
jmp 0x5d8f26
push ecx
call fcn.006ffa16
add esp, 4
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], esi
pop edi
cmp eax, esi
pop esi
pop ebx
je 0x5d8f64
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5d8f5b
cmp al, 0xff
je 0x5d8f5b
dec al
mov byte [ecx], al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
push ecx
call fcn.006ffa16
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4