Function at 0x4fff30
Capabilities:
Enumerate pe sections

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rdx
mov r15, rcx
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
mov r13, rcx
sub r13, rax
cmp r13, 0xffffffffffffffe0
je 0x500134
sar r13, 5
add r13, 1
mov r12, qword [r15 + 0x10]
sub r12, rax
mov rcx, r12
sar rcx, 5
cmp rcx, r13
jae 0x4fffd6
lea rax, [rcx + rcx*4]
mov rcx, rax
shr rcx, 2
cmp rax, 4
mov r14d, 0x10
cmovae r14, rcx
cmp r14, r13
cmovb r14, r13
shl r14, 5
mov rcx, r14
xor edx, edx
xor r8d, r8d
call fcn.004b5ea0
mov rbx, rax
test r12, r12
je 0x50011c
mov rax, qword [r15]
cmp r12, 8
jb 0x4fffcf
lea rcx, [rax + r12]
cmp rbx, rcx
jae 0x4fffe9
lea rcx, [rbx + r12]
cmp rax, rcx
jae 0x4fffe9
xor ecx, ecx
jmp 0x500103
shl r13, 5
add rax, r13
mov qword [r15 + 8], rax
mov rcx, rax
jmp 0x500134
cmp r12, 0x20
jae 0x4ffff6
xor ecx, ecx
jmp 0x5000da
mov rcx, r12
and rcx, 0xffffffffffffffe0
lea rdx, [rcx - 0x20]
mov r9, rdx
shr r9, 5
add r9, 1
mov r8d, r9d
and r8d, 3
cmp rdx, 0x60
jae 0x50001d
xor edx, edx
jmp 0x500088
and r9, 0xfffffffffffffffc
xor edx, edx
nop word cs:[rax + rax]
nop dword [rax]
movups xmm0, xmmword [rax + rdx]
movups xmm1, xmmword [rax + rdx + 0x10]
movups xmmword [rbx + rdx], xmm0
movups xmmword [rbx + rdx + 0x10], xmm1
movups xmm0, xmmword [rax + rdx + 0x20]
movups xmm1, xmmword [rax + rdx + 0x30]
movups xmmword [rbx + rdx + 0x20], xmm0
movups xmmword [rbx + rdx + 0x30], xmm1
movups xmm0, xmmword [rax + rdx + 0x40]
movups xmm1, xmmword [rax + rdx + 0x50]
movups xmmword [rbx + rdx + 0x40], xmm0
movups xmmword [rbx + rdx + 0x50], xmm1
movups xmm0, xmmword [rax + rdx + 0x60]
movups xmm1, xmmword [rax + rdx + 0x70]
movups xmmword [rbx + rdx + 0x60], xmm0
movups xmmword [rbx + rdx + 0x70], xmm1
sub rdx, 0xffffffffffffff80
add r9, 0xfffffffffffffffc
jne 0x500030
test r8, r8
je 0x5000cf
lea r9, [rbx + rdx]
add r9, 0x10
lea r10, [rax + rdx]
add r10, 0x10
shl r8, 5
xor edx, edx
nop word cs:[rax + rax]
nop dword [rax]
movups xmm0, xmmword [r10 + rdx - 0x10]
movups xmm1, xmmword [r10 + rdx]
movups xmmword [r9 + rdx - 0x10], xmm0
movups xmmword [r9 + rdx], xmm1
add rdx, 0x20
cmp r8, rdx
jne 0x5000b0
cmp r12, rcx
je 0x500112
test r12b, 0x18
je 0x500103
mov rdx, rcx
mov rcx, r12
and rcx, 0xfffffffffffffff8
nop word cs:[rax + rax]
nop
mov rdi, qword [rax + rdx]
mov qword [rbx + rdx], rdi
add rdx, 8
cmp rcx, rdx
jne 0x5000f0
jmp 0x50010d
mov dl, byte [rax + rcx]
mov byte [rbx + rcx], dl
add rcx, 1
cmp r12, rcx
jne 0x500103
mov rcx, qword [r15]
xor edx, edx
call fcn.004b6070
mov qword [r15], rbx
shl r13, 5
add r13, rbx
mov qword [r15 + 8], r13
add r14, rbx
mov qword [r15 + 0x10], r14
mov rcx, r13
lea rax, [rcx - 0x20]
mov dl, byte [rsi]
mov byte [rcx - 0x20], dl
mov dl, byte [rsi + 1]
mov byte [rcx - 0x1f], dl
mov dl, byte [rsi + 2]
mov byte [rcx - 0x1e], dl
mov dl, byte [rsi + 3]
mov byte [rcx - 0x1d], dl
mov dl, byte [rsi + 4]
mov byte [rcx - 0x1c], dl
mov dl, byte [rsi + 5]
mov byte [rcx - 0x1b], dl
mov dl, byte [rsi + 6]
mov byte [rcx - 0x1a], dl
mov dl, byte [rsi + 7]
mov byte [rcx - 0x19], dl
mov dl, byte [rsi + 8]
mov byte [rcx - 0x18], dl
mov dl, byte [rsi + 9]
mov byte [rcx - 0x17], dl
mov dl, byte [rsi + 0xa]
mov byte [rcx - 0x16], dl
mov dl, byte [rsi + 0xb]
mov byte [rcx - 0x15], dl
mov dl, byte [rsi + 0xc]
mov byte [rcx - 0x14], dl
mov dl, byte [rsi + 0xd]
mov byte [rcx - 0x13], dl
mov dl, byte [rsi + 0xe]
mov byte [rcx - 0x12], dl
mov dl, byte [rsi + 0xf]
mov byte [rcx - 0x11], dl
mov dl, byte [rsi + 0x10]
mov byte [rcx - 0x10], dl
mov dl, byte [rsi + 0x11]
mov byte [rcx - 0xf], dl
mov dl, byte [rsi + 0x12]
mov byte [rcx - 0xe], dl
mov dl, byte [rsi + 0x13]
mov byte [rcx - 0xd], dl
mov dl, byte [rsi + 0x14]
mov byte [rcx - 0xc], dl
mov dl, byte [rsi + 0x15]
mov byte [rcx - 0xb], dl
mov dl, byte [rsi + 0x16]
mov byte [rcx - 0xa], dl
mov dl, byte [rsi + 0x17]
mov byte [rcx - 9], dl
mov dl, byte [rsi + 0x18]
mov byte [rcx - 8], dl
mov dl, byte [rsi + 0x19]
mov byte [rcx - 7], dl
mov dl, byte [rsi + 0x1a]
mov byte [rcx - 6], dl
mov dl, byte [rsi + 0x1b]
mov byte [rcx - 5], dl
mov dl, byte [rsi + 0x1c]
mov byte [rcx - 4], dl
mov dl, byte [rsi + 0x1d]
mov byte [rcx - 3], dl
mov dl, byte [rsi + 0x1e]
mov byte [rcx - 2], dl
mov dl, byte [rsi + 0x1f]
mov byte [rcx - 1], dl
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret