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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
push rbx
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x38
xor ebx, ebx
mov rsi, rdx
mov r14, rcx
test rdx, rdx
jne 0x1400bf679
mov r15d, ebx
jmp 0x1400bf6b0
movzx ecx, word [rdx + 0x14]
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x1400bf699
cmp byte [rsi + 0x16], 1
jne 0x1400bf699
mov r15, qword [rsi + 8]
jmp 0x1400bf6b0
test cl, 1
je 0x1400bf6a3
mov r15, rbx
jmp 0x1400bf6b0
mov dl, 1
mov rcx, rsi
call fcn.14002f280
mov r15, rax
movzx ecx, word [rsi + 0x14]
mov qword [rsp + 0x70], rbp
test cl, 2
je 0x1400bf6c9
cmp byte [rsi + 0x16], 1
jne 0x1400bf6c9
mov ebp, dword [rsi + 0x10]
jmp 0x1400bf6f4
test cl, 0x10
je 0x1400bf6df
mov ebp, dword [rsi + 0x10]
mov eax, 0x400
test ax, cx
je 0x1400bf6f4
add ebp, dword [rsi]
jmp 0x1400bf6f4
test cl, 1
je 0x1400bf6e8
mov ebp, ebx
jmp 0x1400bf6f4
mov dl, 1
mov rcx, rsi
call fcn.14002f960
mov ebp, eax
or eax, 0xffffffff
mov dword [rsp + 0x78], ebx
mov dword [rsp + 0x20], eax
mov rdi, rbx
mov r12d, ebx
test r15, r15
jne 0x1400bf711
xor eax, eax
jmp 0x1400bf9a9
mov qword [rsp + 0x30], r13
mov r13d, ebx
nop dword [rax]
mov rax, qword [r14 + 0x18]
lea edx, [r13 - 0x68f72]
mov rcx, qword [rax + 0x128]
test rcx, rcx
je 0x1400bf751
cmp dword [rcx + 4], edx
jne 0x1400bf748
mov eax, dword [r14 + 0x20]
cmp dword [rcx], eax
je 0x1400bf773
test edx, edx
js 0x1400bf773
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x1400bf737
mov dword [rsp + 0x78], r13d
test rdi, rdi
je 0x1400bf81d
lea ecx, [r12 + 1]
mov byte [rdi + 0x32], 0
mov dword [rdi + 0x4c], ecx
mov rax, rdi
jmp 0x1400bf9a4
mov rbx, qword [rcx + 8]
test rbx, rbx
je 0x1400bf751
test rdi, rdi
jne 0x1400bf7f0
cmp dword [rbx + 0x3c], ebp
jne 0x1400bf7bc
cmp byte [rbx + 0x37], dil
je 0x1400bf797
mov eax, dword [rsp + 0x88]
test eax, eax
jne 0x1400bf7c3
mov rcx, qword [rbx + 0x10]
cmp rcx, r15
je 0x1400bf7af
movsxd r8, ebp
mov rdx, r15
call fcn.1401b1ae0
test eax, eax
jne 0x1400bf7bc
mov byte [rbx + 0x32], 0
mov rdi, rbx
mov byte [rbx + 0x36], 0
jmp 0x1400bf802
mov eax, dword [rsp + 0x88]
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x1400bf7f0
test eax, eax
jne 0x1400bf7f0
cmp dword [rbx + 0x40], ebp
jne 0x1400bf7f0
movsxd r8, ebp
mov rdx, r15
call fcn.1401b1ae0
test eax, eax
jne 0x1400bf7f0
mov byte [rbx + 0x32], al
mov rdi, rbx
mov byte [rbx + 0x36], 1
jmp 0x1400bf802
mov eax, dword [rbx + 0x4c]
cmp eax, dword [rsp + 0x20]
jae 0x1400bf802
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x78], r13d
cmp dword [rbx + 0x4c], r12d
cmova r12d, dword [rbx + 0x4c]
inc r13d
cmp r13d, 4
jl 0x1400bf720
jmp 0x1400bf756
movzx eax, word [rsi + 0x14]
mov edx, SafeArrayDestroy
test al, 0x12
setne cl
bt ax, dx
lea ebx, [rdx - 0xb]
setb al
test al, cl
je 0x1400bf84d
lea rax, [0x140009a90]
cmp qword [rsi + 0x30], rax
jne 0x1400bf84d
mov edi, ebx
xor r13d, r13d
jmp 0x1400bf853
xor r13d, r13d
mov edi, r13d
call fcn.1400b62f0
test eax, eax
jne 0x1400bf972
mov eax, r13d
lea esi, [rbp + 1]
test edi, edi
cmove eax, esi
movsxd rcx, eax
add rcx, 0x50
call fcn.140006990
mov rbx, rax
test rax, rax
je 0x1400bf96d
xor edx, edx
mov rcx, rax
lea r8d, [rdx + 0x50]
call fcn.1401b1bc0
test edi, edi
je 0x1400bf8a3
inc qword [r15 - 8]
mov qword [rbx + 0x10], r15
mov byte [rbx + 0x34], 1
jmp 0x1400bf8b6
lea rcx, [rbx + 0x50]
movsxd r8, esi
mov rdx, r15
mov qword [rbx + 0x10], rcx
call fcn.1401aff40
mov rdi, qword [rsp + 0x80]
mov rcx, rbx
mov rdx, rdi
mov dword [rbx + 0x38], 1
call fcn.1400bf460
test eax, eax
je 0x1400bf90c
test rdi, rdi
jne 0x1400bf8e5
mov byte [rbx + 0x32], 1
mov rax, rbx
jmp 0x1400bf9a4
mov eax, dword [rbx + 0x38]
cmp eax, 1
jbe 0x1400bf8f7
dec eax
mov dword [rbx + 0x38], eax
jmp 0x1400bf9a2
mov rcx, rbx
call fcn.1400bd280
mov rcx, rbx
call fcn.140006b90
jmp 0x1400bf9a2
mov edi, dword [rsp + 0x78]
lea eax, [r12 + 1]
add edi, 0xfff9708e
mov dword [rbx + 0x3c], ebp
mov edx, edi
mov dword [rbx + 0x4c], eax
lea r9, [0x1400bd370]
mov r8, rbx
mov rcx, r14
call fcn.140037390
mov rax, qword [r14 + 0x18]
mov rcx, qword [rax + 0x128]
test rcx, rcx
je 0x1400bf968
cmp dword [rcx + 4], edi
jne 0x1400bf956
mov eax, dword [r14 + 0x20]
cmp dword [rcx], eax
je 0x1400bf964
test edi, edi
js 0x1400bf964
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x1400bf945
mov rax, r13
jmp 0x1400bf9a4
mov r13, qword [rcx + 8]
mov rax, r13
jmp 0x1400bf9a4
mov ebx, 1
mov rax, qword [r14]
mov ecx, 0x9000
test word [rax + 0x14], cx
je 0x1400bf98a
mov rcx, rax
call fcn.14002e540
jmp 0x1400bf98e
mov word [rax + 0x14], bx
mov rcx, qword [r14]
mov dword [r14 + 0x24], 7
mov rcx, qword [rcx + 0x18]
call fcn.140007680
xor eax, eax
mov r13, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x70]
add rsp, 0x38
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
ret