Function at 0x140074994
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 0x140074a01
mov r8d, dword [r10 + 0x44]
add rcx, 0x30
mov edx, dword [rdx + 0x14]
cmp dword [rcx - 0x14], r8d
jne 0x1400749f9
test qword [rcx], r9
jne 0x1400749f9
movzx eax, word [rcx - 0x1c]
test eax, 0xfffff7ff
je 0x1400749f9
add ebp, esi
add rcx, r11
sub rdx, rsi
jne 0x1400749e1
mov r13, qword [rsp + 0xa0]
mov edi, ebx
mov r15d, 2
test r13, r13
je 0x140074a5b
mov r8d, ebx
cmp dword [r13], ebx
jle 0x140074a52
movsxd r11, dword [r13]
lea rcx, [r13 + 0x20]
mov rdx, rbx
mov r9, qword [rcx - 0x18]
cmp byte [r9], 0xa2
jne 0x140074a52
mov eax, dword [r10 + 0x44]
cmp dword [r9 + 0x28], eax
jne 0x140074a52
test byte [rcx], r15b
jne 0x140074a52
add r8d, esi
add rdx, rsi
add rcx, 0x28
cmp rdx, r11
jl 0x140074a2a
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.140016f78
mov qword [rsp + 0x88], rax
mov r10, rax
test rax, rax
jne 0x140074a9f
lea rdx, str.out_of_memory
mov rcx, r14
call fcn.140019684
xor eax, eax
jmp 0x140074c50
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 0x140074c12
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 0x140074be4
test qword [r9 + 0x30], rbp
jne 0x140074be4
movzx ecx, word [r9 + 0x14]
test ecx, 0xfffff7ff
je 0x140074be4
test byte [rdi + 0x3c], 8
je 0x140074b51
mov rax, qword [r9]
test byte [rax + 4], r14b
jne 0x140074b51
test dx, cx
jne 0x140074be4
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 0x140074baa
movzx edx, r10w
mov byte [r8], dl
test dl, 0x3c
je 0x140074bdb
mov rcx, qword [r9]
mov rcx, qword [rcx + 0x18]
call fcn.1400428bc
cmp eax, r14d
jle 0x140074bdb
mov ecx, 0x10
cmp r11d, ecx
jge 0x140074b9f
movzx r13d, r13w
bts r13d, r11d
cmp dx, cx
jne 0x140074bd1
mov byte [r8], 8
jmp 0x140074bdb
cmp dx, si
jne 0x140074bb5
mov al, byte [r9 + 0x17]
jmp 0x140074bcc
mov eax, 0x180
test ax, dx
je 0x140074b74
mov eax, 0x100
cmp dx, ax
setne al
add al, 0x47
mov byte [r8], al
jmp 0x140074bdb
cmp dx, 4
jne 0x140074bdb
mov byte [r8], 0x20
add r8, 0xc
mov edx, 0x180
add r11d, r14d
add r9, rsi
cmp r11d, dword [r12 + 0x14]
jl 0x140074b11
mov r10, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x20]
mov dword [rsp + 0x80], r13d
mov r13, qword [rsp + 0xa0]
test r15, r15
jle 0x140074c3b
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 0x140074c1b
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