Function at 0x180002dd0
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rax, qword [rcx]
xor esi, esi
mov r12, rcx
movsxd rbx, dword [rax + 0x3c]
add rbx, rax
mov eax, 0x8664
mov r14d, dword [rbx + 0x38]
dec r14d
cmp word [rbx + 4], ax
mov eax, dword [rbx + 0x3c]
je 0x180002f9a
dec eax
mov dword [rsp + 0x50], eax
movzx eax, word [rbx + 0x14]
lea rbp, [rax + rbx + 0x18]
cmp si, word [rbx + 6]
jae 0x180002e51
nop dword [rax]
lea rdx, str..rsrc
mov rcx, rbp
call fcn.1800055b4
test eax, eax
je 0x180002e51
movzx eax, word [rbx + 6]
inc esi
add rbp, 0x28
cmp esi, eax
jl 0x180002e30
movzx eax, word [rbx + 6]
cmp esi, eax
jge 0x180003129
cmp dword [rbx + 0x88], 0
je 0x180003129
mov ecx, dword [rbx + 0x8c]
test ecx, ecx
je 0x180003129
mov ebx, dword [rbx + 0x50]
mov r15d, r14d
mov eax, r14d
add rax, rcx
mov rcx, qword [r12 + 8]
not r15d
and rax, r15
sub rbx, rax
call fcn.1800012b0
lea rdi, [rax + 4]
lea rcx, [r14 + rdi]
and rcx, r15
add rbx, rcx
lea rcx, [rbx + 0x100]
call fcn.180005ae4
lea r8, [rbx + 0x100]
xor edx, edx
mov rcx, rax
mov r13, rax
call fcn.1800058f0
mov ebx, dword [rbp + 0xc]
mov rdx, qword [r12]
mov r8d, ebx
mov rcx, r13
call fcn.1800050b0
mov rcx, qword [r12 + 8]
add rbx, r13
mov r8, rbx
mov rdx, r13
call fcn.1800026f0
mov rcx, qword [r12 + 8]
mov r8, rbx
mov rdx, r13
call fcn.180001570
movsxd rbp, dword [r13 + 0x3c]
movsxd rax, esi
add rbp, r13
lea rdx, [rax + rax*4]
inc esi
movzx ecx, word [rbp + 0x14]
mov dword [rbp + 0x8c], edi
add rcx, rbp
lea rbx, [rcx + rdx*8 + 0x18]
mov ecx, dword [rsp + 0x50]
lea eax, [rdi + rcx]
mov dword [rbx + 8], edi
not ecx
and eax, ecx
add rbx, 0x28
mov dword [rbx - 0x18], eax
movzx eax, word [rbp + 6]
cmp esi, eax
jge 0x180003115
nop dword [rax]
mov ecx, dword [rbx - 0x20]
mov edx, dword [rbx + 0xc]
mov eax, dword [rbx - 0x18]
add ecx, dword [rbx - 0x1c]
add eax, dword [rbx - 0x14]
mov r8d, dword [rbx + 8]
add ecx, r14d
mov dword [rbx + 0x14], eax
and ecx, r15d
mov dword [rbx + 0xc], ecx
add rdx, qword [r12]
add rcx, r13
call fcn.1800050b0
lea rdx, str..reloc
mov rcx, rbx
call fcn.1800055b4
test eax, eax
jne 0x180002f87
mov eax, dword [rbx + 0xc]
mov dword [rbp + 0xa0], eax
movzx eax, word [rbp + 6]
inc esi
add rbx, 0x28
cmp esi, eax
jl 0x180002f40
jmp 0x180003115
dec eax
mov dword [rsp + 0x50], eax
movzx eax, word [rbx + 0x14]
lea rbp, [rax + rbx + 0x18]
cmp si, word [rbx + 6]
jae 0x180002fd1
nop
lea rdx, str..rsrc
mov rcx, rbp
call fcn.1800055b4
test eax, eax
je 0x180002fd1
movzx eax, word [rbx + 6]
inc esi
add rbp, 0x28
cmp esi, eax
jl 0x180002fb0
movzx eax, word [rbx + 6]
cmp esi, eax
jge 0x180003129
cmp dword [rbx + 0x98], 0
je 0x180003129
mov ecx, dword [rbx + 0x9c]
test ecx, ecx
je 0x180003129
mov ebx, dword [rbx + 0x50]
mov r15d, r14d
mov eax, r14d
add rax, rcx
mov rcx, qword [r12 + 8]
not r15d
and rax, r15
sub rbx, rax
call fcn.1800012b0
lea rdi, [rax + 4]
lea rcx, [r14 + rdi]
and rcx, r15
add rbx, rcx
lea rcx, [rbx + 0x100]
call fcn.180005ae4
lea r8, [rbx + 0x100]
xor edx, edx
mov rcx, rax
mov r13, rax
call fcn.1800058f0
mov ebx, dword [rbp + 0xc]
mov rdx, qword [r12]
mov r8d, ebx
mov rcx, r13
call fcn.1800050b0
mov rcx, qword [r12 + 8]
add rbx, r13
mov r8, rbx
mov rdx, r13
call fcn.1800026f0
mov rcx, qword [r12 + 8]
mov r8, rbx
mov rdx, r13
call fcn.180001570
movsxd rbp, dword [r13 + 0x3c]
movsxd rax, esi
lea rcx, [rax + rax*4]
add rbp, r13
inc esi
movzx edx, word [rbp + 0x14]
mov dword [rbp + 0x9c], edi
lea rax, [rdx + rbp]
lea rbx, [rax + rcx*8 + 0x18]
mov ecx, dword [rsp + 0x50]
lea eax, [rdi + rcx]
mov dword [rbx + 8], edi
not ecx
and eax, ecx
add rbx, 0x28
mov dword [rbx - 0x18], eax
movzx eax, word [rbp + 6]
cmp esi, eax
jge 0x180003115
nop word [rax + rax]
mov ecx, dword [rbx - 0x20]
mov edx, dword [rbx + 0xc]
mov eax, dword [rbx - 0x18]
add ecx, dword [rbx - 0x1c]
add eax, dword [rbx - 0x14]
mov r8d, dword [rbx + 8]
add ecx, r14d
mov dword [rbx + 0x14], eax
and ecx, r15d
mov dword [rbx + 0xc], ecx
add rdx, qword [r12]
add rcx, r13
call fcn.1800050b0
lea rdx, str..reloc
mov rcx, rbx
call fcn.1800055b4
test eax, eax
jne 0x180003107
mov eax, dword [rbx + 0xc]
mov dword [rbp + 0xb0], eax
movzx eax, word [rbp + 6]
inc esi
add rbx, 0x28
cmp esi, eax
jl 0x1800030c0
mov eax, dword [rbx - 0x1c]
add eax, dword [rbx - 0x20]
add eax, r14d
and eax, r15d
mov dword [rbp + 0x50], eax
mov rax, r13
jmp 0x18000312b
xor eax, eax
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret