Function at 0x50b720
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x50bbe9
sub esp, 0x3c
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x4c]
cmp ebx, 0
jne 0x50b752
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 5]
cmp bl, 0
je 0x50b779
mov ebx, dword [esp + 0x40]
mov ebp, dword [ebx + 0x14]
mov ebx, dword [esp + 0x28]
cmp ebp, ebx
jge 0x50b779
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 0x50bbc1
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 9]
cmp bl, 0
je 0x50bba0
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 8]
cmp bl, 0
je 0x50b7b8
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 0x50b80b
mov ebx, dword [esp + 0x40]
mov ebp, dword [ebx + 0x10]
mov ebx, dword [esp + 0x24]
cmp ebp, ebx
jle 0x50b80b
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 6]
cmp bl, 0
jne 0x50b80b
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.0050a1b0
mov ebx, dword [esp + 0x40]
mov ebp, dword [ebx]
cmp ebp, 0
je 0x50bb98
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 0x50b881
cmp dword [esp + 0x5c], 0x10
jbe 0x50bb91
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 0x50bb5d
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 0x50b9ff
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 9]
cmp bl, 0
je 0x50b939
mov ebx, dword [esp + 0x2c]
cmp ebx, 0
jle 0x50b939
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 0x50bb2b
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 0x50b939
cmp dword [esp + 0x5c], 0x10
jbe 0x50bb24
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 0x50baf0
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 0x50bacc
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x50]
cmp ebx, ebp
jae 0x50bac5
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 0x50babe
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 0x50bab7
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 0x50ba83
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 0x50b899
mov ebx, dword [esp + 0x40]
mov ebp, dword [ebx]
cmp ebp, 0
je 0x50ba7e
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 [0x6dbe18], 0
jne 0x50ba70
mov dword [ebp], edi
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 4]
cmp bl, 0
je 0x50ba6c
mov ebx, dword [esp + 0x40]
mov ebp, dword [ebx + 0x10]
mov ebx, dword [esp + 0x24]
cmp ebp, ebx
jle 0x50ba6c
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 6]
cmp bl, 0
je 0x50ba6c
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.0050a1b0
add esp, 0x3c
ret
mov dword [esp], ebp
mov dword [esp + 4], edi
call fcn.00410660
jmp 0x50ba28
mov dword [ebp], eax
jmp 0x50ba0a
mov dword [esp], 0x5c5920
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.0043d700
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 0x50b9c9
call fcn.00429b10
ud2
call fcn.00429b10
ud2
call fcn.00429b10
ud2
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x48]
cmp ebx, ebp
jae 0x50bae9
mov ebp, dword [esp + 0x44]
add ebp, ebx
movzx ebx, byte [ebp]
mov eax, ebx
jmp 0x50b962
call fcn.00429b10
ud2
mov dword [esp], 0x5c5920
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.0043d700
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 0x50b922
call fcn.00429b10
ud2
mov dword [esp], 0x5c5920
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.0043d700
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, eax
inc ecx
mov edi, edx
jmp 0x50b8d4
mov dword [esp], 0x5c5920
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.0043d700
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 0x50b86a
call fcn.00429b10
ud2
mov dword [ebp], eax
jmp 0x50b81a
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 8]
cmp bl, 0
je 0x50b7c7
mov ebx, dword [esp + 0x24]
add ebx, 2
mov dword [esp + 0x24], ebx
jmp 0x50b7c7
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 4]
cmp bl, 0
je 0x50bbe5
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.0050a1b0
add esp, 0x3c
ret
call fcn.00452240
jmp fcn.0050b720