Function at 0x18002a180
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r12
push r14
push r15
sub rsp, 0x50
mov rdi, rcx
xor r14d, r14d
test rcx, rcx
je 0x18002a426
mov byte [rsp + 0x20], 1
mov r9, rcx
xor r8d, r8d
xor edx, edx
call fcn.180007830
test al, al
je 0x18002a426
movsxd r15, dword [rdi + 0x3c]
add r15, rdi
movzx eax, word [r15 + 0x18]
mov ecx, 0x10b
cmp ax, cx
jne 0x18002a1dd
mov ecx, r14d
jmp 0x18002a1f0
mov ecx, 0x20b
cmp ax, cx
jne 0x18002a426
mov ecx, 1
mov r12d, dword [r15 + 0x3c]
movzx eax, word [r15 + 0x14]
lea rbx, [r15 + 0x18]
add rbx, rax
movzx esi, word [r15 + 6]
mov eax, 0x200
test ecx, ecx
jne 0x18002a31d
cmp r12d, 0x1000
cmove r12d, eax
mov dword [r15 + 0x3c], r12d
test esi, esi
je 0x18002a2ff
mov r9d, dword [rbx + 0x14]
mov eax, dword [rbx + 0x10]
lea ecx, [rax + r9]
mov dword [rsp + 0x30], ecx
test eax, eax
je 0x18002a255
dec ecx
mov dword [rsp + 0x30], ecx
cmp byte [rcx + rdi], 0
jne 0x18002a255
cmp ecx, r9d
jbe 0x18002a255
dec ecx
mov dword [rsp + 0x30], ecx
jmp 0x18002a242
sub ecx, r9d
mov dword [rsp + 0x30], ecx
xor edx, edx
mov eax, ecx
div r12d
mov r8d, eax
imul r8d, r12d
mov dword [rsp + 0x30], r8d
cmp r8d, ecx
jae 0x18002a27c
add r8d, r12d
mov dword [rsp + 0x30], r8d
test r14d, r14d
jne 0x18002a292
mov dword [r15 + 0x54], r9d
mov eax, dword [rbx + 0xc]
mov dword [r15 + 0x38], eax
mov dword [rbx + 0x10], r8d
jmp 0x18002a2bf
mov dword [rbx + 0x10], r8d
sub rbx, 0x28
mov qword [rsp + 0x40], rbx
mov eax, dword [rbx + 0x14]
add eax, dword [rbx + 0x10]
add rbx, 0x28
mov qword [rsp + 0x40], rbx
mov dword [rbx + 0x14], eax
lea rdx, [rdi + r9]
mov ecx, eax
add rcx, rdi
call fcn.18004c130
mov ecx, dword [rbx + 8]
mov r8d, dword [r15 + 0x38]
xor edx, edx
mov eax, ecx
div r8d
mov eax, ecx
sub eax, edx
mov dword [rsp + 0x34], eax
cmp eax, ecx
jae 0x18002a2e0
add eax, r8d
mov dword [rsp + 0x34], eax
mov dword [rbx + 8], eax
add rbx, 0x28
mov qword [rsp + 0x40], rbx
inc r14d
mov dword [rsp + 0x38], r14d
dec esi
mov dword [rsp + 0x3c], esi
jmp 0x18002a221
sub rbx, 0x28
mov qword [rsp + 0x40], rbx
mov eax, dword [rbx + 0x14]
add eax, dword [rbx + 0x10]
jmp 0x18002a42b
cmp r12d, 0x1000
cmove r12d, eax
mov dword [r15 + 0x3c], r12d
nop dword [rax]
test esi, esi
je 0x18002a40e
mov r9d, dword [rbx + 0x14]
mov eax, dword [rbx + 0x10]
lea ecx, [rax + r9]
mov dword [rsp + 0x30], ecx
test eax, eax
je 0x18002a364
dec ecx
mov dword [rsp + 0x30], ecx
cmp byte [rcx + rdi], 0
jne 0x18002a364
cmp ecx, r9d
jbe 0x18002a364
dec ecx
mov dword [rsp + 0x30], ecx
jmp 0x18002a351
sub ecx, r9d
mov dword [rsp + 0x30], ecx
xor edx, edx
mov eax, ecx
div r12d
mov r8d, eax
imul r8d, r12d
mov dword [rsp + 0x30], r8d
cmp r8d, ecx
jae 0x18002a38b
add r8d, r12d
mov dword [rsp + 0x30], r8d
test r14d, r14d
jne 0x18002a3a1
mov dword [r15 + 0x54], r9d
mov eax, dword [rbx + 0xc]
mov dword [r15 + 0x38], eax
mov dword [rbx + 0x10], r8d
jmp 0x18002a3ce
mov dword [rbx + 0x10], r8d
sub rbx, 0x28
mov qword [rsp + 0x40], rbx
mov eax, dword [rbx + 0x14]
add eax, dword [rbx + 0x10]
add rbx, 0x28
mov qword [rsp + 0x40], rbx
mov dword [rbx + 0x14], eax
lea rdx, [rdi + r9]
mov ecx, eax
add rcx, rdi
call fcn.18004c130
mov ecx, dword [rbx + 8]
mov r8d, dword [r15 + 0x38]
xor edx, edx
mov eax, ecx
div r8d
mov eax, ecx
sub eax, edx
mov dword [rsp + 0x34], eax
cmp eax, ecx
jae 0x18002a3ef
add eax, r8d
mov dword [rsp + 0x34], eax
mov dword [rbx + 8], eax
add rbx, 0x28
mov qword [rsp + 0x40], rbx
inc r14d
mov dword [rsp + 0x38], r14d
dec esi
mov dword [rsp + 0x3c], esi
jmp 0x18002a330
sub rbx, 0x28
mov qword [rsp + 0x40], rbx
mov eax, dword [rbx + 0x14]
add eax, dword [rbx + 0x10]
jmp 0x18002a42b
mov eax, 0xffffffff
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
add rsp, 0x50
pop r15
pop r14
pop r12
ret