Function at 0x4d2bc8
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push 0
push 0
push 0
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
mov esi, edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4d30e6
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 8], 0
je 0x4d30cb
mov eax, dword [ebp - 8]
call fcn.00443fdc
mov ebx, eax
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 4]
movzx eax, word [eax]
call fcn.00408644
test bx, bx
je 0x4d2c2d
mov eax, dword [ebp - 8]
call fcn.00443fdc
push eax
mov ecx, 0x4d30fc
mov edx, dword [ebp - 0xc]
mov eax, esi
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0xc]
cmp dword [ebx + 4], 0
je 0x4d2c4c
mov eax, dword [ebx + 4]
push eax
mov ecx, 0x4d3108
mov edx, dword [ebp - 0xc]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 4]
cmp dword [ebx + 8], 0
je 0x4d2c65
mov eax, dword [ebx + 8]
push eax
mov ecx, 0x4d3114
mov edx, dword [ebp - 0xc]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 4]
mov al, byte [ebx + 0xc]
test al, al
jne 0x4d2c7c
push eax
mov ecx, 0x4d3120
mov edx, dword [ebp - 0xc]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0x14]
mov ax, word [ebx + 0xe]
test ax, ax
je 0x4d2c98
movzx eax, ax
push eax
mov ecx, 0x4d312c
mov edx, dword [ebp - 0xc]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebx + 0x10]
test eax, eax
jle 0x4d2caf
push eax
mov ecx, 0x4d3138
mov edx, dword [ebp - 0xc]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
cmp dword [ebx + 0x14], 0
je case.default.0x4d2cc5
mov eax, dword [ebx + 0x10]
cmp eax, 5
ja case.default.0x4d2cc5
jmp dword [eax*4 + 0x4d2ccc]
mov eax, dword [ebx + 0x14]
cmp dword [eax + 4], 0
je 0x4d2d1d
push 0x4d3144
mov eax, dword [ebx + 0x14]
push dword [eax + 4]
push 0x4d3150
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.004044b0
mov eax, dword [ebp - 0x10]
push eax
mov ecx, 0x4d315c
mov edx, dword [ebp - 0xc]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 4]
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 8]
test eax, eax
je case.default.0x4d2cc5
mov ecx, eax
mov edx, esi
mov eax, dword [ebp - 0xc]
call fcn.004d2960
jmp case.default.0x4d2cc5
mov eax, dword [ebx + 0x14]
mov al, byte [eax + 4]
test al, al
je 0x4d2d5b
and eax, 0xff
push eax
mov ecx, 0x4d3168
mov edx, dword [ebp - 0xc]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebx + 0x14]
mov al, byte [eax + 6]
test al, al
je 0x4d2d7a
and eax, 0xff
push eax
mov ecx, 0x4d3174
mov edx, dword [ebp - 0xc]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebx + 0x14]
mov al, byte [eax + 5]
test al, al
je 0x4d2d99
and eax, 0xff
push eax
mov ecx, 0x4d3180
mov edx, dword [ebp - 0xc]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebx + 0x14]
mov al, byte [eax + 7]
test al, al
je 0x4d2db8
and eax, 0xff
push eax
mov ecx, 0x4d318c
mov edx, dword [ebp - 0xc]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebx + 0x14]
mov ax, word [eax + 8]
test ax, ax
je 0x4d2dd7
movzx eax, ax
push eax
mov ecx, 0x4d3198
mov edx, dword [ebp - 0xc]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebx + 0x14]
mov ax, word [eax + 0xa]
test ax, ax
je case.default.0x4d2cc5
movzx eax, ax
push eax
mov ecx, 0x4d31a4
mov edx, dword [ebp - 0xc]
mov eax, esi
mov ebx, dword [eax]
call dword [ebx + 0xc]
jmp case.default.0x4d2cc5
mov eax, dword [ebx + 0x14]
cmp dword [eax + 4], 0
je 0x4d2e1e
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 4]
push eax
mov ecx, 0x4d31b0
mov edx, dword [ebp - 0xc]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 4]
mov eax, dword [ebx + 0x14]
mov al, byte [eax + 8]
cmp al, 1
jne 0x4d2e38
push eax
mov ecx, 0x4d31bc
mov edx, dword [ebp - 0xc]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0x14]
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0xc]
test eax, eax
je case.default.0x4d2cc5
mov ecx, eax
mov edx, esi
mov eax, dword [ebp - 0xc]
call fcn.004d2960
jmp case.default.0x4d2cc5
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 4]
push eax
mov ecx, 0x4d3168
mov edx, dword [ebp - 0xc]
mov eax, esi
mov ebx, dword [eax]
call dword [ebx + 0xc]
jmp case.default.0x4d2cc5
mov eax, dword [ebx + 0x14]
mov al, byte [eax + 4]
cmp al, 0x5f
je 0x4d2e91
and eax, 0xff
push eax
mov ecx, 0x4d3198
mov edx, dword [ebp - 0xc]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebx + 0x14]
mov al, byte [eax + 5]
cmp al, 5
je 0x4d2eb0
and eax, 0xff
push eax
mov ecx, 0x4d31a4
mov edx, dword [ebp - 0xc]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebx + 0x14]
mov al, byte [eax + 6]
test al, al
je 0x4d2ecf
and eax, 0xff
push eax
mov ecx, 0x4d31c8
mov edx, dword [ebp - 0xc]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 8]
test eax, eax
je 0x4d2ee9
push eax
mov ecx, 0x4d31d4
mov edx, dword [ebp - 0xc]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebx + 0x14]
cmp dword [eax + 0xc], 0
je 0x4d2f16
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0xc]
push eax
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 4]
movzx eax, word [eax]
call fcn.00408644
mov edx, dword [ebp - 0x14]
mov ecx, 0x4d31e0
mov eax, esi
mov edi, dword [eax]
call dword [edi + 4]
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0x10]
cmp eax, 0x30
je 0x4d2f31
push eax
mov ecx, 0x4d31ec
mov edx, dword [ebp - 0xc]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0x14]
cmp eax, 0xff00
je 0x4d2f4e
push eax
mov ecx, 0x4d31f8
mov edx, dword [ebp - 0xc]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0x18]
mov edx, 0x4d3204
call fcn.0040453c
je 0x4d2f76
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0x18]
push eax
mov ecx, 0x4d3214
mov edx, dword [ebp - 0xc]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 4]
mov eax, dword [ebx + 0x14]
mov al, byte [eax + 0x1c]
call fcn.004d2b90
dec eax
je 0x4d2f9f
mov eax, dword [ebx + 0x14]
mov al, byte [eax + 0x1c]
call fcn.004d2b90
push eax
mov ecx, 0x4d3220
mov edx, dword [ebp - 0xc]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebx + 0x14]
cmp dword [eax + 0x20], 0
je 0x4d2fbe
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0x20]
push eax
mov ecx, 0x4d322c
mov edx, dword [ebp - 0xc]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 4]
mov eax, dword [ebx + 0x14]
cmp dword [eax + 0x28], 0
je 0x4d2fdd
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0x28]
push eax
mov ecx, 0x4d3238
mov edx, dword [ebp - 0xc]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 4]
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0x2c]
cmp eax, 2
je 0x4d2ff8
push eax
mov ecx, 0x4d3244
mov edx, dword [ebp - 0xc]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebx + 0x14]
mov al, byte [eax + 0x24]
test al, al
jne 0x4d3012
push eax
mov ecx, 0x4d3250
mov edx, dword [ebp - 0xc]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0x14]
mov eax, dword [ebx + 0x14]
mov al, byte [eax + 0x30]
test al, al
je case.default.0x4d2cc5
push eax
mov ecx, 0x4d325c
mov edx, dword [ebp - 0xc]
mov eax, esi
mov ebx, dword [eax]
call dword [ebx + 0x14]
jmp case.default.0x4d2cc5
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 4]
test eax, eax
je 0x4d3048
push eax
mov ecx, 0x4d3268
mov edx, dword [ebp - 0xc]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 8]
test eax, eax
je 0x4d3062
push eax
mov ecx, 0x4d3274
mov edx, dword [ebp - 0xc]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4d307c
push eax
mov ecx, 0x4d3280
mov edx, dword [ebp - 0xc]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0x10]
test eax, eax
je case.default.0x4d2cc5
mov ecx, eax
mov edx, esi
mov eax, dword [ebp - 0xc]
call fcn.004d2960
mov eax, dword [ebp - 8]
call fcn.00443dcc
mov ebx, eax
mov eax, dword [ebp - 4]
inc word [eax]
mov eax, dword [ebp - 8]
call fcn.00443fdc
test eax, eax
je 0x4d30cb
test ebx, ebx
je 0x4d30cb
mov eax, dword [ebp - 4]
mov ecx, ebx
mov edx, esi
call fcn.004d2bc8
mov eax, ebx
call fcn.00443cbc
mov ebx, eax
test ebx, ebx
jne 0x4d30b2
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d30ed
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.00404154
ret