Function at 0x4cdab0
Capabilities:
Enumerate pe sections

Disassembly:
push ecx
push ebx
push ebp
mov ebp, dword [esp + 0x14]
push esi
push edi
mov edi, dword [esp + 0x18]
movzx esi, word [ebp + 2]
mov dword [esp + 0x10], esi
mov ebx, dword [edi + 0x48]
lea eax, [esi*8]
add ebx, eax
mov dword [esp + 0x18], ebx
cmp esi, 0x8000
jae 0x4cdbe6
push 0xef
push ebp
push edi
call fcn.004d73a0
movzx ecx, byte [ebp + 4]
mov ebx, 0x604000
and ecx, 0x1f
mov dword [esp + 0x28], eax
shr ebx, cl
add esp, 0xc
mov ecx, dword [esp + 0x18]
and ebx, 1
shl ebx, 5
or ebx, 0x1f
and ebx, dword [ecx]
cmp dword [esp + 0x24], 0
jne 0x4cdb6e
test ebx, ebx
je 0x4cdbcd
test byte [edi + 0x68], 0x40
je 0x4cdb6e
movzx eax, word [ebp]
push 0xef
push eax
push edi
call fcn.004cfc10
mov ecx, eax
add esp, 0xc
mov eax, dword [esp + 0x1c]
cmp ecx, eax
je 0x4cdb6e
cmp dword [esp + 0x20], 0
jne 0x4cdb4c
neg ebx
dec dword [edi + 0x40]
mov eax, dword [edi + 0x40]
push ecx
mov byte [eax], bl
mov ebx, dword [esp + 0x20]
push ebx
push 0xf07be3c4
push edi
call fcn.004d66b0
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
mov ecx, ebx
sub ecx, 0
je 0x4cdbcd
sub ecx, 1
mov cl, byte [esp + 0x20]
je 0x4cdbad
dec dword [edi + 0x40]
and cl, 7
mov eax, dword [edi + 0x40]
shl cl, 3
mov byte [eax], bl
mov ebx, dword [esp + 0x1c]
mov al, bl
mov edx, dword [edi + 0x40]
and al, 7
sub al, 0x40
add cl, al
mov byte [edx - 1], cl
lea eax, [edx - 2]
mov dword [edx - 5], 0xc10000fe
mov dword [edi + 0x40], eax
jmp 0x4cdbd1
mov edx, dword [edi + 0x40]
and cl, 7
shl cl, 3
and al, 7
sub cl, 0x40
add cl, al
mov byte [edx - 1], cl
lea eax, [edx - 2]
mov dword [edx - 5], 0xd10000fe
mov dword [edi + 0x40], eax
mov ebx, dword [esp + 0x1c]
movzx eax, word [ebp]
push eax
push ebx
push edi
call fcn.004d7a40
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
test byte [edi + 0x68], 0x40
je 0x4cdc5c
cmp dword [esp + 0x24], 0
je 0x4cdc5c
push 0xef
push ebp
push edi
call fcn.004d73a0
mov ecx, dword [edi + 0x48]
add esp, 0xc
mov dword [esp + 0x1c], eax
movzx ebx, byte [ecx + esi*8 + 6]
test bl, bl
jns 0x4cdc23
push 0xef
push esi
push edi
call fcn.004d72e0
add esp, 0xc
mov ebx, eax
mov ecx, dword [edi + 0x60]
btr ecx, ebx
mov dword [edi + 0x60], ecx
mov ecx, 0xef
movzx eax, word [ebp]
btr ecx, ebx
push ecx
push eax
push edi
call fcn.004cfc10
push eax
push dword [esp + 0x2c]
shl ebx, 0x13
xor ebx, dword [esp + 0x38]
push ebx
push edi
call fcn.004d66b0
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
push 0xed
push ebp
push edi
call fcn.004d73a0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x1c], edx
cmp edx, 1
jne 0x4cdd41
mov eax, dword [edi + 0x58]
and eax, 0xed
jne 0x4cdd18
mov eax, dword [edi + 8]
or ecx, 0xffffffff
cmp dword [edi], 0xffffffff
mov esi, dword [edi + 0x18]
cmovb ecx, dword [edi]
cmp eax, ecx
cmovae eax, ecx
mov ecx, dword [edi + 0xc]
cmp ecx, eax
cmovae ecx, eax
mov eax, dword [edi + 0x14]
cmp eax, ecx
cmovae eax, ecx
mov ecx, dword [edi + 0x1c]
cmp esi, eax
movzx edx, cx
cmovae esi, eax
cmp ecx, esi
movzx eax, si
cmovae edx, eax
movzx ecx, dx
mov dword [esp + 0x1c], ecx
cmp ecx, 0x8000
jb 0x4cdd06
mov edx, dword [edi + 0x60]
mov esi, edx
and esi, 0xed
je 0x4cdd06
mov eax, dword [edi + 0x48]
mov cl, byte [eax + ecx*8 + 6]
shr edx, cl
test dl, 1
jne 0x4cdd02
bsf eax, esi
movzx ecx, word [edi + eax*4]
push ecx
push edi
call fcn.004d7cb0
mov esi, dword [esp + 0x18]
add esp, 8
mov edx, eax
jmp 0x4cdd1b
mov ecx, dword [esp + 0x1c]
push ecx
push edi
call fcn.004d7cb0
mov esi, dword [esp + 0x18]
add esp, 8
mov edx, eax
jmp 0x4cdd1b
bsr edx, eax
mov eax, dword [edi + 0x5c]
mov ecx, dword [edi + 0x40]
bts eax, edx
mov dword [edi + 0x5c], eax
mov al, dl
and al, 7
mov dword [esp + 0x1c], edx
sub al, 0x38
mov byte [ecx - 1], al
lea eax, [ecx - 2]
mov dword [ecx - 5], 0x8b0000fe
mov dword [edi + 0x40], eax
movzx edx, byte [ebx + 6]
mov dword [esp + 0x18], edx
test dl, dl
jns 0x4cdd5d
push 2
push esi
push edi
call fcn.004d72e0
add esp, 0xc
mov edx, eax
jmp 0x4cdd71
cmp edx, 1
je 0x4cdd71
push 2
push edi
call fcn.004d7db0
mov edx, dword [esp + 0x20]
add esp, 8
mov ebx, dword [esp + 0x1c]
mov al, bl
mov esi, dword [edi + 0x40]
and al, 7
mov cl, byte [esp + 0x20]
sub al, 0x40
and cl, 7
shl cl, 3
add cl, al
lea eax, [esi - 2]
mov byte [esi - 1], cl
mov dword [esi - 5], 0xd30000fe
mov dword [edi + 0x40], eax
mov eax, dword [edi + 0x60]
btr eax, edx
mov dword [edi + 0x60], eax
cmp edx, 1
je 0x4cdbd1
and dl, 7
lea eax, [esi - 4]
sub dl, 0x38
mov byte [esi - 3], dl
mov dword [esi - 7], 0x8b0000fe
mov dword [edi + 0x40], eax
jmp 0x4cdbd1