Function at 0x50ee20
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x14
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push ebx
push ebp
push esi
push edi
mov dword [eax], 0
mov edi, dword [ecx + 0xc]
cmp edi, 1
mov dword [esp + 0x1c], edi
jl 0x50ee77
cmp edi, 0x63
jg 0x50ee77
push 0x10000
call fcn.004f56f0
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
jne 0x50ee81
push 0x6722c4
push 0x64
call fcn.0051faa0
mov edx, dword [esp + 0x30]
push eax
push 1
push edx
call fcn.0051a630
add esp, 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret
xor ebx, ebx
mov esi, eax
test edi, edi
jl 0x50f329
lea ebp, [eax + 1]
lea ecx, [eax + 2]
lea edx, [eax + 0xa]
add eax, 9
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
jmp 0x50eeab
mov edi, dword [esp + 0x1c]
cmp ebx, edi
jge 0x50eebd
mov ecx, dword [esp + 0x2c]
mov dl, byte [ebx + ecx + 0x24]
mov byte [esp + 0x28], dl
jmp 0x50eecd
mov eax, dword [esp + 0x2c]
mov cl, byte [ebx + eax + 0x23]
mov byte [esp + 0x28], cl
mov dl, cl
mov ecx, eax
test ebx, ebx
jne 0x50f012
mov eax, dword [0x7d0754]
test eax, eax
je 0x50ef90
mov eax, dword [ecx + 0x318c]
test eax, eax
je 0x50ef90
mov edi, dword [eax + 0x218]
test edi, edi
je 0x50ef88
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0xd
jne 0x50ef88
mov eax, dword [esp + 0x2c]
mov byte [esi], 2
mov edx, dword [eax + 0x318c]
mov ecx, dword [edx + 0x218]
mov edx, ebp
mov edi, dword [ecx]
mov dword [edx], edi
mov di, word [ecx + 4]
mov word [edx + 4], di
mov cl, byte [ecx + 6]
mov byte [esi + 8], 2
mov byte [edx + 6], cl
mov edx, dword [eax + 0x318c]
mov eax, dword [edx + 0x218]
add eax, 7
mov ecx, eax
mov eax, dword [esp + 0x18]
mov edx, eax
mov edi, dword [ecx]
mov dword [edx], edi
mov edi, dword [esp + 0x14]
mov cx, word [ecx + 4]
mov word [edx + 4], cx
mov edx, dword [esp + 0x10]
mov ecx, 0x10
add edi, ecx
add edx, ecx
add eax, ecx
add esi, ecx
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x10], edx
mov dl, byte [esp + 0x28]
mov dword [esp + 0x18], eax
add ebp, ecx
jmp 0x50ef8c
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
cmp dl, 1
jne 0x50ef9d
mov byte [esi], 0x21
mov byte [esi + 3], dl
jmp 0x50efde
cmp dl, 2
je 0x50efd7
cmp dl, 3
je 0x50efd7
cmp dl, 0x99
je 0x50efd7
cmp dl, 4
je 0x50efce
cmp dl, 8
je 0x50efce
cmp dl, 5
je 0x50efce
cmp dl, 6
je 0x50efce
cmp dl, 7
je 0x50efce
cmp dl, 0x20
jne 0x50f352
mov byte [esi], 0x41
mov byte [esi + 3], 0x34
jmp 0x50efde
mov byte [esi], 0x41
mov byte [esi + 3], 0x14
mov eax, dword [0x7d0754]
test eax, eax
je 0x50efeb
or byte [esi + 3], 0x40
mov eax, dword [esp + 0x18]
add esi, 8
add eax, 8
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
add eax, 8
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
add eax, 8
add ebp, 8
mov dword [esp + 0x10], eax
mov eax, dword [0x7d0754]
test eax, eax
je 0x50f0db
cmp ebx, edi
je 0x50f0db
mov eax, dword [ecx + ebx*4 + 0x3190]
test eax, eax
je 0x50f0db
mov eax, dword [eax + 0x218]
test eax, eax
je 0x50f0db
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0xc
jne 0x50f0d3
mov edx, dword [esp + 0x2c]
mov al, bl
inc al
mov byte [esi], 3
mov byte [ebp], al
mov ecx, dword [edx + ebx*4 + 0x3190]
mov edx, dword [ecx + 0x218]
mov ecx, dword [esp + 0x10]
mov edi, dword [edx]
mov dword [ecx], edi
mov dx, word [edx + 4]
mov byte [esi + 8], 3
mov word [ecx + 4], dx
mov ecx, dword [esp + 0x18]
mov byte [ecx], al
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + ebx*4 + 0x3190]
mov eax, dword [edx + 0x218]
mov edx, dword [esp + 0x14]
add eax, 6
mov edi, dword [eax]
mov dword [edx], edi
mov ax, word [eax + 4]
mov edi, edx
mov word [edx + 4], ax
mov edx, dword [esp + 0x10]
mov eax, 0x10
add edx, eax
add ecx, eax
add edi, eax
add esi, eax
mov dword [esp + 0x10], edx
mov dl, byte [esp + 0x28]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edi
add ebp, eax
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
test ebx, ebx
je 0x50f0ee
mov eax, dword [ecx + ebx*4 + 0x3a8]
test eax, eax
jle 0x50f1f0
cmp ebx, edi
je 0x50f1f0
cmp dl, 1
jne 0x50f10b
mov dl, bl
mov byte [esi], 0x21
inc dl
mov byte [esi + 3], 0
mov byte [ebp], dl
jmp 0x50f15a
cmp dl, 2
je 0x50f14c
cmp dl, 3
je 0x50f14c
cmp dl, 0x99
je 0x50f14c
cmp dl, 4
je 0x50f13c
cmp dl, 8
je 0x50f13c
cmp dl, 5
je 0x50f13c
cmp dl, 6
je 0x50f13c
cmp dl, 7
je 0x50f13c
cmp dl, 0x20
jne 0x50f352
mov al, bl
mov byte [esi], 0x41
inc al
mov byte [esi + 3], 0x21
mov byte [ebp], al
jmp 0x50f15a
mov dl, bl
mov byte [esi], 0x41
inc dl
mov byte [esi + 3], 0x11
mov byte [ebp], dl
test ebx, ebx
jne 0x50f162
xor edi, edi
jmp 0x50f17a
mov eax, dword [esp + 0x2c]
mov edi, dword [ecx + ebx*4 + 0x218]
sub edi, dword [eax + ebx*4 + 0x3a8]
add edi, 0x96
mov eax, 0x1b4e81b5
imul edi
sar edx, 3
mov ecx, edx
mov eax, 0x88888889
shr ecx, 0x1f
add edx, ecx
mov ecx, edx
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov byte [esi + 5], dl
mov ecx, 0x3c
cdq
idiv ecx
mov eax, edi
mov ecx, 0x4b
mov edi, dword [esp + 0x14]
mov byte [esi + 6], dl
cdq
idiv ecx
mov ecx, dword [esp + 0x18]
mov eax, 8
add ecx, eax
add edi, eax
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x1c]
mov byte [esi + 7], dl
mov edx, dword [esp + 0x10]
add edx, eax
add esi, eax
mov dword [esp + 0x10], edx
mov dl, byte [esp + 0x28]
add ebp, eax
cmp dl, 1
jne 0x50f209
cmp ebx, edi
jne 0x50f200
mov byte [esi], dl
mov byte [esi + 3], dl
jmp 0x50f25e
mov byte [esi], 0x21
mov byte [esi + 3], 0
jmp 0x50f25e
cmp dl, 2
je 0x50f24d
cmp dl, 3
je 0x50f24d
cmp dl, 0x99
je 0x50f24d
cmp dl, 4
je 0x50f23a
cmp dl, 8
je 0x50f23a
cmp dl, 5
je 0x50f23a
cmp dl, 6
je 0x50f23a
cmp dl, 7
je 0x50f23a
cmp dl, 0x20
jne 0x50f352
cmp ebx, edi
mov byte [esi], 0x41
jne 0x50f247
mov byte [esi + 3], 0x34
jmp 0x50f25e
mov byte [esi + 3], 0x21
jmp 0x50f25e
cmp ebx, edi
mov byte [esi], 0x41
jne 0x50f25a
mov byte [esi + 3], 0x14
jmp 0x50f25e
mov byte [esi + 3], 0x11
mov edx, dword [esp + 0x10]
mov al, bl
inc al
cmp ebx, edi
mov byte [esp + 0x28], al
mov byte [ebp], al
mov byte [edx], 1
jge 0x50f283
mov ecx, dword [ecx + ebx*4 + 0x218]
add ecx, 0x96
jmp 0x50f2a1
mov eax, dword [ecx + ebx*4 + 0x9e4]
mov edx, dword [ecx + ebx*4 + 0x6c4]
mov ecx, dword [ecx + ebx*4 + 0x214]
add eax, edx
lea ecx, [eax + ecx + 0x96]
mov eax, 0x1b4e81b5
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x88888889
mov edi, edx
imul edi
add edx, edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, edi
mov byte [esi + 5], dl
mov edi, 0x3c
cdq
idiv edi
mov eax, ecx
mov ecx, 0x4b
mov byte [esi + 6], dl
cdq
idiv ecx
mov eax, dword [esp + 0x1c]
cmp ebx, eax
mov byte [esi + 7], dl
jne 0x50f2f2
mov byte [ebp], 0xaa
jmp 0x50f2f9
mov dl, byte [esp + 0x28]
mov byte [ebp], dl
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov ecx, 8
add edx, ecx
add esi, ecx
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x10]
add edi, ecx
add edx, ecx
add ebp, ecx
inc ebx
cmp ebx, eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], edx
jle 0x50eea7
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
sub esi, eax
push esi
mov dword [ecx], eax
push eax
mov dword [edx], esi
call fcn.00468420
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
mov eax, dword [esp + 0x20]
push eax
call fcn.004f5720
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret