Function at 0x14001f9e6
Capabilities:
Enumerate pe sections

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
cmp r9, 0x40
jb 0x14002009a
mov qword [rsp + 0x70], r9
mov rax, qword [rcx]
mov rsi, qword [rcx + 8]
mov qword [rsp + 0x60], rcx
mov r11, qword [rcx + 0x10]
and r9, 0xffffffffffffffc0
mov qword [rsp + 0x68], rdx
je 0x140020079
mov rcx, qword [rdx + 0x28]
mov qword [rsp + 0x50], rcx
mov rcx, qword [rdx + 0x20]
mov qword [rsp + 0x48], rcx
mov rcx, qword [rdx + 0x18]
mov qword [rsp + 0x40], rcx
mov rcx, qword [rdx + 0x10]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rdx]
mov qword [rsp + 0x58], rcx
mov rcx, qword [rdx + 8]
mov qword [rsp + 0x30], rcx
xor r14d, r14d
mov qword [rsp + 0x78], r9
movzx edi, byte [r8 + r14 + 4]
movzx edx, byte [r8 + r14 + 5]
movzx r10d, byte [r8 + r14 + 6]
movzx ebx, byte [r8 + r14 + 7]
shl rbx, 0x38
shl r10, 0x30
shl rdx, 0x28
shl rdi, 0x20
mov ecx, dword [r8 + r14]
mov r9d, dword [r8 + r14 + 0xb]
or r10, rbx
or rcx, rdi
movzx r15d, byte [r8 + r14 + 0xa]
shl r15, 0x10
or rcx, rdx
movzx ebx, byte [r8 + r14 + 0xf]
shl rbx, 0x20
movzx edi, word [r8 + r14 + 8]
or rdx, r10
or rdi, r15
shld rdi, rdx, 0x14
add rdi, rsi
movabs rdx, 0xfffffffffff
and rcx, rdx
add rcx, rax
movabs rax, 0x10000000000
add r11, rax
mov rax, rcx
mov r13, qword [rsp + 0x58]
mul r13
mov r15, rax
mov qword [rsp + 0x28], rdx
mov rax, rdi
mul qword [rsp + 0x50]
mov r12, rax
mov qword [rsp + 0x20], rdx
or r9, rbx
add r11, r9
mov rax, r11
mul qword [rsp + 0x40]
mov r9, rax
mov qword [rsp + 0x18], rdx
mov rax, rcx
mov r10, qword [rsp + 0x30]
mul r10
mov rbp, rax
mov rbx, rdx
shr r15, 0x14
shr r12, 0x14
mov rax, rdi
mul r13
mov qword [rsp], rax
mov qword [rsp + 0x10], rdx
mov rax, r11
mul qword [rsp + 0x48]
mov rsi, rax
mov qword [rsp + 8], rdx
shr r9, 0x14
add r9, r15
mov rax, rcx
mul qword [rsp + 0x38]
mov qword [rsp + 0x80], rax
mov rcx, rdx
mov rax, rdi
mul r10
mov r10, rdx
mov r15, rax
mov rax, r11
mul r13
mov rdi, rax
add r9, r12
add rdx, rcx
add rdx, r10
movzx eax, byte [r8 + r14 + 0x17]
shl rax, 0x38
movzx r10d, byte [r8 + r14 + 0x16]
shl r10, 0x30
or r10, rax
movzx eax, byte [r8 + r14 + 0x14]
shl rax, 0x20
mov r11d, dword [r8 + r14 + 0x10]
or r11, rax
movzx eax, byte [r8 + r14 + 0x15]
shl rax, 0x28
or r11, rax
or rax, r10
movzx r10d, byte [r8 + r14 + 0x1a]
shl r10, 0x10
movzx r13d, word [r8 + r14 + 0x18]
or r13, r10
shld r13, rax, 0x14
movzx r10d, byte [r8 + r14 + 0x1f]
shl r10, 0x20
mov eax, dword [r8 + r14 + 0x1b]
or rax, r10
movabs r10, 0xfffffffffff
and r11, r10
add r11, r9
lea rdx, [rdx + rdx*4]
lea r12, [r11 + rdx*4]
shr rbp, 0x14
mov rcx, qword [rsp]
shr rcx, 0x14
shr rsi, 0x14
add rbp, qword [rsp + 0x28]
mov r9, qword [rsp + 0x80]
shr r9, 0x14
add rbp, rcx
add rsi, qword [rsp + 0x20]
add rsi, qword [rsp + 0x18]
shr r15, 0x14
add rsi, r13
add rsi, rbp
shr rdi, 0x14
movabs rdx, 0x10000000000
add rbx, rdx
add rbx, r9
add rbx, r15
add rdi, qword [rsp + 0x10]
add rdi, qword [rsp + 8]
add rdi, rax
add rdi, rbx
mov rax, r12
mov r11, qword [rsp + 0x58]
mul r11
mov r15, rax
mov qword [rsp + 0x28], rdx
mov rax, rsi
mul qword [rsp + 0x50]
mov qword [rsp + 0x20], rdx
mov r10, rax
mov rax, rdi
mul qword [rsp + 0x40]
mov rcx, rax
mov qword [rsp + 0x18], rdx
shr r10, 0x14
mov rax, r12
mov r13, qword [rsp + 0x30]
mul r13
mov qword [rsp], rax
mov r9, rdx
mov rax, rsi
mul r11
mov rbx, r8
mov r8, r11
mov rbp, rax
mov qword [rsp + 0x10], rdx
shr rcx, 0x14
add rcx, r10
mov rax, rdi
mul qword [rsp + 0x48]
mov r11, rax
mov qword [rsp + 8], rdx
mov rax, r12
mul qword [rsp + 0x38]
mov r10, rax
mov r12, rdx
shr r15, 0x14
add rcx, r15
mov rax, rsi
mul r13
mov r15, rax
mov r13, rdx
mov rax, rdi
mul r8
mov r8, rbx
mov rsi, rax
add rdx, r13
add rdx, r12
lea rax, [rdx + rdx*4]
lea rax, [rcx + rax*4]
movzx edx, byte [rbx + r14 + 0x26]
movzx ecx, byte [rbx + r14 + 0x27]
shl rcx, 0x38
shl rdx, 0x30
or rdx, rcx
movzx edi, byte [rbx + r14 + 0x24]
shl rdi, 0x20
mov ecx, dword [rbx + r14 + 0x20]
or rcx, rdi
movzx edi, byte [rbx + r14 + 0x25]
shl rdi, 0x28
or rcx, rdi
or rdi, rdx
movzx edx, byte [rbx + r14 + 0x2a]
shl rdx, 0x10
movzx r12d, word [rbx + r14 + 0x28]
or r12, rdx
shld r12, rdi, 0x14
movzx edx, byte [rbx + r14 + 0x2f]
shl rdx, 0x20
mov edi, dword [rbx + r14 + 0x2b]
or rdi, rdx
movabs rdx, 0xfffffffffff
and rcx, rdx
add rcx, rax
mov rax, qword [rsp]
shr rax, 0x14
shr rbp, 0x14
shr r11, 0x14
add rbp, qword [rsp + 0x28]
add rbp, rax
add r11, qword [rsp + 0x20]
shr r10, 0x14
add r11, qword [rsp + 0x18]
add r11, rbp
add r11, r12
shr r15, 0x14
movabs rax, 0x10000000000
add r9, rax
add r9, r15
shr rsi, 0x14
add r9, r10
add rsi, qword [rsp + 0x10]
add rsi, qword [rsp + 8]
add rsi, r9
mov rax, rcx
mov r15, qword [rsp + 0x58]
mul r15
mov r9, rax
mov qword [rsp + 0x28], rdx
add rsi, rdi
shr r9, 0x14
mov rax, r11
mul qword [rsp + 0x50]
mov r10, rax
mov qword [rsp + 0x20], rdx
mov rax, rsi
mul qword [rsp + 0x40]
mov r12, rax
mov qword [rsp + 0x18], rdx
shr r10, 0x14
add r10, r9
mov rax, rcx
mov r9, qword [rsp + 0x30]
mul r9
mov rbp, rax
mov qword [rsp + 0x10], rdx
mov rax, r11
mul r15
mov rbx, rax
mov qword [rsp + 8], rdx
shr r12, 0x14
add r12, r10
mov rax, rsi
mul qword [rsp + 0x48]
mov rdi, rax
mov qword [rsp], rdx
mov rax, rcx
mul qword [rsp + 0x38]
mov rcx, rdx
mov r10, rax
mov rax, r11
mul r9
mov r9, rax
mov r13, rdx
add r13, rcx
mov rax, rsi
mul r15
mov r11, rax
add rdx, r13
movzx eax, byte [r8 + r14 + 0x37]
shl rax, 0x38
movzx esi, byte [r8 + r14 + 0x36]
shl rsi, 0x30
or rsi, rax
movzx eax, byte [r8 + r14 + 0x34]
shl rax, 0x20
mov ecx, dword [r8 + r14 + 0x30]
or rcx, rax
movzx eax, byte [r8 + r14 + 0x35]
shl rax, 0x28
or rcx, rax
or rax, rsi
movzx esi, byte [r8 + r14 + 0x3a]
shl rsi, 0x10
movzx r13d, word [r8 + r14 + 0x38]
or r13, rsi
shld r13, rax, 0x14
lea rax, [rdx + rdx*4]
lea rax, [r12 + rax*4]
movzx edx, byte [r8 + r14 + 0x3f]
shl rdx, 0x20
mov esi, dword [r8 + r14 + 0x3b]
or rsi, rdx
movabs rdx, 0xfffffffffff
and rcx, rdx
add rcx, rax
shr rbp, 0x14
shr rbx, 0x14
add rbp, qword [rsp + 0x28]
add rbx, qword [rsp + 0x20]
shr rdi, 0x14
add rbx, rbp
add rdi, qword [rsp + 0x18]
add rdi, r13
shr r10, 0x14
add rdi, rbx
movabs rax, 0x10000000000
mov rdx, qword [rsp + 0x10]
add rdx, rax
add rdx, r10
shr r9, 0x14
add r9, qword [rsp + 8]
add r9, rdx
shr r11, 0x14
add r11, qword [rsp]
add r11, rsi
add r11, r9
mov rax, rcx
mul r15
mov r10, rax
mov qword [rsp + 0x28], rdx
mov rax, rdi
mul qword [rsp + 0x50]
mov qword [rsp + 0x20], rdx
mov rsi, rax
mov rax, r11
mul qword [rsp + 0x40]
mov r12, rax
mov qword [rsp + 0x18], rdx
shr rsi, 0x14
mov rax, rcx
mov r13, qword [rsp + 0x30]
mul r13
mov rbp, rax
mov qword [rsp + 0x10], rdx
mov rax, rdi
mul r15
mov r9, rax
mov qword [rsp + 8], rdx
shr r12, 0x14
add r12, rsi
mov rax, r11
mul qword [rsp + 0x48]
mov qword [rsp], rdx
mov rsi, rax
mov rax, rcx
mul qword [rsp + 0x38]
mov rcx, rax
mov rbx, rdx
shr r10, 0x14
add r12, r10
mov rax, rdi
mul r13
mov rdi, rax
mov r10, rdx
mov rax, r11
mul r15
add rdx, r10
add rdx, rbx
shr r9, 0x14
add r9, qword [rsp + 0x28]
shr rbp, 0x14
add r9, rbp
lea rdx, [rdx + rdx*4]
lea rdx, [r12 + rdx*4]
shr rsi, 0x14
add rsi, qword [rsp + 0x20]
add rsi, qword [rsp + 0x18]
add rsi, r9
mov r9, rdx
shr r9, 0x2c
add rsi, r9
mov r9, qword [rsp + 0x78]
shr rdi, 0x14
add rdi, qword [rsp + 0x10]
shr rcx, 0x14
add rdi, rcx
mov r11, rax
shr r11, 0x14
add r11, qword [rsp + 8]
add r11, qword [rsp]
add r11, rdi
mov rax, rsi
shr rax, 0x2c
add r11, rax
movabs rcx, 0xfffffffffff
and rdx, rcx
mov rax, r11
shr rax, 0x2c
lea rax, [rax + rax*4]
lea rax, [rdx + rax*4]
and rsi, rcx
and r11, rcx
add r14, 0x40
cmp r9, r14
jne 0x14001fa64
mov rcx, qword [rsp + 0x60]
mov qword [rcx], rax
mov qword [rcx + 8], rsi
mov qword [rcx + 0x10], r11
add r8, r9
mov r9, qword [rsp + 0x70]
and r9d, 0x3f
mov rdx, qword [rsp + 0x68]
test r9, r9
je 0x1400200b7
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.1400200cc
nop
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret