Function at 0x1800029f0
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
movsxd rbx, r8d
mov ebp, r9d
mov rsi, rbx
mov r14, rdx
mov rdi, rcx
test r8d, r8d
jle 0x180002a28
mov r8, rbx
xor edx, edx
call fcn.180004c00
mov r9d, 0x1e
xor ecx, ecx
sub r9d, ebx
test r9d, r9d
jle 0x180002a60
mov r8d, ecx
nop dword [rax + rax]
mov eax, ecx
inc ecx
cdq
idiv ebx
lea rdx, [rsi + r8]
mov byte [rdx + rdi], al
lea r8, [r8 + 1]
cmp ecx, r9d
jl 0x180002a40
nop word [rax + rax]
mov r8d, 1
movsx eax, bpl
mov word [r14], ax
mov edx, r8d
movzx ecx, byte [rdi]
shl edx, cl
add edx, ebp
movsx eax, dl
mov word [r14 + 2], ax
mov eax, r8d
movzx ecx, byte [rdi + 1]
shl eax, cl
add edx, eax
movsx eax, dl
mov word [r14 + 4], ax
mov eax, r8d
movzx ecx, byte [rdi + 2]
shl eax, cl
add edx, eax
movsx eax, dl
mov word [r14 + 6], ax
mov eax, r8d
movzx ecx, byte [rdi + 3]
shl eax, cl
add edx, eax
movsx eax, dl
mov word [r14 + 8], ax
mov eax, r8d
movzx ecx, byte [rdi + 4]
shl eax, cl
add edx, eax
movsx eax, dl
mov word [r14 + 0xa], ax
mov eax, r8d
movzx ecx, byte [rdi + 5]
shl eax, cl
add edx, eax
movsx eax, dl
mov word [r14 + 0xc], ax
mov eax, r8d
movzx ecx, byte [rdi + 6]
shl eax, cl
add edx, eax
movsx eax, dl
mov word [r14 + 0xe], ax
mov eax, r8d
movzx ecx, byte [rdi + 7]
shl eax, cl
add edx, eax
movsx eax, dl
mov word [r14 + 0x10], ax
mov eax, r8d
movzx ecx, byte [rdi + 8]
shl eax, cl
add edx, eax
movsx eax, dl
mov word [r14 + 0x12], ax
mov eax, r8d
movzx ecx, byte [rdi + 9]
shl eax, cl
add edx, eax
movsx eax, dl
mov word [r14 + 0x14], ax
mov eax, r8d
movzx ecx, byte [rdi + 0xa]
shl eax, cl
add edx, eax
movsx eax, dl
mov word [r14 + 0x16], ax
mov eax, r8d
movzx ecx, byte [rdi + 0xb]
shl eax, cl
add edx, eax
movsx eax, dl
mov word [r14 + 0x18], ax
mov eax, r8d
movzx ecx, byte [rdi + 0xc]
shl eax, cl
add edx, eax
movsx eax, dl
mov word [r14 + 0x1a], ax
movzx ecx, byte [rdi + 0xd]
mov eax, r8d
shl eax, cl
add edx, eax
movsx eax, dl
mov word [r14 + 0x1c], ax
mov eax, r8d
movzx ecx, byte [rdi + 0xe]
shl eax, cl
add edx, eax
movsx eax, dl
mov word [r14 + 0x1e], ax
mov eax, r8d
movzx ecx, byte [rdi + 0xf]
shl eax, cl
add edx, eax
movsx eax, dl
mov word [r14 + 0x20], ax
mov eax, r8d
movzx ecx, byte [rdi + 0x10]
shl eax, cl
add edx, eax
movsx eax, dl
mov word [r14 + 0x22], ax
mov eax, r8d
movzx ecx, byte [rdi + 0x11]
shl eax, cl
add edx, eax
movsx eax, dl
mov word [r14 + 0x24], ax
mov eax, r8d
movzx ecx, byte [rdi + 0x12]
shl eax, cl
add edx, eax
movsx eax, dl
mov word [r14 + 0x26], ax
mov eax, r8d
movzx ecx, byte [rdi + 0x13]
shl eax, cl
add edx, eax
movsx eax, dl
mov word [r14 + 0x28], ax
mov eax, r8d
movzx ecx, byte [rdi + 0x14]
shl eax, cl
add edx, eax
movsx eax, dl
mov word [r14 + 0x2a], ax
mov eax, r8d
movzx ecx, byte [rdi + 0x15]
shl eax, cl
add edx, eax
movsx eax, dl
mov word [r14 + 0x2c], ax
mov eax, r8d
movzx ecx, byte [rdi + 0x16]
shl eax, cl
add edx, eax
movsx eax, dl
mov word [r14 + 0x2e], ax
mov eax, r8d
movzx ecx, byte [rdi + 0x17]
shl eax, cl
add edx, eax
movsx eax, dl
mov word [r14 + 0x30], ax
mov eax, r8d
movzx ecx, byte [rdi + 0x18]
shl eax, cl
add edx, eax
movsx eax, dl
mov word [r14 + 0x32], ax
mov eax, r8d
movzx ecx, byte [rdi + 0x19]
shl eax, cl
add edx, eax
movsx eax, dl
mov word [r14 + 0x34], ax
mov eax, r8d
movzx ecx, byte [rdi + 0x1a]
shl eax, cl
mov rbx, qword [rsp + 0x30]
add edx, eax
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
movsx eax, dl
mov word [r14 + 0x36], ax
mov eax, r8d
movzx ecx, byte [rdi + 0x1b]
shl eax, cl
add edx, eax
movsx eax, dl
mov word [r14 + 0x38], ax
movzx ecx, byte [rdi + 0x1c]
mov rdi, qword [rsp + 0x48]
shl r8d, cl
add edx, r8d
movsx eax, dl
mov word [r14 + 0x3a], ax
add rsp, 0x20
pop r14
ret