Function at 0x1400c5980
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov eax, dword [rdx + 0x14]
xor ebx, ebx
mov word [rsp + 0x80], bx
mov rbp, r9
mov r15, rcx
mov rcx, qword [rdx + 0x20]
mov r9, r8
mov r10d, ebx
test eax, eax
jle 0x1400c59f3
mov r8d, dword [rbp + 0x44]
add rcx, 0x28
mov edx, eax
nop word [rax + rax]
cmp dword [rcx - 0xc], r8d
jne 0x1400c59e9
test qword [rcx], r9
jne 0x1400c59e9
movzx eax, word [rcx - 0x14]
test eax, 0xfffff7ff
je 0x1400c59e9
inc r10d
add rcx, 0x38
sub rdx, 1
jne 0x1400c59d0
mov rax, qword [rsp + 0xa0]
mov esi, ebx
test rax, rax
je 0x1400c5a3e
movsxd rdi, dword [rax]
mov r9d, ebx
test edi, edi
jle 0x1400c5a38
mov r8, rbx
lea rcx, [rax + 0x18]
mov rdx, qword [rcx - 0x10]
cmp byte [rdx], 0xa4
jne 0x1400c5a38
mov eax, dword [rbp + 0x44]
cmp dword [rdx + 0x2c], eax
jne 0x1400c5a38
test byte [rcx], 2
jne 0x1400c5a38
inc r9d
inc r8
add rcx, 0x20
cmp r8, rdi
jl 0x1400c5a13
cmp r9d, edi
cmove esi, edi
mov rcx, qword [r15]
movsxd rdi, r10d
movsxd r12, esi
mov qword [rsp + 0x28], r12
lea rbp, [rdi + 7]
lea rbp, [rdi + rbp*4]
lea r14, [r12*8]
lea rbp, [r14 + rbp*4]
test rcx, rcx
je 0x1400c5a6f
mov rdx, rbp
call fcn.1401034c0
jmp 0x1400c5a77
mov rcx, rbp
call fcn.140118990
mov r13, rax
test rax, rax
je 0x1400c5c78
mov r8, rbp
xor edx, edx
mov rcx, rax
call fcn.14016b7a0
mov r9, qword [rsp + 0x88]
lea rdx, [r13 + 0x70]
lea rax, [rdi + rdi*2]
mov dword [r13 + 0x10], esi
lea rdi, [rdx + rax*4]
mov qword [r13 + 8], rdx
mov qword [r13 + 0x18], rdi
lea rax, [r14 + rdi]
mov qword [r13 + 0x20], rax
mov r10d, ebx
mov qword [r13 + 0x60], r9
mov r11d, ebx
mov qword [r13 + 0x68], r15
mov r8, qword [r9 + 0x20]
mov qword [rsp + 0x20], rdi
cmp dword [r9 + 0x14], ebx
jle 0x1400c5c29
mov rsi, qword [rsp + 0x98]
add rdx, 4
mov r12d, dword [rsp + 0x80]
mov r14d, 0x100
mov rbp, qword [rsp + 0x90]
mov r15d, 0x20
mov edi, 0x180
mov ebx, 0x1fff
nop dword [rax + rax]
mov eax, dword [rsi + 0x44]
cmp dword [r8 + 0x1c], eax
jne 0x1400c5c04
test qword [r8 + 0x28], rbp
jne 0x1400c5c04
movzx eax, word [r8 + 0x14]
test eax, 0xfffff7ff
je 0x1400c5c04
test byte [rsi + 0x3c], 8
je 0x1400c5b4a
mov rax, qword [r8]
test byte [rax + 4], 1
je 0x1400c5c04
mov eax, dword [r8 + 0x20]
mov dword [rdx - 4], eax
mov dword [rdx + 4], r11d
movzx ecx, word [r8 + 0x14]
and cx, bx
cmp cx, 1
jne 0x1400c5b6b
mov byte [rdx], 2
jmp 0x1400c5bfd
cmp cx, 0x40
jne 0x1400c5b7d
movzx eax, byte [r8 + 0x17]
mov byte [rdx], al
jmp 0x1400c5bfd
test di, cx
je 0x1400c5b8f
cmp cx, r14w
setne al
add al, 0x47
mov byte [rdx], al
jmp 0x1400c5bfd
mov byte [rdx], cl
test cl, 0x3c
je 0x1400c5bfd
mov rax, qword [r8]
mov r9, qword [rax + 0x18]
movzx eax, byte [r9]
cmp al, 0xad
jne 0x1400c5baa
movzx eax, byte [r9 + 2]
cmp al, 0xae
jne 0x1400c5bb4
mov rax, qword [r9 + 0x20]
jmp 0x1400c5bc0
cmp al, 0x88
jne 0x1400c5bf5
mov rax, qword [r9 + 0x20]
mov rax, qword [rax + 0x20]
cmp dword [rax], 1
jle 0x1400c5bf5
cmp r10d, 0x10
jge 0x1400c5bd3
movzx r12d, r12w
bts r12d, r10d
mov r9, qword [rsp + 0x88]
cmp cx, 0x10
jne 0x1400c5be6
mov byte [rdx], 8
jmp 0x1400c5bfd
movzx eax, byte [rdx]
cmp cx, 4
cmove eax, r15d
mov byte [rdx], al
jmp 0x1400c5bfd
mov r9, qword [rsp + 0x88]
inc r10d
add rdx, 0xc
inc r11d
add r8, 0x38
cmp r11d, dword [r9 + 0x14]
jl 0x1400c5b10
mov rdi, qword [rsp + 0x20]
xor ebx, ebx
mov dword [rsp + 0x80], r12d
mov r12, qword [rsp + 0x28]
mov dword [r13], r10d
test r12, r12
jle 0x1400c5c61
mov rdx, qword [rsp + 0xa0]
add rdx, 0x18
nop
mov rax, qword [rdx - 0x10]
lea rdx, [rdx + 0x20]
movsx ecx, word [rax + 0x30]
mov dword [rdi + rbx*8], ecx
movzx eax, byte [rdx - 0x20]
and al, 1
mov byte [rdi + rbx*8 + 4], al
inc rbx
cmp rbx, r12
jl 0x1400c5c40
mov rax, qword [rsp + 0xa8]
mov ecx, dword [rsp + 0x80]
mov word [rax], cx
mov rax, r13
jmp 0x1400c5c89
lea rdx, str.out_of_memory
mov rcx, r15
call fcn.140105d70
xor eax, eax
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret