Function at 0x140173840
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, 0x28
mov eax, dword [rdx + 0x14]
xor ebp, ebp
mov r11, r9
mov r14, rcx
mov rcx, qword [rdx + 0x20]
mov r9, r8
movzx r13d, bp
mov r10d, ebp
test eax, eax
jle 0x1401738a9
mov r8d, dword [r11 + 0x44]
add rcx, 0x28
mov edx, eax
cmp dword [rcx - 0xc], r8d
jne 0x14017389f
test qword [rcx], r9
jne 0x14017389f
movzx eax, word [rcx - 0x14]
test eax, 0xfffff7ff
je 0x14017389f
inc r10d
add rcx, 0x38
sub rdx, 1
jne 0x140173886
mov rax, qword [rsp + 0x90]
mov r12d, ebp
test rax, rax
je 0x1401738ff
movsxd rdi, dword [rax]
mov r9d, ebp
test edi, edi
jle 0x1401738f8
mov rdx, rbp
lea rcx, [rax + 0x18]
nop word [rax + rax]
mov r8, qword [rcx - 0x10]
cmp byte [r8], 0xa4
jne 0x1401738f8
mov eax, dword [r11 + 0x44]
cmp dword [r8 + 0x2c], eax
jne 0x1401738f8
test byte [rcx], 2
jne 0x1401738f8
inc r9d
inc rdx
add rcx, 0x20
cmp rdx, rdi
jl 0x1401738d0
cmp r9d, edi
cmove r12d, edi
mov rcx, qword [r14]
movsxd rdi, r10d
movsxd rax, r12d
lea rbx, [rdi + 7]
lea rbx, [rdi + rbx*4]
lea rsi, [rax*8]
lea rbx, [rsi + rbx*4]
test rcx, rcx
je 0x14017392b
mov rdx, rbx
call fcn.1401b03f0
jmp 0x140173933
mov rcx, rbx
call fcn.1401c5350
mov r15, rax
test rax, rax
je 0x140173b12
mov r8, rbx
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov r8, qword [rsp + 0x78]
lea rdx, [r15 + 0x70]
lea rax, [rdi + rdi*2]
mov dword [r15 + 0x10], r12d
lea rbx, [rdx + rax*4]
mov qword [r15 + 8], rdx
mov qword [r15 + 0x18], rbx
lea rax, [rsi + rbx]
mov qword [r15 + 0x20], rax
mov r10d, ebp
mov qword [r15 + 0x60], r8
mov r11d, ebp
mov qword [r15 + 0x68], r14
mov r9, qword [r8 + 0x20]
mov qword [rsp + 0x70], rbx
cmp dword [r8 + 0x14], ebp
jle 0x140173abe
mov rdi, qword [rsp + 0x80]
add rdx, 4
mov rcx, qword [rsp + 0x88]
mov esi, 0x100
mov r14d, 0x180
mov ebx, 0x1fff
nop word [rax + rax]
mov eax, dword [rcx + 0x44]
cmp dword [r9 + 0x1c], eax
jne 0x140173aa8
test qword [r9 + 0x28], rdi
jne 0x140173aa8
movzx eax, word [r9 + 0x14]
test eax, 0xfffff7ff
je 0x140173aa8
test byte [rcx + 0x3c], 8
je 0x1401739fa
mov rax, qword [r9]
test byte [rax + 4], 1
je 0x140173aa8
mov eax, dword [r9 + 0x20]
mov dword [rdx - 4], eax
mov dword [rdx + 4], r11d
movzx ecx, word [r9 + 0x14]
and cx, bx
cmp cx, 1
jne 0x140173a1b
mov byte [rdx], 2
jmp 0x140173a99
cmp cx, 0x40
jne 0x140173a2a
movzx eax, byte [r9 + 0x17]
mov byte [rdx], al
jmp 0x140173a99
test r14w, cx
je 0x140173a3c
cmp cx, si
setne al
add al, 0x47
mov byte [rdx], al
jmp 0x140173a99
mov byte [rdx], cl
test cl, 0x3c
je 0x140173a99
mov rax, qword [r9]
mov r8, qword [rax + 0x18]
movzx eax, byte [r8]
cmp al, 0xad
jne 0x140173a57
movzx eax, byte [r8 + 2]
cmp al, 0xae
jne 0x140173a61
mov rax, qword [r8 + 0x20]
jmp 0x140173a6d
cmp al, 0x88
jne 0x140173a94
mov rax, qword [r8 + 0x20]
mov rax, qword [rax + 0x20]
cmp dword [rax], 1
jle 0x140173a94
cmp r10d, 0x10
jge 0x140173a80
movzx r13d, r13w
bts r13d, r10d
cmp cx, 0x10
jne 0x140173a8b
mov byte [rdx], 8
jmp 0x140173a94
cmp cx, 4
jne 0x140173a94
mov byte [rdx], 0x20
mov r8, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x88]
inc r10d
add rdx, 0xc
inc r11d
add r9, 0x38
cmp r11d, dword [r8 + 0x14]
jl 0x1401739c0
mov rbx, qword [rsp + 0x70]
mov dword [r15], r10d
movsxd r8, r12d
test r12d, r12d
jle 0x140173b01
mov rdx, qword [rsp + 0x90]
add rdx, 0x18
nop word [rax + rax]
mov rax, qword [rdx - 0x10]
lea rdx, [rdx + 0x20]
movsx ecx, word [rax + 0x30]
mov dword [rbx + rbp*8], ecx
movzx eax, byte [rdx - 0x20]
and al, 1
mov byte [rbx + rbp*8 + 4], al
inc rbp
cmp rbp, r8
jl 0x140173ae0
mov rax, qword [rsp + 0x98]
mov word [rax], r13w
mov rax, r15
jmp 0x140173b23
lea rdx, str.out_of_memory
mov rcx, r14
call fcn.1401b29d0
xor eax, eax
add rsp, 0x28
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret