Function at 0x50ae20
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x50b2e9
sub esp, 0x3c
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x4c]
cmp ebx, 0
jne 0x50ae52
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 5]
cmp bl, 0
je 0x50ae79
mov ebx, dword [esp + 0x40]
mov ebp, dword [ebx + 0x14]
mov ebx, dword [esp + 0x28]
cmp ebp, ebx
jge 0x50ae79
mov ebx, dword [esp + 0x40]
mov ebp, dword [ebx + 0x14]
mov dword [esp + 0x28], ebp
mov ebx, dword [esp + 0x28]
shl ebx, 1
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x24]
cmp ebx, 0
jle 0x50b2c1
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 9]
cmp bl, 0
je 0x50b2a0
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 8]
cmp bl, 0
je 0x50aeb8
mov ebx, dword [esp + 0x24]
shl ebx, 1
mov dword [esp + 0x24], ebx
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
dec ebx
add ebx, ecx
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 4]
cmp bl, 0
je 0x50af0b
mov ebx, dword [esp + 0x40]
mov ebp, dword [ebx + 0x10]
mov ebx, dword [esp + 0x24]
cmp ebp, ebx
jle 0x50af0b
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 6]
cmp bl, 0
jne 0x50af0b
mov ebx, dword [esp + 0x40]
mov dword [esp], ebx
mov ebx, dword [esp + 0x40]
mov ebx, dword [ebx + 0x10]
sub ebx, dword [esp + 0x24]
mov dword [esp + 4], ebx
call fcn.005098b0
mov ebx, dword [esp + 0x40]
mov ebp, dword [ebx]
cmp ebp, 0
je 0x50b298
mov edi, dword [ebp]
mov ecx, dword [ebp + 4]
mov esi, dword [ebp + 8]
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 8]
cmp bl, 0
je 0x50af81
cmp dword [esp + 0x5c], 0x10
jbe 0x50b291
mov ebx, dword [esp + 0x58]
add ebx, 0x10
movzx ebp, byte [ebx]
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov dword [esp + 0x30], edi
mov edx, edi
mov dword [esp + 0x34], ecx
mov ebx, ecx
mov dword [esp + 0x38], esi
mov eax, ecx
add ebx, 2
cmp ebx, esi
ja 0x50b25d
mov ecx, ebx
mov ebx, edx
add ebx, eax
mov byte [ebx], 0x30
mov ebx, edx
mov ebp, eax
inc ebp
add ebx, ebp
movzx ebp, byte [esp + 0x23]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
mov dword [esp + 0x2c], 0
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x28]
cmp ebx, ebp
jge 0x50b0ff
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 9]
cmp bl, 0
je 0x50b039
mov ebx, dword [esp + 0x2c]
cmp ebx, 0
jle 0x50b039
mov dword [esp + 0x30], edi
mov edx, edi
mov dword [esp + 0x34], ecx
mov ebx, ecx
mov dword [esp + 0x38], esi
mov eax, ecx
inc ebx
cmp ebx, esi
ja 0x50b22b
mov ecx, ebx
mov ebx, edx
add ebx, eax
mov byte [ebx], 0x20
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 8]
cmp bl, 0
je 0x50b039
cmp dword [esp + 0x5c], 0x10
jbe 0x50b224
mov ebx, dword [esp + 0x58]
add ebx, 0x10
movzx ebp, byte [ebx]
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov dword [esp + 0x30], edi
mov edx, edi
mov dword [esp + 0x34], ecx
mov ebx, ecx
mov dword [esp + 0x38], esi
mov eax, ecx
add ebx, 2
cmp ebx, esi
ja 0x50b1f0
mov ecx, ebx
mov ebx, edx
add ebx, eax
mov byte [ebx], 0x30
mov ebx, edx
mov ebp, eax
inc ebp
add ebx, ebp
movzx ebp, byte [esp + 0x23]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
mov ebx, dword [esp + 0x4c]
cmp ebx, 0
je 0x50b1cc
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x50]
cmp ebx, ebp
jae 0x50b1c5
mov ebp, dword [esp + 0x4c]
add ebp, ebx
movzx ebx, byte [ebp]
mov eax, ebx
mov ebx, eax
shr bl, 4
mov edx, ebx
mov ebx, eax
and ebx, 0xf
mov eax, ebx
movzx ebx, dl
mov ebp, dword [esp + 0x5c]
cmp ebx, ebp
jae 0x50b1be
mov ebp, dword [esp + 0x58]
add ebp, ebx
movzx ebx, byte [ebp]
mov byte [esp + 0x23], bl
movzx ebx, al
mov ebp, dword [esp + 0x5c]
cmp ebx, ebp
jae 0x50b1b7
mov ebp, dword [esp + 0x58]
add ebp, ebx
movzx ebx, byte [ebp]
mov byte [esp + 0x22], bl
mov dword [esp + 0x30], edi
mov edx, edi
mov dword [esp + 0x34], ecx
mov ebx, ecx
mov dword [esp + 0x38], esi
mov eax, ecx
add ebx, 2
cmp ebx, esi
ja 0x50b183
mov ecx, ebx
mov ebx, edx
add ebx, eax
movzx ebp, byte [esp + 0x23]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
mov ebx, edx
mov ebp, eax
inc ebp
add ebx, ebp
movzx ebp, byte [esp + 0x22]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
mov ebx, dword [esp + 0x2c]
inc ebx
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x28]
cmp ebx, ebp
jl 0x50af99
mov ebx, dword [esp + 0x40]
mov ebp, dword [ebx]
cmp ebp, 0
je 0x50b17e
mov dword [esp + 0x34], ecx
mov dword [ebp + 4], ecx
mov dword [esp + 0x38], esi
mov dword [ebp + 8], esi
mov dword [esp + 0x30], edi
cmp byte [0x6dae38], 0
jne 0x50b170
mov dword [ebp], edi
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 4]
cmp bl, 0
je 0x50b16c
mov ebx, dword [esp + 0x40]
mov ebp, dword [ebx + 0x10]
mov ebx, dword [esp + 0x24]
cmp ebp, ebx
jle 0x50b16c
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 6]
cmp bl, 0
je 0x50b16c
mov ebx, dword [esp + 0x40]
mov dword [esp], ebx
mov ebx, dword [esp + 0x40]
mov ebx, dword [ebx + 0x10]
sub ebx, dword [esp + 0x24]
mov dword [esp + 4], ebx
call fcn.005098b0
add esp, 0x3c
ret
mov dword [esp], ebp
mov dword [esp + 4], edi
call fcn.0040fcf0
jmp 0x50b128
mov dword [ebp], eax
jmp 0x50b10a
mov dword [esp], 0x5c5000
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.0043cd90
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, eax
add ecx, 2
mov edi, edx
jmp 0x50b0c9
call fcn.004291a0
ud2
call fcn.004291a0
ud2
call fcn.004291a0
ud2
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x48]
cmp ebx, ebp
jae 0x50b1e9
mov ebp, dword [esp + 0x44]
add ebp, ebx
movzx ebx, byte [ebp]
mov eax, ebx
jmp 0x50b062
call fcn.004291a0
ud2
mov dword [esp], 0x5c5000
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.0043cd90
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, eax
add ecx, 2
mov edi, edx
jmp 0x50b022
call fcn.004291a0
ud2
mov dword [esp], 0x5c5000
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.0043cd90
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, eax
inc ecx
mov edi, edx
jmp 0x50afd4
mov dword [esp], 0x5c5000
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.0043cd90
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, eax
add ecx, 2
mov edi, edx
jmp 0x50af6a
call fcn.004291a0
ud2
mov dword [ebp], eax
jmp 0x50af1a
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 8]
cmp bl, 0
je 0x50aec7
mov ebx, dword [esp + 0x24]
add ebx, 2
mov dword [esp + 0x24], ebx
jmp 0x50aec7
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 4]
cmp bl, 0
je 0x50b2e5
mov ebx, dword [esp + 0x40]
mov dword [esp], ebx
mov ebx, dword [esp + 0x40]
mov ebp, dword [ebx + 0x10]
mov dword [esp + 4], ebp
call fcn.005098b0
add esp, 0x3c
ret
call fcn.004518d0
jmp fcn.0050ae20