Function at 0x180016ae0
Capabilities:
Enumerate pe sections

Disassembly:
push rsi
push rbx
sub rsp, 0x28
mov rax, rdx
mov rdx, qword [rcx]
mov ecx, dword [rcx + 8]
cmp ecx, 0x20
jne 0x180016fe1
movzx ecx, word [rdx + 0xc]
movzx r8d, word [rdx + 0xe]
movzx r10d, cl
movzx r9d, r8b
lea r11, [0x1801359c0]
add r10, r11
movzx r10d, byte [r10]
movsx r10, r10b
shl r10d, 4
add r9, r11
movzx r9d, byte [r9]
movsx r9, r9b
or r10d, r9d
or ecx, r8d
sar ecx, 8
mov r8d, 0xffffffff
test ecx, ecx
cmovne r10d, r8d
mov byte [rax], r10b
lea rcx, [rax + 1]
movzx r8d, word [rdx + 8]
movzx r9d, word [rdx + 0xa]
movzx r11d, r8b
movzx ebx, r9b
lea rsi, [0x1801359c0]
add r11, rsi
movzx r11d, byte [r11]
movsx r11, r11b
shl r11d, 4
add rbx, rsi
movzx ebx, byte [rbx]
movsx rbx, bl
or r11d, ebx
or r8d, r9d
sar r8d, 8
mov r9d, 0xffffffff
test r8d, r8d
cmovne r11d, r9d
or r10d, r11d
mov byte [rcx], r11b
lea rcx, [rax + 2]
movzx r8d, word [rdx + 4]
movzx r9d, word [rdx + 6]
movzx r11d, r8b
movzx ebx, r9b
add r11, rsi
movzx r11d, byte [r11]
movsx r11, r11b
shl r11d, 4
add rbx, rsi
movzx ebx, byte [rbx]
movsx rbx, bl
or r11d, ebx
or r8d, r9d
sar r8d, 8
mov r9d, 0xffffffff
test r8d, r8d
cmovne r11d, r9d
or r10d, r11d
mov byte [rcx], r11b
lea rcx, [rax + 3]
movzx r8d, word [rdx]
movzx r9d, word [rdx + 2]
movzx r11d, r8b
movzx ebx, r9b
add r11, rsi
movzx r11d, byte [r11]
movsx r11, r11b
shl r11d, 4
add rbx, rsi
movzx ebx, byte [rbx]
movsx rbx, bl
or r11d, ebx
or r8d, r9d
sar r8d, 8
mov r9d, 0xffffffff
test r8d, r8d
cmovne r11d, r9d
or r10d, r11d
mov byte [rcx], r11b
lea rcx, [rax + 4]
movzx r8d, word [rdx + 0x14]
movzx r9d, word [rdx + 0x16]
movzx r11d, r8b
movzx ebx, r9b
add r11, rsi
movzx r11d, byte [r11]
movsx r11, r11b
shl r11d, 4
add rbx, rsi
movzx ebx, byte [rbx]
movsx rbx, bl
or r11d, ebx
or r8d, r9d
sar r8d, 8
mov r9d, 0xffffffff
test r8d, r8d
cmovne r11d, r9d
or r10d, r11d
mov byte [rcx], r11b
lea rcx, [rax + 5]
movzx r8d, word [rdx + 0x10]
movzx r9d, word [rdx + 0x12]
movzx r11d, r8b
movzx ebx, r9b
add r11, rsi
movzx r11d, byte [r11]
movsx r11, r11b
shl r11d, 4
add rbx, rsi
movzx ebx, byte [rbx]
movsx rbx, bl
or r11d, ebx
or r8d, r9d
sar r8d, 8
mov r9d, 0xffffffff
test r8d, r8d
cmovne r11d, r9d
or r10d, r11d
mov byte [rcx], r11b
lea rcx, [rax + 6]
movzx r8d, word [rdx + 0x1c]
movzx r9d, word [rdx + 0x1e]
movzx r11d, r8b
movzx ebx, r9b
add r11, rsi
movzx r11d, byte [r11]
movsx r11, r11b
shl r11d, 4
add rbx, rsi
movzx ebx, byte [rbx]
movsx rbx, bl
or r11d, ebx
or r8d, r9d
sar r8d, 8
mov r9d, 0xffffffff
test r8d, r8d
cmovne r11d, r9d
or r10d, r11d
mov byte [rcx], r11b
lea rcx, [rax + 7]
movzx r8d, word [rdx + 0x18]
movzx r9d, word [rdx + 0x1a]
movzx r11d, r8b
movzx ebx, r9b
add r11, rsi
movzx r11d, byte [r11]
movsx r11, r11b
shl r11d, 4
add rbx, rsi
movzx ebx, byte [rbx]
movsx rbx, bl
or r11d, ebx
or r8d, r9d
sar r8d, 8
mov r9d, 0xffffffff
test r8d, r8d
cmovne r11d, r9d
or r10d, r11d
mov byte [rcx], r11b
lea rcx, [rax + 8]
movzx r8d, word [rdx + 0x20]
movzx r9d, word [rdx + 0x22]
movzx r11d, r8b
movzx ebx, r9b
add r11, rsi
movzx r11d, byte [r11]
movsx r11, r11b
shl r11d, 4
add rbx, rsi
movzx ebx, byte [rbx]
movsx rbx, bl
or r11d, ebx
or r8d, r9d
sar r8d, 8
mov r9d, 0xffffffff
test r8d, r8d
cmovne r11d, r9d
or r10d, r11d
mov byte [rcx], r11b
lea rcx, [rax + 9]
movzx r8d, word [rdx + 0x24]
movzx r9d, word [rdx + 0x26]
movzx r11d, r8b
movzx ebx, r9b
add r11, rsi
movzx r11d, byte [r11]
movsx r11, r11b
shl r11d, 4
add rbx, rsi
movzx ebx, byte [rbx]
movsx rbx, bl
or r11d, ebx
or r8d, r9d
sar r8d, 8
mov r9d, 0xffffffff
test r8d, r8d
cmovne r11d, r9d
or r10d, r11d
mov byte [rcx], r11b
lea rcx, [rax + 0xa]
movzx r8d, word [rdx + 0x28]
movzx r9d, word [rdx + 0x2a]
movzx r11d, r8b
movzx ebx, r9b
add r11, rsi
movzx r11d, byte [r11]
movsx r11, r11b
shl r11d, 4
add rbx, rsi
movzx ebx, byte [rbx]
movsx rbx, bl
or r11d, ebx
or r8d, r9d
sar r8d, 8
mov r9d, 0xffffffff
test r8d, r8d
cmovne r11d, r9d
or r10d, r11d
mov byte [rcx], r11b
lea rcx, [rax + 0xb]
movzx r8d, word [rdx + 0x2c]
movzx r9d, word [rdx + 0x2e]
movzx r11d, r8b
movzx ebx, r9b
add r11, rsi
movzx r11d, byte [r11]
movsx r11, r11b
shl r11d, 4
add rbx, rsi
movzx ebx, byte [rbx]
movsx rbx, bl
or r11d, ebx
or r8d, r9d
sar r8d, 8
mov r9d, 0xffffffff
test r8d, r8d
cmovne r11d, r9d
or r10d, r11d
mov byte [rcx], r11b
lea rcx, [rax + 0xc]
movzx r8d, word [rdx + 0x30]
movzx r9d, word [rdx + 0x32]
movzx r11d, r8b
movzx ebx, r9b
add r11, rsi
movzx r11d, byte [r11]
movsx r11, r11b
shl r11d, 4
add rbx, rsi
movzx ebx, byte [rbx]
movsx rbx, bl
or r11d, ebx
or r8d, r9d
sar r8d, 8
mov r9d, 0xffffffff
test r8d, r8d
cmovne r11d, r9d
or r10d, r11d
mov byte [rcx], r11b
lea rcx, [rax + 0xd]
movzx r8d, word [rdx + 0x34]
movzx r9d, word [rdx + 0x36]
movzx r11d, r8b
movzx ebx, r9b
add r11, rsi
movzx r11d, byte [r11]
movsx r11, r11b
shl r11d, 4
add rbx, rsi
movzx ebx, byte [rbx]
movsx rbx, bl
or r11d, ebx
or r8d, r9d
sar r8d, 8
mov r9d, 0xffffffff
test r8d, r8d
cmovne r11d, r9d
or r10d, r11d
mov byte [rcx], r11b
lea rcx, [rax + 0xe]
movzx r8d, word [rdx + 0x38]
movzx r9d, word [rdx + 0x3a]
movzx r11d, r8b
movzx ebx, r9b
add r11, rsi
movzx r11d, byte [r11]
movsx r11, r11b
shl r11d, 4
add rbx, rsi
movzx ebx, byte [rbx]
movsx rbx, bl
or r11d, ebx
or r8d, r9d
sar r8d, 8
mov r9d, 0xffffffff
test r8d, r8d
cmovne r11d, r9d
or r10d, r11d
mov byte [rcx], r11b
lea rcx, [rax + 0xf]
movzx r8d, word [rdx + 0x3c]
movzx edx, word [rdx + 0x3e]
movzx r9d, r8b
movzx r11d, dl
add r9, rsi
movzx r9d, byte [r9]
movsx r9, r9b
shl r9d, 4
add r11, rsi
movzx r11d, byte [r11]
movsx r11, r11b
or r9d, r11d
or edx, r8d
sar edx, 8
mov r8d, 0xffffffff
test edx, edx
cmovne r9d, r8d
or r10d, r9d
mov byte [rcx], r9b
test r10d, r10d
jge 0x180016fd5
mov rcx, rax
mov edx, 7
call fcn.180048990
xor eax, eax
add rsp, 0x28
pop rbx
pop rsi
ret
mov eax, 1
add rsp, 0x28
pop rbx
pop rsi
ret
mov rcx, rax
mov edx, 8
call fcn.180048990
xor eax, eax
add rsp, 0x28
pop rbx
pop rsi
ret