Function at 0x1800165a0
Capabilities:
Enumerate pe sections

Disassembly:
push rsi
push rbx
sub rsp, 0x38
xor eax, eax
mov qword [rsp + 0x28], rax
mov rbx, rdx
mov rsi, qword [rcx]
mov ecx, dword [rcx + 8]
cmp ecx, 0x24
je 0x1800165c5
mov edx, 8
jmp 0x180016ac7
cmp word [rsi + 0x10], 0x2d
jne 0x180016ac2
cmp word [rsi + 0x1a], 0x2d
jne 0x180016ac2
cmp word [rsi + 0x24], 0x2d
jne 0x180016ac2
cmp word [rsi + 0x2e], 0x2d
jne 0x180016ac2
movzx ecx, word [rsi + 0xc]
movzx edx, word [rsi + 0xe]
movzx r8d, cl
movzx r9d, dl
lea rax, [0x1801359c0]
add r8, rax
movzx r8d, byte [r8]
movsx r8, r8b
shl r8d, 4
add r9, rax
movzx r9d, byte [r9]
movsx r9, r9b
or r8d, r9d
or ecx, edx
sar ecx, 8
mov edx, 0xffffffff
test ecx, ecx
cmovne r8d, edx
mov byte [rbx], r8b
lea rcx, [rbx + 1]
movzx edx, word [rsi + 8]
movzx r9d, word [rsi + 0xa]
movzx eax, dl
movzx r10d, r9b
lea r11, [0x1801359c0]
add rax, r11
movzx eax, byte [rax]
movsx rax, al
shl eax, 4
add r10, r11
movzx r10d, byte [r10]
movsx r10, r10b
or eax, r10d
or edx, r9d
sar edx, 8
mov r9d, 0xffffffff
test edx, edx
cmovne eax, r9d
or r8d, eax
mov byte [rcx], al
lea rcx, [rbx + 2]
movzx edx, word [rsi + 4]
movzx r9d, word [rsi + 6]
movzx eax, dl
movzx r10d, r9b
add rax, r11
movzx eax, byte [rax]
movsx rax, al
shl eax, 4
add r10, r11
movzx r10d, byte [r10]
movsx r10, r10b
or eax, r10d
or edx, r9d
sar edx, 8
mov r9d, 0xffffffff
test edx, edx
cmovne eax, r9d
or r8d, eax
mov byte [rcx], al
lea rcx, [rbx + 3]
movzx edx, word [rsi]
movzx r9d, word [rsi + 2]
movzx eax, dl
movzx r10d, r9b
add rax, r11
movzx eax, byte [rax]
movsx rax, al
shl eax, 4
add r10, r11
movzx r10d, byte [r10]
movsx r10, r10b
or eax, r10d
or edx, r9d
sar edx, 8
mov r9d, 0xffffffff
test edx, edx
cmovne eax, r9d
or r8d, eax
mov byte [rcx], al
lea rcx, [rbx + 4]
movzx edx, word [rsi + 0x16]
movzx r9d, word [rsi + 0x18]
movzx eax, dl
movzx r10d, r9b
add rax, r11
movzx eax, byte [rax]
movsx rax, al
shl eax, 4
add r10, r11
movzx r10d, byte [r10]
movsx r10, r10b
or eax, r10d
or edx, r9d
sar edx, 8
mov r9d, 0xffffffff
test edx, edx
cmovne eax, r9d
or r8d, eax
mov byte [rcx], al
lea rcx, [rbx + 5]
movzx edx, word [rsi + 0x12]
movzx r9d, word [rsi + 0x14]
movzx eax, dl
movzx r10d, r9b
add rax, r11
movzx eax, byte [rax]
movsx rax, al
shl eax, 4
add r10, r11
movzx r10d, byte [r10]
movsx r10, r10b
or eax, r10d
or edx, r9d
sar edx, 8
mov r9d, 0xffffffff
test edx, edx
cmovne eax, r9d
or r8d, eax
mov byte [rcx], al
lea rcx, [rbx + 6]
movzx edx, word [rsi + 0x20]
movzx r9d, word [rsi + 0x22]
movzx eax, dl
movzx r10d, r9b
add rax, r11
movzx eax, byte [rax]
movsx rax, al
shl eax, 4
add r10, r11
movzx r10d, byte [r10]
movsx r10, r10b
or eax, r10d
or edx, r9d
sar edx, 8
mov r9d, 0xffffffff
test edx, edx
cmovne eax, r9d
or r8d, eax
mov byte [rcx], al
lea rcx, [rbx + 7]
movzx edx, word [rsi + 0x1c]
movzx r9d, word [rsi + 0x1e]
movzx eax, dl
movzx r10d, r9b
add rax, r11
movzx eax, byte [rax]
movsx rax, al
shl eax, 4
add r10, r11
movzx r10d, byte [r10]
movsx r10, r10b
or eax, r10d
or edx, r9d
sar edx, 8
mov r9d, 0xffffffff
test edx, edx
cmovne eax, r9d
or r8d, eax
mov byte [rcx], al
lea rcx, [rbx + 8]
movzx edx, word [rsi + 0x26]
movzx r9d, word [rsi + 0x28]
movzx eax, dl
movzx r10d, r9b
add rax, r11
movzx eax, byte [rax]
movsx rax, al
shl eax, 4
add r10, r11
movzx r10d, byte [r10]
movsx r10, r10b
or eax, r10d
or edx, r9d
sar edx, 8
mov r9d, 0xffffffff
test edx, edx
cmovne eax, r9d
or r8d, eax
mov byte [rcx], al
lea rcx, [rbx + 9]
movzx edx, word [rsi + 0x2a]
movzx r9d, word [rsi + 0x2c]
movzx eax, dl
movzx r10d, r9b
add rax, r11
movzx eax, byte [rax]
movsx rax, al
shl eax, 4
add r10, r11
movzx r10d, byte [r10]
movsx r10, r10b
or eax, r10d
or edx, r9d
sar edx, 8
mov r9d, 0xffffffff
test edx, edx
cmovne eax, r9d
or r8d, eax
mov byte [rcx], al
lea rcx, [rbx + 0xa]
movzx edx, word [rsi + 0x30]
movzx r9d, word [rsi + 0x32]
movzx eax, dl
movzx r10d, r9b
add rax, r11
movzx eax, byte [rax]
movsx rax, al
shl eax, 4
add r10, r11
movzx r10d, byte [r10]
movsx r10, r10b
or eax, r10d
or edx, r9d
sar edx, 8
mov r9d, 0xffffffff
test edx, edx
cmovne eax, r9d
or r8d, eax
mov byte [rcx], al
lea rcx, [rbx + 0xb]
movzx edx, word [rsi + 0x34]
movzx r9d, word [rsi + 0x36]
movzx eax, dl
movzx r10d, r9b
add rax, r11
movzx eax, byte [rax]
movsx rax, al
shl eax, 4
add r10, r11
movzx r10d, byte [r10]
movsx r10, r10b
or eax, r10d
or edx, r9d
sar edx, 8
mov r9d, 0xffffffff
test edx, edx
cmovne eax, r9d
or r8d, eax
mov byte [rcx], al
lea rcx, [rbx + 0xc]
movzx edx, word [rsi + 0x38]
movzx r9d, word [rsi + 0x3a]
movzx eax, dl
movzx r10d, r9b
add rax, r11
movzx eax, byte [rax]
movsx rax, al
shl eax, 4
add r10, r11
movzx r10d, byte [r10]
movsx r10, r10b
or eax, r10d
or edx, r9d
sar edx, 8
mov r9d, 0xffffffff
test edx, edx
cmovne eax, r9d
or r8d, eax
mov byte [rcx], al
lea rcx, [rbx + 0xd]
movzx edx, word [rsi + 0x3c]
movzx r9d, word [rsi + 0x3e]
movzx eax, dl
movzx r10d, r9b
add rax, r11
movzx eax, byte [rax]
movsx rax, al
shl eax, 4
add r10, r11
movzx r10d, byte [r10]
movsx r10, r10b
or eax, r10d
or edx, r9d
sar edx, 8
mov r9d, 0xffffffff
test edx, edx
cmovne eax, r9d
or r8d, eax
mov byte [rcx], al
lea rcx, [rbx + 0xe]
movzx edx, word [rsi + 0x40]
movzx r9d, word [rsi + 0x42]
movzx eax, dl
movzx r10d, r9b
add rax, r11
movzx eax, byte [rax]
movsx rax, al
shl eax, 4
add r10, r11
movzx r10d, byte [r10]
movsx r10, r10b
or eax, r10d
or edx, r9d
sar edx, 8
mov r9d, 0xffffffff
test edx, edx
cmovne eax, r9d
or r8d, eax
mov byte [rcx], al
lea rcx, [rbx + 0xf]
movzx edx, word [rsi + 0x44]
movzx r9d, word [rsi + 0x46]
movzx eax, dl
movzx r10d, r9b
add rax, r11
movzx eax, byte [rax]
movsx rax, al
shl eax, 4
add r10, r11
movzx r10d, byte [r10]
movsx r10, r10b
or eax, r10d
or edx, r9d
sar edx, 8
mov r9d, 0xffffffff
test edx, edx
cmovne eax, r9d
or r8d, eax
mov byte [rcx], al
test r8d, r8d
jge 0x180016ab6
mov dword [rsp + 0x20], 0x24
mov rcx, rsi
mov edx, 0x58
mov r8d, 0x78
mov r9d, 0x2b
call fcn.180097d60
test eax, eax
jl 0x180016aa0
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x30], 0x24
lea rcx, [rsp + 0x28]
mov rdx, rbx
call fcn.180017790
test eax, eax
jne 0x180016ab6
mov rcx, rbx
mov edx, 7
call fcn.180048990
xor eax, eax
add rsp, 0x38
pop rbx
pop rsi
ret
mov eax, 1
add rsp, 0x38
pop rbx
pop rsi
ret
mov edx, 4
mov rcx, rbx
call fcn.180048990
xor eax, eax
add rsp, 0x38
pop rbx
pop rsi
ret