Function at 0x4dc9f0
Capabilities:
Enumerate pe sections

Disassembly:
push ecx
push esi
mov esi, ecx
mov eax, dword [esi + 0x5c]
mov byte [esi + eax + 0x1c], 0x80
mov edx, 1
add dword [esi + 0x5c], edx
mov eax, dword [esi + 0x5c]
cmp eax, 0x38
jg 0x4dca35
mov ecx, 0x38
sub ecx, eax
push ecx
lea edx, [eax + esi + 0x1c]
push 0
push edx
call fcn.00526600
add esp, 0xc
lea eax, [esi + 0x1c]
mov ecx, 0x38
call fcn.004dc040
jmp 0x4dcaf0
push ebx
mov ecx, 0x40
push ebp
xor bl, bl
cmp eax, ecx
push edi
jge 0x4dca51
mov byte [eax + esi + 0x1c], bl
add dword [esi + 0x5c], edx
mov eax, dword [esi + 0x5c]
cmp eax, ecx
jl 0x4dca43
lea ebp, [esi + 0x1c]
lea eax, [ebp + 6]
mov edi, 4
lea esp, [esp]
mov ecx, dword [eax - 6]
mov dword [esp + 0x10], ecx
movzx ebx, byte [esp + 0x13]
mov byte [eax - 6], bl
movzx ebx, byte [esp + 0x12]
mov byte [eax - 5], bl
mov byte [eax - 4], ch
mov byte [eax - 3], cl
mov ecx, dword [eax - 2]
mov dword [esp + 0x10], ecx
movzx ebx, byte [esp + 0x13]
mov byte [eax - 2], bl
movzx ebx, byte [esp + 0x12]
mov byte [eax - 1], bl
mov byte [eax], ch
mov byte [eax + 1], cl
mov ecx, dword [eax + 2]
mov dword [esp + 0x10], ecx
movzx ebx, byte [esp + 0x13]
mov byte [eax + 2], bl
movzx ebx, byte [esp + 0x12]
mov byte [eax + 3], bl
mov byte [eax + 4], ch
mov byte [eax + 5], cl
mov ecx, dword [eax + 6]
mov dword [esp + 0x10], ecx
movzx ebx, byte [esp + 0x13]
mov byte [eax + 6], bl
movzx ebx, byte [esp + 0x12]
mov byte [eax + 7], bl
mov byte [eax + 8], ch
mov byte [eax + 9], cl
add eax, 0x10
sub edi, edx
jne 0x4dca60
mov ecx, esi
call fcn.004dc640
push 0x38
push edi
push ebp
call fcn.00526600
add esp, 0xc
pop edi
pop ebp
pop ebx
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 0x14]
mov ecx, eax
shr ecx, 0x1d
lea ecx, [ecx + edx*8]
lea edx, [eax*8]
mov eax, ecx
mov dword [esi + 0x14], ecx
mov ecx, edx
mov dword [esi + 0x58], ecx
mov ecx, esi
mov dword [esi + 0x18], edx
mov dword [esi + 0x54], eax
call fcn.004dc640
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4dcbd3
mov edx, dword [esi]
mov dword [eax], edx
mov ecx, dword [esi + 4]
mov dword [eax + 4], ecx
mov edx, dword [esi + 8]
mov dword [eax + 8], edx
mov ecx, dword [esi + 0xc]
mov dword [eax + 0xc], ecx
mov edx, dword [esi + 0x10]
mov dword [eax + 0x10], edx
mov ecx, dword [eax]
mov dword [esp + 0xc], ecx
movzx edx, byte [esp + 0xf]
mov byte [eax], dl
movzx edx, byte [esp + 0xe]
mov byte [eax + 1], dl
mov byte [eax + 2], ch
mov byte [eax + 3], cl
mov ecx, dword [eax + 4]
mov dword [esp + 0xc], ecx
movzx edx, byte [esp + 0xf]
mov byte [eax + 4], dl
movzx edx, byte [esp + 0xe]
mov byte [eax + 5], dl
mov byte [eax + 6], ch
mov byte [eax + 7], cl
mov ecx, dword [eax + 8]
mov dword [esp + 0xc], ecx
movzx edx, byte [esp + 0xf]
mov byte [eax + 8], dl
movzx edx, byte [esp + 0xe]
mov byte [eax + 9], dl
mov byte [eax + 0xa], ch
mov byte [eax + 0xb], cl
mov ecx, dword [eax + 0xc]
mov dword [esp + 0xc], ecx
movzx edx, byte [esp + 0xf]
mov byte [eax + 0xc], dl
movzx edx, byte [esp + 0xe]
mov byte [eax + 0xd], dl
mov byte [eax + 0xe], ch
mov byte [eax + 0xf], cl
mov ecx, dword [eax + 0x10]
mov dword [esp + 0xc], ecx
movzx edx, byte [esp + 0xf]
mov byte [eax + 0x10], dl
movzx edx, byte [esp + 0xe]
mov byte [eax + 0x11], dl
mov byte [eax + 0x12], ch
mov byte [eax + 0x13], cl
pop esi
pop ecx
ret 4