Function at 0x14001c180
Capabilities:
Enumerate pe sections

Disassembly:
mov dword [rsp + 0x18], r8d
push r13
push r14
sub rsp, 0x38
mov rdx, qword [rcx + 0x90]
mov r11d, r8d
mov r13, qword [0x1404228e8]
mov r14, rcx
test edx, edx
je 0x14001c286
mov rax, rdx
shr rax, 0x20
test eax, eax
je 0x14001c286
movzx ecx, word [rcx + 0x14]
xor r8d, r8d
movzx r10d, word [r14 + 6]
add rcx, 0x18
mov qword [rsp + 0x50], rbx
add rcx, r14
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r15
mov r9d, edx
test r10d, r10d
je 0x14001c21c
mov eax, dword [rcx + 8]
test rax, rax
jne 0x14001c1fc
mov eax, dword [rcx + 0x10]
mov edx, dword [rcx + 0xc]
cmp r9, rdx
jb 0x14001c210
add rax, rdx
cmp r9, rax
jb 0x14001c28f
inc r8d
add rcx, 0x28
cmp r8d, r10d
jl 0x14001c1f1
xor r9d, r9d
lea r12, [r9 + 0x10]
movzx ecx, word [r14 + 0x14]
xor r8d, r8d
movzx r9d, word [r14 + 6]
add rcx, 0x18
mov ebp, dword [r12 - 4]
add rcx, r14
test r9d, r9d
je 0x14001c268
mov eax, dword [rcx + 8]
test rax, rax
jne 0x14001c24c
mov eax, dword [rcx + 0x10]
mov edx, dword [rcx + 0xc]
cmp rbp, rdx
jb 0x14001c25c
add rax, rdx
cmp rbp, rax
jb 0x14001c29c
inc r8d
add rcx, 0x28
cmp r8d, r9d
jl 0x14001c241
mov r12, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov r15, qword [rsp + 0x20]
add rsp, 0x38
pop r14
pop r13
ret
sub edx, dword [rcx + 0x14]
mov eax, edx
sub r9, rax
add r9, r13
jmp 0x14001c21f
sub edx, dword [rcx + 0x14]
mov eax, edx
sub rbp, rax
add rbp, r13
je 0x14001c268
mov edx, r11d
mov rcx, rbp
call fcn.14001bd90
mov r15, rax
test rax, rax
je 0x14001c268
movzx edx, word [r14 + 0x14]
xor r8d, r8d
movzx r9d, word [r14 + 6]
add rdx, 0x18
mov esi, dword [r12]
add rdx, r14
test r9d, r9d
je 0x14001c307
nop dword [rax]
mov eax, dword [rdx + 8]
test rax, rax
jne 0x14001c2eb
mov eax, dword [rdx + 0x10]
mov ecx, dword [rdx + 0xc]
cmp rsi, rcx
jb 0x14001c2fb
add rax, rcx
cmp rsi, rax
jb 0x14001c335
inc r8d
add rdx, 0x28
cmp r8d, r9d
jl 0x14001c2e0
xor esi, esi
mov rbx, qword [rsi]
test rbx, rbx
je 0x14001c3e4
jns 0x14001c347
xor edx, edx
mov rcx, rbp
lea r8d, [rdx + 1]
call qword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov rdi, rax
test rax, rax
jne 0x14001c342
xor ebx, ebx
jmp 0x14001c3cd
sub ecx, dword [rdx + 0x14]
mov eax, ecx
sub rsi, rax
add rsi, r13
jmp 0x14001c309
movzx edx, bx
jmp 0x14001c3b5
movzx eax, word [r14 + 0x14]
xor r8d, r8d
movzx r9d, word [r14 + 6]
add rax, 0x18
add rax, r14
test r9d, r9d
je 0x14001c387
mov ecx, dword [rax + 8]
test rcx, rcx
jne 0x14001c36b
mov ecx, dword [rax + 0x10]
mov edx, dword [rax + 0xc]
cmp rbx, rdx
jb 0x14001c37b
add rcx, rdx
cmp rbx, rcx
jb 0x14001c3a4
inc r8d
add rax, 0x28
cmp r8d, r9d
jl 0x14001c360
xor ebx, ebx
xor edx, edx
mov rcx, rbp
lea r8d, [rdx + 1]
call qword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov rdi, rax
test rax, rax
jne 0x14001c3b1
xor ebx, ebx
jmp 0x14001c3cd
sub edx, dword [rax + 0x14]
mov eax, edx
sub rbx, rax
add rbx, r13
jmp 0x14001c389
lea rdx, [rbx + 2]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov rcx, rdi
sub rbx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
lea rax, [rbx + r15]
mov qword [rsi], rax
add rsi, 8
mov rbx, qword [rsi]
test rbx, rbx
jne 0x14001c315
mov r11d, dword [rsp + 0x60]
add r12, 0x14
jmp 0x14001c223