Function at 0x50a3b0
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x50a879
sub esp, 0x3c
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x4c]
cmp ebx, 0
jne 0x50a3e2
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 5]
cmp bl, 0
je 0x50a409
mov ebx, dword [esp + 0x40]
mov ebp, dword [ebx + 0x14]
mov ebx, dword [esp + 0x28]
cmp ebp, ebx
jge 0x50a409
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 0x50a851
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 9]
cmp bl, 0
je 0x50a830
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 8]
cmp bl, 0
je 0x50a448
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 0x50a49b
mov ebx, dword [esp + 0x40]
mov ebp, dword [ebx + 0x10]
mov ebx, dword [esp + 0x24]
cmp ebp, ebx
jle 0x50a49b
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 6]
cmp bl, 0
jne 0x50a49b
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.00508e40
mov ebx, dword [esp + 0x40]
mov ebp, dword [ebx]
cmp ebp, 0
je 0x50a828
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 0x50a511
cmp dword [esp + 0x5c], 0x10
jbe 0x50a821
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 0x50a7ed
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 0x50a68f
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 9]
cmp bl, 0
je 0x50a5c9
mov ebx, dword [esp + 0x2c]
cmp ebx, 0
jle 0x50a5c9
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 0x50a7bb
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 0x50a5c9
cmp dword [esp + 0x5c], 0x10
jbe 0x50a7b4
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 0x50a780
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 0x50a75c
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x50]
cmp ebx, ebp
jae 0x50a755
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 0x50a74e
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 0x50a747
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 0x50a713
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 0x50a529
mov ebx, dword [esp + 0x40]
mov ebp, dword [ebx]
cmp ebp, 0
je 0x50a70e
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 [0x6d9e18], 0
jne 0x50a700
mov dword [ebp], edi
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 4]
cmp bl, 0
je 0x50a6fc
mov ebx, dword [esp + 0x40]
mov ebp, dword [ebx + 0x10]
mov ebx, dword [esp + 0x24]
cmp ebp, ebx
jle 0x50a6fc
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 6]
cmp bl, 0
je 0x50a6fc
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.00508e40
add esp, 0x3c
ret
mov dword [esp], ebp
mov dword [esp + 4], edi
call fcn.0040f2f0
jmp 0x50a6b8
mov dword [ebp], eax
jmp 0x50a69a
mov dword [esp], 0x5c41e0
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.0043c390
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 0x50a659
call fcn.004287a0
ud2
call fcn.004287a0
ud2
call fcn.004287a0
ud2
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x48]
cmp ebx, ebp
jae 0x50a779
mov ebp, dword [esp + 0x44]
add ebp, ebx
movzx ebx, byte [ebp]
mov eax, ebx
jmp 0x50a5f2
call fcn.004287a0
ud2
mov dword [esp], 0x5c41e0
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.0043c390
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 0x50a5b2
call fcn.004287a0
ud2
mov dword [esp], 0x5c41e0
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.0043c390
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, eax
inc ecx
mov edi, edx
jmp 0x50a564
mov dword [esp], 0x5c41e0
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.0043c390
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 0x50a4fa
call fcn.004287a0
ud2
mov dword [ebp], eax
jmp 0x50a4aa
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 8]
cmp bl, 0
je 0x50a457
mov ebx, dword [esp + 0x24]
add ebx, 2
mov dword [esp + 0x24], ebx
jmp 0x50a457
mov ebx, dword [esp + 0x40]
movzx ebx, byte [ebx + 4]
cmp bl, 0
je 0x50a875
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.00508e40
add esp, 0x3c
ret
call fcn.00450ed0
jmp fcn.0050a3b0