Function at 0x14018d780
Capabilities:
Enumerate pe sections

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov r10d, ecx
mov r11, rdx
movzx r9d, cx
shr r10d, 0x10
cmp r8, 1
jne 0x14018d7d5
movzx eax, byte [rdx]
add eax, r9d
cmp eax, 0xfff0
jbe 0x14018d7b6
sub eax, 0xfff1
add r10d, eax
cmp r10d, 0xfff0
jbe 0x14018d7c9
sub r10d, 0xfff1
shl r10d, 0x10
or eax, r10d
jmp 0x14018da4e
mov eax, 1
test rdx, rdx
je 0x14018da4e
cmp r8, 0xf
ja 0x14018d909
xor eax, eax
cmp r8, rax
je 0x14018d804
movzx edx, byte [r11 + rax]
inc rax
add r9d, edx
add r10d, r9d
jmp 0x14018d7ef
cmp r9d, 0xfff0
jbe 0x14018d814
sub r9d, 0xfff1
mov ecx, 0xfff1
mov eax, r10d
xor edx, edx
div ecx
mov eax, edx
shl eax, 0x10
jmp 0x14018da4b
movzx ecx, byte [rdx]
movzx r15d, byte [rdx + 1]
movzx r14d, byte [rdx + 2]
movzx r13d, byte [rdx + 3]
add ecx, r9d
movzx r12d, byte [rdx + 4]
movzx ebp, byte [rdx + 5]
add r15d, ecx
movzx eax, byte [rdx + 6]
movzx edi, byte [rdx + 0xa]
add r14d, r15d
add ecx, r15d
movzx esi, byte [rdx + 0xb]
movzx ebx, byte [rdx + 0xc]
add r13d, r14d
add ecx, r14d
movzx r11d, byte [rdx + 0xd]
movzx r9d, byte [rdx + 0xf]
add r12d, r13d
add ecx, r13d
add ebp, r12d
add ecx, r12d
add eax, ebp
add ecx, ebp
mov dword [rsp + 8], eax
movzx eax, byte [rdx + 7]
add eax, dword [rsp + 8]
add ecx, dword [rsp + 8]
mov dword [rsp + 0xc], eax
movzx eax, byte [rdx + 8]
add eax, dword [rsp + 0xc]
add ecx, dword [rsp + 0xc]
mov dword [rsp + 0x10], eax
movzx eax, byte [rdx + 9]
add eax, dword [rsp + 0x10]
add ecx, dword [rsp + 0x10]
add edi, eax
mov dword [rsp + 0x14], eax
add ecx, dword [rsp + 0x14]
add esi, edi
add edi, ecx
movzx eax, byte [rdx + 0xe]
add ebx, esi
add esi, edi
add r11d, ebx
add ebx, esi
add eax, r11d
add r11d, ebx
add r9d, eax
add eax, r11d
add eax, r9d
add r10d, eax
add rdx, 0x10
cmp rdx, qword [rsp + 0x18]
jne 0x14018d82a
mov eax, r9d
mov esi, 0xfff1
mov r11, rdx
xor edx, edx
div esi
mov eax, r10d
mov r9d, edx
xor edx, edx
div esi
mov r10d, edx
cmp r8, 0x15af
jbe 0x14018d92d
lea rax, [r11 + 0x15b0]
sub r8, 0x15b0
mov rdx, r11
mov qword [rsp + 0x18], rax
jmp 0x14018d82a
test r8, r8
je 0x14018da44
mov rdx, r11
lea rbx, [r11 + r8]
mov rax, rbx
sub rax, rdx
cmp rax, 0xf
jbe 0x14018d9fd
movzx ecx, byte [rdx]
add r9d, ecx
movzx ecx, byte [rdx + 1]
add ecx, r9d
add r9d, ecx
add r10d, r9d
movzx r9d, byte [rdx + 2]
add ecx, r9d
movzx r9d, byte [rdx + 3]
add r10d, ecx
add r9d, ecx
movzx ecx, byte [rdx + 4]
add r10d, r9d
add r9d, ecx
movzx ecx, byte [rdx + 5]
add r10d, r9d
add ecx, r9d
movzx r9d, byte [rdx + 6]
add r10d, ecx
add ecx, r9d
movzx r9d, byte [rdx + 7]
add r10d, ecx
add r9d, ecx
movzx ecx, byte [rdx + 8]
add r10d, r9d
add r9d, ecx
movzx ecx, byte [rdx + 9]
add r10d, r9d
add ecx, r9d
movzx r9d, byte [rdx + 0xa]
add r10d, ecx
add ecx, r9d
movzx r9d, byte [rdx + 0xb]
add r10d, ecx
add r9d, ecx
movzx ecx, byte [rdx + 0xc]
add r10d, r9d
add r9d, ecx
movzx ecx, byte [rdx + 0xd]
add r10d, r9d
add ecx, r9d
movzx r9d, byte [rdx + 0xe]
add r10d, ecx
add ecx, r9d
movzx r9d, byte [rdx + 0xf]
add r10d, ecx
add r9d, ecx
add r10d, r9d
add rdx, 0x10
jmp 0x14018d93d
mov rax, r8
mov rdx, r8
shr rax, 4
and rdx, 0xfffffffffffffff0
imul rax, rax, 0xfffffffffffffff0
add rdx, r11
add r8, rax
xor eax, eax
cmp rax, r8
je 0x14018da2b
movzx ecx, byte [rdx + rax]
inc rax
add r9d, ecx
add r10d, r9d
jmp 0x14018da17
mov ecx, 0xfff1
mov eax, r9d
xor edx, edx
div ecx
mov eax, r10d
mov r9d, edx
xor edx, edx
div ecx
mov r10d, edx
shl r10d, 0x10
mov eax, r10d
or eax, r9d
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret