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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
xor ebx, ebx
mov r10, r9
mov r14, rcx
mov rcx, qword [rdx + 0x20]
mov r9, r8
mov r12, rdx
mov ebp, ebx
mov word [rsp + 0x80], bx
lea esi, [rbx + 1]
lea r11d, [rbx + 0x40]
cmp dword [rdx + 0x14], ebx
jle 0x140066b65
mov r8d, dword [r10 + 0x44]
add rcx, 0x30
mov edx, dword [rdx + 0x14]
cmp dword [rcx - 0x14], r8d
jne 0x140066b5d
test qword [rcx], r9
jne 0x140066b5d
movzx eax, word [rcx - 0x1c]
test eax, 0xfffff7ff
je 0x140066b5d
add ebp, esi
add rcx, r11
sub rdx, rsi
jne 0x140066b45
mov r13, qword [rsp + 0xa0]
mov edi, ebx
mov r15d, 2
test r13, r13
je 0x140066bbf
mov r8d, ebx
cmp dword [r13], ebx
jle 0x140066bb6
movsxd r11, dword [r13]
lea rcx, [r13 + 0x20]
mov rdx, rbx
mov r9, qword [rcx - 0x18]
cmp byte [r9], 0xa2
jne 0x140066bb6
mov eax, dword [r10 + 0x44]
cmp dword [r9 + 0x2c], eax
jne 0x140066bb6
test byte [rcx], r15b
jne 0x140066bb6
add r8d, esi
add rdx, rsi
add rcx, 0x28
cmp rdx, r11
jl 0x140066b8e
cmp r8d, dword [r13]
cmove edi, dword [r13]
mov rcx, qword [r14]
movsxd rsi, ebp
movsxd r15, edi
lea rdx, [rsi + rsi*4]
shl rdx, 2
add rdx, 0x70
lea rdx, [rdx + r15*8]
call fcn.140003f5c
mov qword [rsp + 0x88], rax
mov r10, rax
test rax, rax
jne 0x140066c03
lea rdx, str.out_of_memory
mov rcx, r14
call fcn.14000686c
xor eax, eax
jmp 0x140066db4
lea r8, [rax + 0x70]
mov qword [r10 + 0x68], r14
lea rax, [rsi + rsi*2]
mov dword [r10], ebp
lea rsi, [r8 + rax*4]
mov dword [r10 + 0x10], edi
mov qword [r10 + 8], r8
lea rax, [rsi + r15*8]
mov qword [r10 + 0x20], rax
mov r11d, ebx
mov qword [r10 + 0x18], rsi
mov r14d, 1
mov qword [r10 + 0x60], r12
mov r9, qword [r12 + 0x20]
mov qword [rsp + 0x20], rsi
cmp dword [r12 + 0x14], ebx
jle 0x140066d76
mov r13d, dword [rsp + 0x80]
lea esi, [r14 + 0x3f]
mov rdi, qword [rsp + 0x98]
lea r10d, [r14 + 1]
mov rbp, qword [rsp + 0x90]
add r8, 4
mov edx, 0x180
mov eax, dword [rdi + 0x44]
cmp dword [r9 + 0x1c], eax
jne 0x140066d48
test qword [r9 + 0x30], rbp
jne 0x140066d48
movzx ecx, word [r9 + 0x14]
test ecx, 0xfffff7ff
je 0x140066d48
test byte [rdi + 0x3c], 8
je 0x140066cb5
mov rax, qword [r9]
test byte [rax + 4], r14b
jne 0x140066cb5
test dx, cx
jne 0x140066d48
mov eax, dword [r9 + 0x28]
mov dword [r8 - 4], eax
mov eax, 0x1fff
mov dword [r8 + 4], r11d
movzx edx, word [r9 + 0x14]
and dx, ax
cmp dx, r14w
jne 0x140066d0e
movzx edx, r10w
mov byte [r8], dl
test dl, 0x3c
je 0x140066d3f
mov rcx, qword [r9]
mov rcx, qword [rcx + 0x18]
call fcn.1400327ac
cmp eax, r14d
jle 0x140066d3f
mov ecx, 0x10
cmp r11d, ecx
jge 0x140066d03
movzx r13d, r13w
bts r13d, r11d
cmp dx, cx
jne 0x140066d35
mov byte [r8], 8
jmp 0x140066d3f
cmp dx, si
jne 0x140066d19
mov al, byte [r9 + 0x17]
jmp 0x140066d30
mov eax, 0x180
test ax, dx
je 0x140066cd8
mov eax, 0x100
cmp dx, ax
setne al
add al, 0x47
mov byte [r8], al
jmp 0x140066d3f
cmp dx, 4
jne 0x140066d3f
mov byte [r8], 0x20
add r8, 0xc
mov edx, 0x180
add r11d, r14d
add r9, rsi
cmp r11d, dword [r12 + 0x14]
jl 0x140066c75
mov r10, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x20]
mov dword [rsp + 0x80], r13d
mov r13, qword [rsp + 0xa0]
test r15, r15
jle 0x140066d9f
lea rdx, [r13 + 0x20]
mov rax, qword [rdx - 0x18]
movsx ecx, word [rax + 0x30]
mov dword [rsi + rbx*8], ecx
mov al, byte [rdx]
lea rdx, [rdx + 0x28]
and al, r14b
mov byte [rsi + rbx*8 + 4], al
add rbx, r14
cmp rbx, r15
jl 0x140066d7f
mov rax, qword [rsp + 0xa8]
mov ecx, dword [rsp + 0x80]
mov word [rax], cx
mov rax, r10
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret