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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov r15, rdx
mov rdi, rcx
mov r10, qword [section..data]
lea rbx, section..data
cmp r10, rbx
je 0x1400a91c1
test byte [r10 + 0x1c], 2
je 0x1400a91c1
cmp byte [r10 + 0x19], 5
jb 0x1400a91c1
mov rcx, qword [r10 + 0x10]
lea r8, [0x1400be7f8]
mov edx, 0xa
mov r9, r15
call fcn.140006404
mov r10, qword [section..data]
xor ecx, ecx
xorps xmm0, xmm0
xor eax, eax
mov r14d, ecx
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], rax
mov esi, ecx
lea r13d, [rcx + 0x20]
mov r12b, 4
lea rcx, [0x1400ccf20]
cmp rsi, 0x23
jae 0x1400a9df4
mov rax, qword [r15]
mov rbx, rsi
add rbx, rbx
movabs r10, 0xd0019ee370dce870
mov rdx, qword [rcx + rbx*8]
lea r8, [rbp - 0x20]
mov rax, qword [rax + 0x28]
mov rcx, r15
call qword [case.0x140071786.0]
mov r14d, eax
mov r10, qword [section..data]
lea rdx, section..data
cmp r10, rdx
je 0x1400a9277
test byte [r10 + 0x1c], r13b
je 0x1400a9277
cmp byte [r10 + 0x19], r12b
jb 0x1400a9277
movzx edx, word [rbp - 0x20]
lea rax, [0x1400ccf20]
mov r9, qword [rax + rbx*8]
movzx eax, word [rax + rbx*8 + 8]
mov rcx, qword [r10 + 0x10]
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x30], eax
mov eax, dword [r9 + 0x10]
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], eax
call fcn.1400a9ec4
mov r10, qword [section..data]
lea rdx, section..data
xor r8d, r8d
test r14d, r14d
jne 0x1400a9d91
movzx eax, word [rbp - 0x20]
cmp r8w, ax
je 0x1400a9d91
lea rcx, [0x1400ccf20]
cmp word [rcx + rbx*8 + 8], ax
je 0x1400a92ed
mov r14d, 0x8000ffff
cmp r10, rdx
je 0x1400a9dca
test byte [r10 + 0x1c], r13b
je 0x1400a9dca
cmp byte [r10 + 0x19], r12b
jb 0x1400a9dca
mov r9, qword [rcx + rbx*8]
lea edx, [r8 + 0xc]
movzx ecx, word [rcx + rbx*8 + 8]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ecx
mov eax, dword [r9 + 0x10]
mov rcx, qword [r10 + 0x10]
mov dword [rsp + 0x20], eax
call fcn.1400a9e58
jmp 0x1400a9dca
cmp rsi, 0x11
ja 0x1400a9864
je 0x1400a982f
cmp rsi, 8
ja 0x1400a95fb
je 0x1400a95be
mov rax, rsi
test rsi, rsi
je 0x1400a9561
sub rax, 1
je 0x1400a9524
sub rax, 1
je 0x1400a94c7
sub rax, 1
je 0x1400a946a
sub rax, 1
je 0x1400a942e
sub rax, 1
je 0x1400a93e2
sub rax, 1
je 0x1400a93a8
cmp rax, 1
jne 0x1400a9b3e
mov r9d, r8d
xor eax, eax
cmp ax, word [rbp - 0x18]
setne r9b
mov dword [rdi + 0x40], r9d
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x1400a9dca
test byte [rcx + 0x1c], r13b
je 0x1400a9dca
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dca
lea edx, [rax + 0x14]
mov rcx, qword [rcx + 0x10]
lea r8, [0x1400be7f8]
call fcn.1400063c0
jmp 0x1400a9dca
mov r9d, r8d
xor eax, eax
cmp ax, word [rbp - 0x18]
setne r9b
mov dword [rdi + 0x3c], r9d
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x1400a9dca
test byte [rcx + 0x1c], r13b
je 0x1400a9dca
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dca
lea edx, [rax + 0x13]
jmp 0x1400a9393
mov rax, qword [rbp - 0x18]
cmp r8w, ax
je 0x1400a93f7
mov dword [rdi + 0x38], r8d
mov r10, qword [section..data]
cmp r10, rdx
je 0x1400a9dca
test byte [r10 + 0x1c], r13b
je 0x1400a9dca
cmp byte [r10 + 0x19], r12b
jb 0x1400a9dca
mov edx, SafeArrayUnlock
xor ecx, ecx
mov r9d, r8d
cmp cx, ax
mov rcx, qword [r10 + 0x10]
setne r9b
jmp 0x1400a9397
mov rax, qword [rbp - 0x18]
cmp r8w, ax
je 0x1400a9446
mov dword [rdi + 0x38], 1
mov r10, qword [section..data]
cmp r10, rdx
je 0x1400a9dca
test byte [r10 + 0x1c], r13b
je 0x1400a9dca
cmp byte [r10 + 0x19], r12b
jb 0x1400a9dca
mov edx, SafeArrayUnlock
jmp 0x1400a9419
mov rdx, qword [rbp - 0x18]
lea rcx, [rdi + 0x20]
test rdx, rdx
jne 0x1400a947c
mov eax, r8d
jmp 0x1400a948a
or rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], r8w
jne 0x1400a9480
mov r8d, eax
call fcn.140005cf4
mov rcx, qword [section..data]
lea rbx, section..data
cmp rcx, rbx
je 0x1400a9dd1
test byte [rcx + 0x1c], r13b
je 0x1400a9dd1
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dd1
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
jmp 0x1400a9d7b
mov rdx, qword [rbp - 0x18]
lea rcx, [rdi + 0x18]
test rdx, rdx
jne 0x1400a94d9
mov eax, r8d
jmp 0x1400a94e7
or rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], r8w
jne 0x1400a94dd
mov r8d, eax
call fcn.140005cf4
mov rcx, qword [section..data]
lea rbx, section..data
cmp rcx, rbx
je 0x1400a9dd1
test byte [rcx + 0x1c], r13b
je 0x1400a9dd1
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dd1
mov edx, reloc.OLEAUT32.dll_SafeArrayDestroy
jmp 0x1400a9d7b
mov r9d, r8d
xor eax, eax
cmp ax, word [rbp - 0x18]
setne r9b
mov dword [rdi + 0x14], r9d
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x1400a9dca
test byte [rcx + 0x1c], r13b
je 0x1400a9dca
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dca
lea edx, [rax + 0xe]
jmp 0x1400a9393
mov rdx, qword [rbp - 0x18]
lea rcx, [rdi + 0x28]
test rdx, rdx
jne 0x1400a9573
mov eax, r8d
jmp 0x1400a9581
or rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], r8w
jne 0x1400a9577
mov r8d, eax
call fcn.140005cf4
mov rcx, qword [section..data]
lea rbx, section..data
cmp rcx, rbx
je 0x1400a9dd1
test byte [rcx + 0x1c], r13b
je 0x1400a9dd1
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dd1
mov edx, SafeArrayGetDim
jmp 0x1400a9d7b
mov r9d, r8d
xor eax, eax
cmp ax, word [rbp - 0x18]
setne r9b
mov dword [rdi + 0x44], r9d
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x1400a9dca
test byte [rcx + 0x1c], r13b
je 0x1400a9dca
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dca
lea edx, [rax + 0x15]
jmp 0x1400a9393
mov rax, rsi
sub rax, 9
je 0x1400a97f2
sub rax, 1
je 0x1400a9795
sub rax, 1
je 0x1400a9760
sub rax, 1
je 0x1400a972b
sub rax, 1
je 0x1400a96f6
sub rax, 1
je 0x1400a96c4
sub rax, 1
je 0x1400a9692
cmp rax, 1
jne 0x1400a9b3e
mov rax, qword [rbp - 0x18]
mov dword [rdi + 0x6c], eax
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x1400a9dca
test byte [rcx + 0x1c], r13b
je 0x1400a9dca
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dca
mov edx, 0x1d
mov r9d, eax
mov rcx, qword [rcx + 0x10]
lea r8, [0x1400be7f8]
call fcn.14000ad20
jmp 0x1400a9dca
mov rax, qword [rbp - 0x18]
mov dword [rdi + 0x68], eax
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x1400a9dca
test byte [rcx + 0x1c], r13b
je 0x1400a9dca
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dca
mov edx, 0x1c
jmp 0x1400a967a
mov rax, qword [rbp - 0x18]
mov dword [rdi + 0x64], eax
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x1400a9dca
test byte [rcx + 0x1c], r13b
je 0x1400a9dca
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dca
mov edx, reloc.OLEAUT32.dll_DispGetParam
jmp 0x1400a967a
mov rax, qword [rbp - 0x18]
mov dword [rdi + 0x60], eax
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x1400a9dca
test byte [rcx + 0x1c], r13b
je 0x1400a9dca
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dca
mov edx, DispGetParam
jmp 0x1400a967a
mov rax, qword [rbp - 0x18]
mov dword [rdi + 0x5c], eax
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x1400a9dca
test byte [rcx + 0x1c], r13b
je 0x1400a9dca
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dca
mov edx, DispGetParam
jmp 0x1400a967a
mov rax, qword [rbp - 0x18]
mov dword [rdi + 0x58], eax
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x1400a9dca
test byte [rcx + 0x1c], r13b
je 0x1400a9dca
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dca
mov edx, DispGetParam
jmp 0x1400a967a
mov rdx, qword [rbp - 0x18]
lea rcx, [rdi + 0x50]
test rdx, rdx
jne 0x1400a97a7
mov eax, r8d
jmp 0x1400a97b5
or rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], r8w
jne 0x1400a97ab
mov r8d, eax
call fcn.140005cf4
mov rcx, qword [section..data]
lea rbx, section..data
cmp rcx, rbx
je 0x1400a9dd1
test byte [rcx + 0x1c], r13b
je 0x1400a9dd1
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dd1
mov edx, DispGetParam
jmp 0x1400a9d7b
mov r9d, r8d
xor eax, eax
cmp ax, word [rbp - 0x18]
setne r9b
mov dword [rdi + 0x48], r9d
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x1400a9dca
test byte [rcx + 0x1c], r13b
je 0x1400a9dca
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dca
lea edx, [rax + 0x16]
jmp 0x1400a9393
mov rax, qword [rbp - 0x18]
mov dword [rdi + 0x70], eax
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x1400a9dca
test byte [rcx + 0x1c], r13b
je 0x1400a9dca
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dca
mov edx, 0x1e
jmp 0x1400a967a
cmp rsi, 0x1a
ja 0x1400a9af3
je 0x1400a9aa8
mov rax, rsi
sub rax, 0x12
je 0x1400a9a73
sub rax, 1
je 0x1400a9a33
sub rax, 1
je 0x1400a99ed
sub rax, 1
je 0x1400a99a7
sub rax, 1
je 0x1400a9961
sub rax, 1
je 0x1400a992c
sub rax, 1
je 0x1400a98f7
cmp rax, 1
jne 0x1400a9b3e
mov rax, qword [rbp - 0x18]
mov dword [rdi + 0x80], eax
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x1400a9dca
test byte [rcx + 0x1c], r13b
je 0x1400a9dca
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dca
mov edx, 0x26
jmp 0x1400a967a
mov rax, qword [rbp - 0x18]
mov dword [rdi + 0x7c], eax
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x1400a9dca
test byte [rcx + 0x1c], r13b
je 0x1400a9dca
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dca
mov edx, 0x25
jmp 0x1400a967a
mov rax, qword [rbp - 0x18]
mov dword [rdi + 0x78], eax
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x1400a9dca
test byte [rcx + 0x1c], r13b
je 0x1400a9dca
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dca
mov edx, 0x24
jmp 0x1400a967a
mov rax, qword [rbp - 0x18]
mov ecx, 0xff
cmp eax, ecx
cmova eax, ecx
mov byte [rdi + 0x8a], al
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x1400a9dca
test byte [rcx + 0x1c], r13b
je 0x1400a9dca
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dca
movzx r9d, al
mov edx, 0x23
jmp 0x1400a967d
mov rax, qword [rbp - 0x18]
mov ecx, 0xff
cmp eax, ecx
cmova eax, ecx
mov byte [rdi + 0x89], al
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x1400a9dca
test byte [rcx + 0x1c], r13b
je 0x1400a9dca
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dca
movzx r9d, al
mov edx, 0x22
jmp 0x1400a967d
mov rax, qword [rbp - 0x18]
mov ecx, 0xff
cmp eax, ecx
cmova eax, ecx
mov byte [rdi + 0x88], al
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x1400a9dca
test byte [rcx + 0x1c], r13b
je 0x1400a9dca
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dca
movzx r9d, al
mov edx, 0x21
jmp 0x1400a967d
mov r9d, r8d
xor eax, eax
cmp ax, word [rbp - 0x18]
setne r9b
mov dword [rdi + 0x84], r9d
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x1400a9dca
test byte [rcx + 0x1c], r13b
je 0x1400a9dca
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dca
mov edx, r13d
jmp 0x1400a9393
mov rax, qword [rbp - 0x18]
mov dword [rdi + 0x74], eax
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x1400a9dca
test byte [rcx + 0x1c], r13b
je 0x1400a9dca
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dca
mov edx, 0x1f
jmp 0x1400a967a
mov r9, qword [rbp - 0x18]
movups xmm0, xmmword [r9]
movdqu xmmword [rdi + 4], xmm0
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x1400a9dca
test byte [rcx + 0x1c], r13b
je 0x1400a9dca
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dca
mov edx, 0x27
mov rcx, qword [rcx + 0x10]
lea r8, [0x1400be7f8]
call fcn.14004062c
jmp 0x1400a9dca
mov rax, rsi
sub rax, 0x1b
je 0x1400a9d2f
sub rax, 1
je 0x1400a9cf2
sub rax, 1
je 0x1400a9cb4
sub rax, 1
je 0x1400a9c76
sub rax, 1
je 0x1400a9c36
sub rax, 1
je 0x1400a9bf6
sub rax, 1
je 0x1400a9bb6
cmp rax, 1
je 0x1400a9b7e
mov r14d, 0x8000ffff
cmp r10, rdx
je 0x1400a9dca
test byte [r10 + 0x1c], r13b
je 0x1400a9dca
cmp byte [r10 + 0x19], r12b
jb 0x1400a9dca
mov rcx, qword [r10 + 0x10]
lea r8, [0x1400be7f8]
mov edx, 0x30
mov r9, rsi
call fcn.14004a97c
jmp 0x1400a9dca
mov rax, qword [rbp - 0x18]
mov dword [rdi + 0xb8], eax
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x1400a9dca
test byte [rcx + 0x1c], r13b
je 0x1400a9dca
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dca
mov edx, 0x2f
jmp 0x1400a967a
mov r9d, r8d
xor eax, eax
cmp ax, word [rbp - 0x18]
setne r9b
mov dword [rdi + 0xb4], r9d
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x1400a9dca
test byte [rcx + 0x1c], r13b
je 0x1400a9dca
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dca
lea edx, [rax + 0x2e]
jmp 0x1400a9393
mov r9d, r8d
xor eax, eax
cmp ax, word [rbp - 0x18]
setne r9b
mov dword [rdi + 0xb0], r9d
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x1400a9dca
test byte [rcx + 0x1c], r13b
je 0x1400a9dca
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dca
lea edx, [rax + 0x2d]
jmp 0x1400a9393
mov r9d, r8d
xor eax, eax
cmp ax, word [rbp - 0x18]
setne r9b
mov dword [rdi + 0xac], r9d
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x1400a9dca
test byte [rcx + 0x1c], r13b
je 0x1400a9dca
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dca
lea edx, [rax + 0x2c]
jmp 0x1400a9393
mov r9, qword [rbp - 0x18]
movups xmm0, xmmword [r9]
movdqu xmmword [rdi + 0x9c], xmm0
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x1400a9dca
test byte [rcx + 0x1c], r13b
je 0x1400a9dca
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dca
mov edx, 0x2b
jmp 0x1400a9ade
mov r9, qword [rbp - 0x18]
movups xmm0, xmmword [r9]
movdqu xmmword [rdi + 0x8c], xmm0
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x1400a9dca
test byte [rcx + 0x1c], r13b
je 0x1400a9dca
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dca
mov edx, 0x2a
jmp 0x1400a9ade
mov r9d, r8d
xor eax, eax
cmp ax, word [rbp - 0x18]
setne r9b
mov dword [rdi + 0x4c], r9d
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x1400a9dca
test byte [rcx + 0x1c], r13b
je 0x1400a9dca
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dca
lea edx, [rax + 0x29]
jmp 0x1400a9393
mov rdx, qword [rbp - 0x18]
lea rcx, [rdi + 0x30]
test rdx, rdx
jne 0x1400a9d41
mov eax, r8d
jmp 0x1400a9d4f
or rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], r8w
jne 0x1400a9d45
mov r8d, eax
call fcn.140005cf4
mov rcx, qword [section..data]
lea rbx, section..data
cmp rcx, rbx
je 0x1400a9dd1
test byte [rcx + 0x1c], r13b
je 0x1400a9dd1
cmp byte [rcx + 0x19], r12b
jb 0x1400a9dd1
mov edx, 0x28
mov r9, qword [rbp - 0x18]
lea r8, [0x1400be7f8]
mov rcx, qword [rcx + 0x10]
call fcn.1400062dc
jmp 0x1400a9dd1
cmp r10, rdx
je 0x1400a9dca
test byte [r10 + 0x1c], r13b
je 0x1400a9dca
cmp byte [r10 + 0x19], r12b
jb 0x1400a9dca
mov rcx, qword [r10 + 0x10]
lea r9, [0x1400ccf20]
mov r9, qword [r9 + rbx*8]
lea r8, [0x1400be7f8]
mov edx, 0x31
mov eax, dword [r9 + 0x10]
mov dword [rsp + 0x20], eax
call fcn.140096298
lea rbx, section..data
lea rcx, [rbp - 0x20]
call qword [sym.imp.ole32.dll_PropVariantClear]
nop dword [rax + rax]
mov r10, qword [section..data]
inc rsi
test r14d, r14d
jns 0x1400a91dc
cmp r10, rbx
je 0x1400a9e2d
test byte [r10 + 0x1c], 2
je 0x1400a9e2d
movzx eax, byte [r10 + 0x19]
mov ecx, r14d
sar ecx, 0x1f
and ecx, 0xfffffffd
add ecx, 5
cmp eax, ecx
jl 0x1400a9e2d
mov rcx, qword [r10 + 0x10]
lea r8, [0x1400be7f8]
mov edx, 0x32
mov r9d, r14d
call fcn.14000637c
lea r11, [rsp + 0x60]
mov eax, r14d
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret