Function at 0x4e38b0
Capabilities:
Enumerate pe sections

Disassembly:
push ecx
mov ecx, dword [0x539840]
push ebx
push ebp
push esi
movsx ebp, word [esp + 0x14]
mov ebx, dword [ecx + 0x14]
mov eax, ebp
sub eax, ebx
push edi
movsx edi, word [esp + 0x1c]
mov edx, eax
mov dword [esp + 0x10], 0
shl edx, 5
add edx, eax
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + edx*8 + 0xc]
mov edx, edi
mov ebx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
sub edx, ebx
shl edx, 7
add edx, eax
mov ax, word [0x538c84]
movzx si, byte [edx + 8]
cmp ax, si
jl 0x4e3d6f
movzx si, byte [edx + 9]
cmp ax, si
jg 0x4e3d6f
mov al, byte [edx + 0xb]
mov si, word [0x538cac]
cmp al, 1
jne 0x4e392b
cmp si, 1
jne 0x4e3d6f
cmp al, 2
jne 0x4e3939
cmp si, 2
jne 0x4e3d6f
cmp al, 3
jne 0x4e394b
cmp word [0x538a66], 0
je 0x4e3d6f
mov ebx, dword [0x538c50]
mov esi, dword [0x5390b8]
lea eax, [ebx + ebx*4]
lea eax, [ebx + eax*8]
shl eax, 6
add eax, ebx
lea eax, [ebx + eax*4]
lea esi, [esi + eax*4]
mov al, byte [esi + 0xa03a]
cmp al, byte [edx + 0xd]
jb 0x4e3d6f
cmp al, byte [edx + 0xe]
ja 0x4e3d6f
mov eax, dword [esi + 0xa03c]
mov esi, dword [eax + 0xc]
sub esi, dword [eax + 0x14]
mov al, byte [esi + ebp]
cmp al, byte [edx + 0xf]
jb 0x4e3d6f
cmp al, byte [edx + 0x10]
ja 0x4e3d6f
mov al, byte [edx + 0xa]
test al, al
jne 0x4e39ba
mov al, byte [0x538c86]
test al, al
jne 0x4e3d6f
jmp 0x4e3aed
cmp al, 1
jne 0x4e39d0
cmp byte [0x538c86], 1
jne 0x4e3d6f
jmp 0x4e3aed
cmp al, 2
jne 0x4e39e6
cmp byte [0x538c86], 2
jne 0x4e3d6f
jmp 0x4e3aed
cmp al, 3
jne 0x4e39fc
cmp byte [0x538c86], 3
jne 0x4e3d6f
jmp 0x4e3aed
cmp al, 4
jne 0x4e3a12
cmp byte [0x538c86], 4
jne 0x4e3d6f
jmp 0x4e3aed
cmp al, 5
jne 0x4e3a28
cmp byte [0x538c86], 5
jne 0x4e3d6f
jmp 0x4e3aed
cmp al, 6
jne 0x4e3a3e
mov al, byte [0x538c86]
test al, al
je 0x4e3d6f
jmp 0x4e3aed
cmp al, 8
jne 0x4e3a54
cmp byte [0x538c86], 6
jne 0x4e3d6f
jmp 0x4e3aed
cmp al, 9
jne 0x4e3a6a
cmp byte [0x538c86], 7
jne 0x4e3d6f
jmp 0x4e3aed
cmp al, 0xa
jne 0x4e3a7d
cmp byte [0x538c86], 1
je 0x4e3d6f
jmp 0x4e3aed
cmp al, 0xb
jne 0x4e3a90
cmp byte [0x538c86], 2
je 0x4e3d6f
jmp 0x4e3aed
cmp al, 0xc
jne 0x4e3aa3
cmp byte [0x538c86], 3
je 0x4e3d6f
jmp 0x4e3aed
cmp al, 0xd
jne 0x4e3ab6
cmp byte [0x538c86], 4
je 0x4e3d6f
jmp 0x4e3aed
cmp al, 0xe
jne 0x4e3ac9
cmp byte [0x538c86], 5
je 0x4e3d6f
jmp 0x4e3aed
cmp al, 0xf
jne 0x4e3adc
cmp byte [0x538c86], 6
je 0x4e3d6f
jmp 0x4e3aed
cmp al, 0x10
jne 0x4e3aed
cmp byte [0x538c86], 7
je 0x4e3d6f
mov al, byte [edx + 0x35]
cmp al, 2
jne 0x4e3b04
cmp word [0x538c9c], 0x23
jl 0x4e3d6f
jmp 0x4e3b52
cmp al, 3
jne 0x4e3b18
cmp word [0x538ca0], 0x14
jl 0x4e3d6f
jmp 0x4e3b52
cmp al, 4
jne 0x4e3b2c
cmp word [0x538c9e], 0x19
jl 0x4e3d6f
jmp 0x4e3b52
cmp al, 5
jne 0x4e3b40
cmp word [0x538c9e], 0x19
jl 0x4e3d6f
jmp 0x4e3b52
cmp al, 6
jne 0x4e3b52
cmp word [0x538c9e], 0x14
jl 0x4e3d6f
mov al, byte [edx + 0x18]
test al, al
jbe 0x4e3bfc
call fcn.0049fe90
mov ecx, dword [0x539840]
mov eax, ebp
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 5
add edx, eax
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + edx*8 + 0xc]
mov edx, edi
mov ebx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
sub edx, ebx
shl edx, 7
movzx ax, byte [edx + eax + 0x18]
cmp ax, 1
jl 0x4e3be2
mov esi, 1
movsx ebx, ax
jmp 0x4e3ba4
mov ecx, dword [0x539840]
mov edx, dword [ecx + 0x14]
mov eax, ebp
sub eax, edx
mov edx, eax
shl edx, 5
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, edi
mov eax, dword [eax + edx*8 + 0xc]
mov edx, dword [eax + 0x14]
sub ecx, edx
mov edx, dword [eax + 0xc]
shl ecx, 7
mov eax, dword [ecx + edx + 0x14]
mov ecx, esi
mov edx, dword [eax + 0x14]
sub ecx, edx
mov edx, dword [eax + 0xc]
mov ax, word [edx + ecx*2]
push eax
call fcn.0049fb40
inc esi
dec ebx
jne 0x4e3b9e
call fcn.0049fed0
test ax, ax
jne 0x4e3d6f
mov ebx, dword [0x538c50]
mov ecx, dword [0x539840]
mov edx, dword [ecx + 0x14]
mov eax, ebp
sub eax, edx
mov edx, eax
shl edx, 5
add edx, eax
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + edx*8 + 0xc]
mov edx, edi
mov esi, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
sub edx, esi
shl edx, 7
mov al, byte [edx + eax + 0x74]
test al, al
jbe 0x4e3d0a
movzx ax, al
cmp ax, 1
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 1
jl 0x4e3d0a
mov edx, dword [ecx + 0x14]
mov eax, ebp
sub eax, edx
mov edx, eax
shl edx, 5
add edx, eax
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + edx*8 + 0xc]
mov edx, edi
mov esi, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
sub edx, esi
movsx esi, word [esp + 0x18]
shl edx, 7
mov eax, dword [edx + eax + 0x70]
mov edx, esi
sub edx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
lea eax, [eax + edx*8]
cmp byte [eax + 6], 3
jne 0x4e3c9f
movsx ecx, word [eax + 4]
push ecx
call fcn.0049f1b0
test ax, ax
jne 0x4e3d6f
mov ebx, dword [0x538c50]
mov ecx, dword [0x539840]
mov edx, dword [ecx + 0x14]
mov eax, ebp
sub eax, edx
mov edx, eax
shl edx, 5
add edx, eax
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + edx*8 + 0xc]
mov edx, edi
sub edx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
shl edx, 7
mov eax, dword [edx + eax + 0x70]
mov edx, dword [eax + 0x14]
sub esi, edx
mov edx, dword [eax + 0xc]
lea eax, [edx + esi*8]
mov dl, byte [edx + esi*8 + 6]
cmp dl, 4
jne 0x4e3cf6
movsx eax, word [eax + 4]
push eax
call fcn.0049f370
test ax, ax
jne 0x4e3d6f
mov ebx, dword [0x538c50]
mov ecx, dword [0x539840]
mov eax, dword [esp + 0x18]
inc eax
cmp ax, word [esp + 0x1c]
mov dword [esp + 0x18], eax
jle 0x4e3c44
mov eax, dword [ecx + 0x14]
sub ebp, eax
mov eax, dword [ecx + 0xc]
mov edx, ebp
lea ecx, [ebx + ebx*4]
shl edx, 5
add edx, ebp
mov eax, dword [eax + edx*8 + 0xc]
lea edx, [ebx + ecx*8]
shl edx, 6
mov ebp, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
add edx, ebx
sub edi, ebp
shl edi, 7
lea ecx, [ebx + edx*4]
mov edx, dword [0x5390b8]
movsx eax, word [edi + eax + 4]
mov ecx, dword [edx + ecx*4 + 0x9a38]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
mov al, byte [eax + edx*4 + 2]
cmp al, 1
je 0x4e3d6f
cmp al, 2
je 0x4e3d6f
cmp al, 4
je 0x4e3d6f
mov dword [esp + 0x10], 1
mov ax, word [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret 8