Function at 0x4ff7e0
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4ffc8a
sub esp, 0x50
mov edx, dword [esp + 0x60]
test edx, edx
je 0x4ffc44
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0x54]
movzx ebp, byte [ebx + 5]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4ffc3d
mov ebp, dword [ebx + 0x14]
cmp ebp, eax
jge 0x4ffc3d
mov esi, ebp
shl ebp, 1
test ebp, ebp
jle 0x4ffc20
mov eax, edx
movzx edx, byte [ebx + 9]
test dl, dl
je 0x4ffc0e
movzx edx, byte [ebx + 8]
test dl, dl
je 0x4ff84d
mov ebp, esi
shl ebp, 2
lea edx, [ebp + esi - 1]
mov dword [esp + 0x40], esi
mov dword [esp + 0x24], edx
movzx ebp, byte [ebx + 4]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4ffc07
mov ebp, dword [ebx + 0x10]
cmp ebp, edx
jle 0x4ffc00
mov ecx, edx
movzx edx, byte [ebx + 6]
test dl, dl
je 0x4ffbdd
mov edx, dword [ebx]
mov ebp, dword [edx + 4]
mov edi, esi
mov esi, dword [edx + 8]
mov edx, dword [edx]
movzx ebx, byte [ebx + 8]
test bl, bl
je 0x4ffbd6
mov ebx, dword [esp + 0x70]
cmp ebx, 0x10
jbe 0x4ffc7d
mov dword [esp + 0x2c], ebp
lea ebx, [ebp + 2]
mov ebp, dword [esp + 0x6c]
movzx ebp, byte [ebp + 0x10]
cmp ebx, esi
ja 0x4ffb89
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x2c]
mov byte [edx + ebx], 0x30
xchg ebp, eax
mov byte [edx + ebx + 1], al
xchg ebp, eax
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x44]
jmp 0x4ff919
movzx ecx, byte [esp + 0x23]
mov eax, dword [esp + 0x4c]
mov byte [eax + edx], cl
mov byte [eax + edx + 1], bl
mov ecx, dword [esp + 0x28]
inc ecx
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x28], ecx
mov ebx, ebp
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x24]
mov ebp, dword [esp + 0x70]
mov ebp, dword [esp + 0x28]
cmp edi, ebp
jle 0x4ffb3c
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x54]
movzx edx, byte [edx + 9]
test dl, dl
je 0x4ffb38
test ebp, ebp
jle 0x4ffb2b
lea edx, [ebx + 1]
cmp esi, edx
jb 0x4ffad9
mov ebp, dword [esp + 0x4c]
mov byte [ebp + ebx], 0x20
mov ebx, dword [esp + 0x54]
movzx ebx, byte [ebx + 8]
test bl, bl
je 0x4ffad2
mov ebx, dword [esp + 0x70]
cmp ebx, 0x10
jbe 0x4ffc71
mov dword [esp + 0x38], edx
lea ebx, [edx + 2]
mov edx, dword [esp + 0x6c]
movzx edx, byte [edx + 0x10]
cmp esi, ebx
jb 0x4ffa85
test eax, eax
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x38]
mov byte [ebp + ebx], 0x30
mov byte [ebp + ebx + 1], dl
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x4c], ebp
je 0x4ffa60
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x28]
cmp ebx, ebp
jbe 0x4ffc68
movzx ebx, byte [eax + ebp]
mov byte [esp + 0x21], bl
shr bl, 4
movzx ebx, bl
mov ebp, dword [esp + 0x70]
cmp ebx, ebp
jae 0x4ffc56
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x6c]
movzx ebx, byte [ebx + esi]
mov byte [esp + 0x23], bl
movzx ebx, byte [esp + 0x21]
and ebx, 0xf
cmp ebx, ebp
jae 0x4ffc4d
lea ebp, [edx + 2]
movzx ebx, byte [ebx + esi]
mov esi, dword [esp + 0x30]
cmp ebp, esi
jbe 0x4ff8e6
mov byte [esp + 0x22], bl
mov dword [esp + 0x2c], edx
lea eax, [0x718d60]
mov dword [esp], eax
mov ecx, dword [esp + 0x4c]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00445ed0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
add eax, 2
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
movzx ebx, byte [esp + 0x22]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x4c], ebp
mov ebp, eax
mov eax, dword [esp + 0x60]
jmp 0x4ff8e6
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x5c]
cmp ebx, ebp
jae 0x4ffc5f
mov ecx, dword [esp + 0x58]
movzx ecx, byte [ecx + ebx]
mov ebp, ebx
mov ebx, ecx
mov ecx, dword [esp + 0x24]
jmp 0x4ff9be
mov byte [esp + 0x23], dl
lea eax, [0x718d60]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0x38]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00445ed0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebx, [eax + 2]
mov eax, dword [esp + 0x60]
test eax, eax
mov ecx, dword [esp + 0x24]
movzx edx, byte [esp + 0x23]
mov edi, dword [esp + 0x40]
jmp 0x4ff98b
test eax, eax
jmp 0x4ff9a0
mov dword [esp + 0x34], ebx
lea eax, [0x718d60]
mov dword [esp], eax
mov ecx, dword [esp + 0x4c]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
call fcn.00445ed0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
inc eax
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x28]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x4c], edx
mov edx, eax
mov eax, dword [esp + 0x60]
jmp 0x4ff94c
test eax, eax
mov edx, ebx
mov ebp, dword [esp + 0x4c]
jmp 0x4ff9a0
test eax, eax
jmp 0x4ffb2d
mov ebp, dword [esp + 0x54]
mov edi, dword [ebp]
mov dword [edi + 4], ebx
mov dword [edi + 8], esi
mov ebx, dword [0x9f0ee0]
test ebx, ebx
jne 0x4ffb80
mov dword [edi], edx
movzx eax, byte [ebp + 4]
test al, al
je 0x4ffb6c
mov eax, dword [ebp + 0x10]
cmp eax, ecx
jle 0x4ffb6c
movzx edx, byte [ebp + 6]
test dl, dl
jne 0x4ffb70
add esp, 0x50
ret
mov dword [esp], ebp
sub eax, ecx
mov dword [esp + 4], eax
call fcn.004fe3e0
jmp 0x4ffb6c
mov eax, edx
call fcn.0045f470
jmp 0x4ffb55
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
lea eax, [0x718d60]
mov dword [esp], eax
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00445ed0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebx, [eax + 2]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x24]
movzx ebp, byte [esp + 0x23]
mov edi, dword [esp + 0x40]
jmp 0x4ff8bc
mov ebx, ebp
jmp 0x4ff8d2
mov dword [esp], ebx
sub ebp, ecx
mov dword [esp + 4], ebp
call fcn.004fe3e0
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x54]
mov esi, dword [esp + 0x40]
jmp 0x4ff880
mov ecx, edx
jmp 0x4ff880
mov ecx, edx
jmp 0x4ff880
movzx edx, byte [ebx + 8]
test dl, dl
je 0x4ffc19
add ebp, 2
mov edx, ebp
jmp 0x4ff851
movzx eax, byte [ebx + 4]
test al, al
jne 0x4ffc2c
add esp, 0x50
ret
mov eax, dword [ebx + 0x10]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004fe3e0
jmp 0x4ffc28
mov ebp, eax
jmp 0x4ff826
mov eax, dword [esp + 0x5c]
jmp 0x4ff809
mov eax, ebx
mov ecx, ebp
call fcn.0045f4f0
mov eax, ebx
mov ecx, ebp
call fcn.0045f4f0
mov eax, ebx
mov ecx, ebp
call fcn.0045f4f0
mov eax, ebp
mov ecx, ebx
call fcn.0045f4f0
mov eax, 0x10
mov ecx, ebx
call fcn.0045f4f0
mov eax, 0x10
mov ecx, ebx
call fcn.0045f4f0
nop
call fcn.0045df10
jmp fcn.004ff7e0