Function at 0x1400a6f30
Capabilities:
Enumerate pe sections

Disassembly:
mov r8d, r8d
jmp 0x1400a7f20
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov r9d, ecx
mov r10, rdx
movzx ecx, cx
shr r9d, 0x10
cmp r8, 1
jne 0x1400a7f70
movzx edx, byte [rdx]
add edx, ecx
cmp edx, 0xfff0
jbe 0x1400a7f56
sub edx, 0xfff1
lea eax, [rdx + r9]
cmp eax, 0xfff0
jbe 0x1400a7f66
sub eax, 0xfff1
shl eax, 0x10
or eax, edx
jmp 0x1400a81f8
mov eax, 1
test rdx, rdx
je 0x1400a81f8
cmp r8, 0xf
ja 0x1400a80c0
xor eax, eax
cmp r8, rax
je 0x1400a7f9e
movzx edx, byte [r10 + rax]
inc rax
add ecx, edx
add r9d, ecx
jmp 0x1400a7f8a
cmp ecx, 0xfff0
jbe 0x1400a7fac
sub ecx, 0xfff1
mov r8d, 0xfff1
mov eax, r9d
xor edx, edx
div r8d
mov eax, edx
shl eax, 0x10
jmp 0x1400a81f6
movzx r11d, byte [r10]
movzx r15d, byte [r10 + 1]
movzx r14d, byte [r10 + 2]
movzx r13d, byte [r10 + 3]
add r11d, ecx
movzx r12d, byte [r10 + 4]
movzx ebp, byte [r10 + 5]
add r15d, r11d
movzx eax, byte [r10 + 6]
movzx ebx, byte [r10 + 0xc]
add r14d, r15d
add r11d, r15d
movzx edx, byte [r10 + 0xd]
movzx ecx, byte [r10 + 0xf]
add r13d, r14d
add r11d, r14d
add r12d, r13d
add r11d, r13d
add ebp, r12d
add r11d, r12d
add eax, ebp
add r11d, ebp
mov dword [rsp + 8], eax
movzx eax, byte [r10 + 7]
mov esi, dword [rsp + 8]
mov r14d, dword [rsp + 8]
add eax, esi
add r11d, r14d
mov dword [rsp + 0xc], eax
movzx eax, byte [r10 + 8]
mov edi, dword [rsp + 0xc]
mov r15d, dword [rsp + 0xc]
add eax, edi
add r11d, r15d
movzx edi, byte [r10 + 0xa]
mov dword [rsp + 0x10], eax
movzx eax, byte [r10 + 9]
mov esi, dword [rsp + 0x10]
mov r14d, dword [rsp + 0x10]
add eax, esi
add r11d, r14d
movzx esi, byte [r10 + 0xb]
mov dword [rsp + 0x14], eax
mov r15d, dword [rsp + 0x14]
add edi, eax
add esi, edi
movzx eax, byte [r10 + 0xe]
add r11d, r15d
add ebx, esi
add r11d, edi
add edx, ebx
add r11d, esi
add eax, edx
add r11d, ebx
add ecx, eax
add edx, r11d
add eax, edx
add eax, ecx
add r9d, eax
mov rax, qword [rsp + 0x18]
add r10, 0x10
cmp r10, rax
jne 0x1400a7fc4
mov eax, ecx
mov ebx, 0xfff1
xor edx, edx
div ebx
mov eax, r9d
mov ecx, edx
xor edx, edx
div ebx
mov r9d, edx
cmp r8, 0x15af
jbe 0x1400a80e1
lea rax, [r10 + 0x15b0]
sub r8, 0x15b0
mov qword [rsp + 0x18], rax
jmp 0x1400a7fc4
test r8, r8
je 0x1400a81ef
mov rax, r10
lea rdx, [r10 + r8]
mov r11, rdx
sub r11, rax
cmp r11, 0xf
jbe 0x1400a81b1
movzx r11d, byte [rax]
add r11d, ecx
movzx ecx, byte [rax + 1]
add r9d, r11d
add ecx, r11d
movzx r11d, byte [rax + 2]
add r9d, ecx
add r11d, ecx
movzx ecx, byte [rax + 3]
add r9d, r11d
add ecx, r11d
movzx r11d, byte [rax + 4]
add r9d, ecx
add r11d, ecx
movzx ecx, byte [rax + 5]
add r9d, r11d
add ecx, r11d
movzx r11d, byte [rax + 6]
add r9d, ecx
add r11d, ecx
movzx ecx, byte [rax + 7]
add r9d, r11d
add ecx, r11d
movzx r11d, byte [rax + 8]
add r9d, ecx
add r11d, ecx
movzx ecx, byte [rax + 9]
add r9d, r11d
add ecx, r11d
movzx r11d, byte [rax + 0xa]
add r9d, ecx
add r11d, ecx
movzx ecx, byte [rax + 0xb]
add r9d, r11d
add ecx, r11d
movzx r11d, byte [rax + 0xc]
add r9d, ecx
add r11d, ecx
movzx ecx, byte [rax + 0xd]
add r9d, r11d
add ecx, r11d
movzx r11d, byte [rax + 0xe]
add r9d, ecx
add r11d, ecx
movzx ecx, byte [rax + 0xf]
add r9d, r11d
add ecx, r11d
add r9d, ecx
add rax, 0x10
jmp 0x1400a80f1
mov rax, r8
and r8d, 0xf
and rax, 0xfffffffffffffff0
add r10, rax
xor eax, eax
cmp r8, rax
je 0x1400a81d5
movzx edx, byte [r10 + rax]
inc rax
add ecx, edx
add r9d, ecx
jmp 0x1400a81c1
mov r8d, 0xfff1
mov eax, ecx
xor edx, edx
div r8d
mov eax, r9d
mov ecx, edx
xor edx, edx
div r8d
mov r9d, edx
shl r9d, 0x10
mov eax, r9d
or eax, ecx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret