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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
movsxd r8, dword [rcx + 0x3c]
xor r10d, r10d
add r8, rcx
mov r13d, edx
mov r15, rcx
movzx eax, word [r8 + 0x14]
lea rbx, [r8 + 0x18]
movzx r11d, word [r8 + 6]
add rbx, rax
mov edi, dword [r8 + 0x88]
mov r9, rbx
test r11d, r11d
je 0x180004c42
mov edx, dword [r9 + 0xc]
cmp edx, edi
ja 0x180004b56
mov ecx, dword [r9 + 8]
add ecx, edx
cmp edi, ecx
jb 0x180004c00
inc r10d
add r9, 0x28
cmp r10d, r11d
jl 0x180004b40
mov r10d, dword [r15 + 0x20]
mov r14, r15
mov rbp, r15
mov edi, r11d
mov rdx, rbx
xor r8d, r8d
mov r9d, dword [rdx + 0xc]
cmp r9d, r10d
ja 0x180004b8d
mov ecx, dword [rdx + 8]
add ecx, r9d
cmp r10d, ecx
jb 0x180004c19
inc r8d
add rdx, 0x28
cmp r8d, edi
jl 0x180004b75
mov rsi, r15
mov r10d, dword [rbp + 0x24]
mov edi, r11d
mov rdx, rbx
xor r9d, r9d
nop dword [rax]
mov r8d, dword [rdx + 0xc]
cmp r8d, r10d
ja 0x180004bc4
mov ecx, dword [rdx + 8]
add ecx, r8d
cmp r10d, ecx
jb 0x180004c2a
inc r9d
add rdx, 0x28
cmp r9d, edi
jl 0x180004bb0
mov rdi, r15
mov r8d, dword [rbp + 0x1c]
xor r9d, r9d
nop word [rax + rax]
mov edx, dword [rbx + 0xc]
cmp edx, r8d
ja 0x180004bf2
mov ecx, dword [rbx + 8]
add ecx, edx
cmp r8d, ecx
jb 0x180004c38
inc r9d
add rbx, 0x28
cmp r9d, r11d
jl 0x180004be0
jmp 0x180004c4b
mov r14d, dword [r9 + 0x14]
sub r14d, edx
add r14d, edi
add r14, r15
mov rbp, r14
mov r10d, dword [r14 + 0x20]
jmp 0x180004b6c
mov esi, dword [rdx + 0x14]
sub esi, r9d
add esi, r10d
add rsi, r15
jmp 0x180004b9c
mov edi, dword [rdx + 0x14]
sub edi, r8d
add edi, r10d
add rdi, r15
jmp 0x180004bd3
mov eax, dword [rbx + 0x14]
sub eax, edx
add eax, r8d
jmp 0x180004c4d
mov r14, r15
mov rsi, r15
mov rdi, r15
xor eax, eax
mov r12d, eax
xor ebp, ebp
add r12, r15
cmp dword [r14 + 0x18], ebp
jbe 0x180004d11
nop
movsxd rcx, dword [r15 + 0x3c]
xor r11d, r11d
mov r10d, dword [rsi]
add rcx, r15
xor r9d, r9d
movzx eax, word [rcx + 0x14]
movzx ebx, word [rcx + 6]
add rax, 0x18
add rax, rcx
test ebx, ebx
je 0x180004caf
mov r8d, dword [rax + 0xc]
cmp r8d, r10d
ja 0x180004c97
mov edx, dword [rax + 8]
add edx, r8d
cmp r10d, edx
jb 0x180004ca5
inc r9d
add rax, 0x28
cmp r9d, ebx
jl 0x180004c83
jmp 0x180004caf
mov r11d, dword [rax + 0x14]
sub r11d, r8d
add r11d, r10d
mov ebx, r11d
add rbx, r15
mov rcx, rbx
call fcn.180005070
mov r9d, 0x57da3548
test eax, eax
jle 0x180004cfc
mov r10d, eax
nop word [rax + rax]
movzx r8d, byte [rbx]
lea rbx, [rbx + 1]
movzx eax, r8b
or al, 0x20
movzx ecx, al
lea edx, [r8 - 0x41]
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add r9d, eax
rol r9d, 5
sub r10, 1
jne 0x180004cd0
cmp r9d, r13d
je 0x180004d30
add rsi, 4
inc ebp
cmp ebp, dword [r14 + 0x18]
jb 0x180004c60
xor eax, eax
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
movzx ecx, word [rdi + rbp*2]
lea rdx, [r15 + 0x18]
xor r11d, r11d
xor r9d, r9d
mov r10d, dword [r12 + rcx*4]
movsxd rcx, dword [r15 + 0x3c]
add rdx, rcx
movzx eax, word [rcx + r15 + 0x14]
movzx ebx, word [rcx + r15 + 6]
add rdx, rax
test ebx, ebx
je 0x180004d8c
nop dword [rax]
mov r8d, dword [rdx + 0xc]
cmp r8d, r10d
ja 0x180004d74
mov ecx, dword [rdx + 8]
add ecx, r8d
cmp r10d, ecx
jb 0x180004d82
inc r9d
add rdx, 0x28
cmp r9d, ebx
jl 0x180004d60
jmp 0x180004d8c
mov r11d, dword [rdx + 0x14]
sub r11d, r8d
add r11d, r10d
cmp dword [r11 + r15], 0xb8d18b4c
jne 0x180004d11
mov eax, dword [r11 + r15 + 4]
jmp 0x180004d13