Function at 0x1401b4170
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 r9d, ecx
mov r10, rdx
movzx ecx, cx
shr r9d, 0x10
cmp r8, 1
jne 0x1401b41c0
movzx edx, byte [rdx]
add edx, ecx
cmp edx, 0xfff0
jbe 0x1401b41a6
sub edx, 0xfff1
lea eax, [rdx + r9]
cmp eax, 0xfff0
jbe 0x1401b41b6
sub eax, 0xfff1
shl eax, 0x10
or eax, edx
jmp 0x1401b4448
mov eax, 1
test rdx, rdx
je 0x1401b4448
cmp r8, 0xf
ja 0x1401b4310
xor eax, eax
cmp r8, rax
je 0x1401b41ee
movzx edx, byte [r10 + rax]
inc rax
add ecx, edx
add r9d, ecx
jmp 0x1401b41da
cmp ecx, 0xfff0
jbe 0x1401b41fc
sub ecx, 0xfff1
mov r8d, 0xfff1
mov eax, r9d
xor edx, edx
div r8d
mov eax, edx
shl eax, 0x10
jmp 0x1401b4446
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 0x1401b4214
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 0x1401b4331
lea rax, [r10 + 0x15b0]
sub r8, 0x15b0
mov qword [rsp + 0x18], rax
jmp 0x1401b4214
test r8, r8
je 0x1401b443f
mov rax, r10
lea rdx, [r10 + r8]
mov r11, rdx
sub r11, rax
cmp r11, 0xf
jbe 0x1401b4401
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 0x1401b4341
mov rax, r8
and r8d, 0xf
and rax, 0xfffffffffffffff0
add r10, rax
xor eax, eax
cmp r8, rax
je 0x1401b4425
movzx edx, byte [r10 + rax]
inc rax
add ecx, edx
add r9d, ecx
jmp 0x1401b4411
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