Function at 0x140073c14
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 0x140073c81
mov r8d, dword [r10 + 0x44]
add rcx, 0x30
mov edx, dword [rdx + 0x14]
cmp dword [rcx - 0x14], r8d
jne 0x140073c79
test qword [rcx], r9
jne 0x140073c79
movzx eax, word [rcx - 0x1c]
test eax, 0xfffff7ff
je 0x140073c79
add ebp, esi
add rcx, r11
sub rdx, rsi
jne 0x140073c61
mov r13, qword [rsp + 0xa0]
mov edi, ebx
mov r15d, 2
test r13, r13
je 0x140073cdb
mov r8d, ebx
cmp dword [r13], ebx
jle 0x140073cd2
movsxd r11, dword [r13]
lea rcx, [r13 + 0x20]
mov rdx, rbx
mov r9, qword [rcx - 0x18]
cmp byte [r9], 0xa2
jne 0x140073cd2
mov eax, dword [r10 + 0x44]
cmp dword [r9 + 0x28], eax
jne 0x140073cd2
test byte [rcx], r15b
jne 0x140073cd2
add r8d, esi
add rdx, rsi
add rcx, 0x28
cmp rdx, r11
jl 0x140073caa
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.140015ef8
mov qword [rsp + 0x88], rax
mov r10, rax
test rax, rax
jne 0x140073d1f
lea rdx, str.out_of_memory
mov rcx, r14
call fcn.14001864c
xor eax, eax
jmp 0x140073ed0
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 0x140073e92
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 0x140073e64
test qword [r9 + 0x30], rbp
jne 0x140073e64
movzx ecx, word [r9 + 0x14]
test ecx, 0xfffff7ff
je 0x140073e64
test byte [rdi + 0x3c], 8
je 0x140073dd1
mov rax, qword [r9]
test byte [rax + 4], r14b
jne 0x140073dd1
test dx, cx
jne 0x140073e64
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 0x140073e2a
movzx edx, r10w
mov byte [r8], dl
test dl, 0x3c
je 0x140073e5b
mov rcx, qword [r9]
mov rcx, qword [rcx + 0x18]
call fcn.14004198c
cmp eax, r14d
jle 0x140073e5b
mov ecx, 0x10
cmp r11d, ecx
jge 0x140073e1f
movzx r13d, r13w
bts r13d, r11d
cmp dx, cx
jne 0x140073e51
mov byte [r8], 8
jmp 0x140073e5b
cmp dx, si
jne 0x140073e35
mov al, byte [r9 + 0x17]
jmp 0x140073e4c
mov eax, 0x180
test ax, dx
je 0x140073df4
mov eax, 0x100
cmp dx, ax
setne al
add al, 0x47
mov byte [r8], al
jmp 0x140073e5b
cmp dx, 4
jne 0x140073e5b
mov byte [r8], 0x20
add r8, 0xc
mov edx, 0x180
add r11d, r14d
add r9, rsi
cmp r11d, dword [r12 + 0x14]
jl 0x140073d91
mov r10, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x20]
mov dword [rsp + 0x80], r13d
mov r13, qword [rsp + 0xa0]
test r15, r15
jle 0x140073ebb
lea rdx, [r13 + 0x20]
mov rax, qword [rdx - 0x18]
movsx ecx, word [rax + 0x2c]
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 0x140073e9b
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