Function at 0x1400f04dc
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 r12, rdx
mov rsi, rcx
mov rcx, qword [0x140148ea8]
lea rdi, [0x140148ea8]
mov eax, 5
lea r15d, [rax - 3]
cmp rcx, rdi
je 0x1400f0545
test byte [rcx + 0x1c], r15b
je 0x1400f0545
cmp byte [rcx + 0x19], al
jb 0x1400f0545
mov rcx, qword [rcx + 0x10]
lea edx, [rax + 5]
lea r8, [0x1400096b0]
mov r9, r12
call fcn.14000fda0
mov rcx, qword [0x140148ea8]
xor r13d, r13d
xor eax, eax
mov qword [rbp - 0x1e], rax
mov qword [rbp - 0x16], rax
mov dword [rbp - 0xe], eax
mov word [rbp - 0xa], ax
mov ebx, r13d
mov word [rbp - 0x20], r13w
mov r14d, r13d
cmp r14, 0x22
jae 0x1400f1115
mov rax, qword [r12]
mov rdi, r14
mov rbx, qword [rax + 0x28]
add rdi, rdi
mov rcx, rbx
call qword [fcn.140015690]
lea rax, [0x1400f1170]
lea r8, [rbp - 0x20]
mov rdx, qword [rax + rdi*8]
mov rcx, r12
call rbx
mov ebx, eax
mov r10, qword [0x140148ea8]
lea r11, [0x140148ea8]
mov r8d, 0x20
mov dl, 4
cmp r10, r11
je 0x1400f0609
test byte [r10 + 0x1c], r8b
je 0x1400f0609
cmp byte [r10 + 0x19], dl
jb 0x1400f0609
movzx edx, word [rbp - 0x20]
mov rcx, qword [r10 + 0x10]
lea rax, [0x1400f1170]
mov r9, qword [rax + rdi*8]
movzx eax, word [rax + rdi*8 + 8]
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x30], eax
mov eax, dword [r9 + 0x10]
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], eax
call fcn.1400f0164
mov r10, qword [0x140148ea8]
mov dl, 4
mov r8d, 0x20
lea r11, [0x140148ea8]
test ebx, ebx
jne 0x1400f10b9
movzx eax, word [rbp - 0x20]
cmp r13w, ax
je 0x1400f10b9
lea rcx, [0x1400f1170]
cmp word [rcx + rdi*8 + 8], ax
je 0x1400f067e
mov ebx, 0x8000ffff
cmp r10, r11
je 0x1400f10f2
test byte [r10 + 0x1c], r8b
je 0x1400f10f2
cmp byte [r10 + 0x19], dl
jb 0x1400f10f2
mov r9, qword [rcx + rdi*8]
movzx ecx, word [rcx + rdi*8 + 8]
movzx eax, ax
mov dword [rsp + 0x30], eax
mov eax, dword [r9 + 0x10]
mov dword [rsp + 0x28], ecx
mov rcx, qword [r10 + 0x10]
mov edx, SafeArrayGetDim
mov dword [rsp + 0x20], eax
call fcn.1400f0104
jmp 0x1400f10f2
cmp r14, 0x11
ja 0x1400f0bdf
je 0x1400f0baa
cmp r14, 8
ja 0x1400f0982
je 0x1400f0945
mov rax, r14
test r14, r14
je 0x1400f08e8
dec rax
je 0x1400f08ab
dec rax
je 0x1400f084e
dec rax
je 0x1400f07f1
dec rax
je 0x1400f07b5
dec rax
je 0x1400f076a
dec rax
je 0x1400f0730
dec rax
jne 0x1400f0ea1
cmp r13w, word [rbp - 0x18]
mov r9d, r13d
setne r9b
mov dword [rsi + 0x40], r9d
mov rcx, qword [0x140148ea8]
cmp rcx, r11
je 0x1400f10f2
test byte [rcx + 0x1c], r8b
je 0x1400f10f2
cmp byte [rcx + 0x19], dl
jb 0x1400f10f2
lea edx, [rax + 0x14]
mov rcx, qword [rcx + 0x10]
lea r8, [0x1400096b0]
call fcn.14000fd64
jmp 0x1400f10f2
cmp r13w, word [rbp - 0x18]
mov r9d, r13d
setne r9b
mov dword [rsi + 0x3c], r9d
mov rcx, qword [0x140148ea8]
cmp rcx, r11
je 0x1400f10f2
test byte [rcx + 0x1c], r8b
je 0x1400f10f2
cmp byte [rcx + 0x19], dl
jb 0x1400f10f2
mov edx, SafeArrayAccessData
jmp 0x1400f071b
movzx eax, word [rbp - 0x18]
cmp r13w, ax
je 0x1400f077f
mov dword [rsi + 0x38], r13d
mov r10, qword [0x140148ea8]
cmp r10, r11
je 0x1400f10f2
test byte [r10 + 0x1c], r8b
je 0x1400f10f2
cmp byte [r10 + 0x19], dl
jb 0x1400f10f2
mov edx, SafeArrayAccessData
mov rcx, qword [r10 + 0x10]
cmp r13w, ax
mov r9d, r13d
setne r9b
jmp 0x1400f071f
movzx eax, word [rbp - 0x18]
cmp r13w, ax
je 0x1400f07cd
mov dword [rsi + 0x38], 1
mov r10, qword [0x140148ea8]
cmp r10, r11
je 0x1400f10f2
test byte [r10 + 0x1c], r8b
je 0x1400f10f2
cmp byte [r10 + 0x19], dl
jb 0x1400f10f2
mov edx, SafeArrayUnlock
jmp 0x1400f07a1
mov rdx, qword [rbp - 0x18]
lea rcx, [rsi + 0x20]
test rdx, rdx
jne 0x1400f0803
mov eax, r13d
jmp 0x1400f0811
or rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], r13w
jne 0x1400f0807
mov r8d, eax
call fcn.1400118b4
mov rcx, qword [0x140148ea8]
lea rdi, [0x140148ea8]
cmp rcx, rdi
je 0x1400f10f9
test byte [rcx + 0x1c], 0x20
je 0x1400f10f9
cmp byte [rcx + 0x19], 4
jb 0x1400f10f9
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
jmp 0x1400f10a3
mov rdx, qword [rbp - 0x18]
lea rcx, [rsi + 0x18]
test rdx, rdx
jne 0x1400f0860
mov eax, r13d
jmp 0x1400f086e
or rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], r13w
jne 0x1400f0864
mov r8d, eax
call fcn.1400118b4
mov rcx, qword [0x140148ea8]
lea rdi, [0x140148ea8]
cmp rcx, rdi
je 0x1400f10f9
test byte [rcx + 0x1c], 0x20
je 0x1400f10f9
cmp byte [rcx + 0x19], 4
jb 0x1400f10f9
mov edx, reloc.OLEAUT32.dll_SafeArrayDestroy
jmp 0x1400f10a3
cmp r13w, word [rbp - 0x18]
mov r9d, r13d
setne r9b
mov dword [rsi + 0x14], r9d
mov rcx, qword [0x140148ea8]
cmp rcx, r11
je 0x1400f10f2
test byte [rcx + 0x1c], r8b
je 0x1400f10f2
cmp byte [rcx + 0x19], dl
jb 0x1400f10f2
mov edx, reloc.Cabinet.dll_FCIDestroy
jmp 0x1400f071b
mov rdx, qword [rbp - 0x18]
lea rcx, [rsi + 0x28]
test rdx, rdx
jne 0x1400f08fa
mov eax, r13d
jmp 0x1400f0908
or rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], r13w
jne 0x1400f08fe
mov r8d, eax
call fcn.1400118b4
mov rcx, qword [0x140148ea8]
lea rdi, [0x140148ea8]
cmp rcx, rdi
je 0x1400f10f9
test byte [rcx + 0x1c], 0x20
je 0x1400f10f9
cmp byte [rcx + 0x19], 4
jb 0x1400f10f9
mov edx, reloc.Cabinet.dll_FCIFlushCabinet
jmp 0x1400f10a3
cmp r13w, word [rbp - 0x18]
mov r9d, r13d
setne r9b
mov dword [rsi + 0x44], r9d
mov rcx, qword [0x140148ea8]
cmp rcx, r11
je 0x1400f10f2
test byte [rcx + 0x1c], r8b
je 0x1400f10f2
cmp byte [rcx + 0x19], dl
jb 0x1400f10f2
mov edx, reloc.OLEAUT32.dll_SafeArrayUnlock
jmp 0x1400f071b
mov rax, r14
sub rax, 9
je 0x1400f0b6d
dec rax
je 0x1400f0b10
dec rax
je 0x1400f0adb
dec rax
je 0x1400f0aa6
dec rax
je 0x1400f0a71
dec rax
je 0x1400f0a3f
dec rax
je 0x1400f0a0d
dec rax
jne 0x1400f0ea1
mov r9d, dword [rbp - 0x18]
mov dword [rsi + 0x6c], r9d
mov rcx, qword [0x140148ea8]
cmp rcx, r11
je 0x1400f10f2
test byte [rcx + 0x1c], r8b
je 0x1400f10f2
cmp byte [rcx + 0x19], dl
jb 0x1400f10f2
lea edx, [rax + 0x1d]
mov rcx, qword [rcx + 0x10]
lea r8, [0x1400096b0]
call fcn.14000fd64
jmp 0x1400f10f2
mov r9d, dword [rbp - 0x18]
mov dword [rsi + 0x68], r9d
mov rcx, qword [0x140148ea8]
cmp rcx, r11
je 0x1400f10f2
test byte [rcx + 0x1c], r8b
je 0x1400f10f2
cmp byte [rcx + 0x19], dl
jb 0x1400f10f2
mov edx, 0x1c
jmp 0x1400f09f8
mov r9d, dword [rbp - 0x18]
mov dword [rsi + 0x64], r9d
mov rcx, qword [0x140148ea8]
cmp rcx, r11
je 0x1400f10f2
test byte [rcx + 0x1c], r8b
je 0x1400f10f2
cmp byte [rcx + 0x19], dl
jb 0x1400f10f2
mov edx, reloc.OLEAUT32.dll_DispGetParam
jmp 0x1400f09f8
mov r9d, dword [rbp - 0x18]
mov dword [rsi + 0x60], r9d
mov rcx, qword [0x140148ea8]
cmp rcx, r11
je 0x1400f10f2
test byte [rcx + 0x1c], r8b
je 0x1400f10f2
cmp byte [rcx + 0x19], dl
jb 0x1400f10f2
mov edx, DispGetParam
jmp 0x1400f09f8
mov r9d, dword [rbp - 0x18]
mov dword [rsi + 0x5c], r9d
mov rcx, qword [0x140148ea8]
cmp rcx, r11
je 0x1400f10f2
test byte [rcx + 0x1c], r8b
je 0x1400f10f2
cmp byte [rcx + 0x19], dl
jb 0x1400f10f2
mov edx, DispGetParam
jmp 0x1400f09f8
mov r9d, dword [rbp - 0x18]
mov dword [rsi + 0x58], r9d
mov rcx, qword [0x140148ea8]
cmp rcx, r11
je 0x1400f10f2
test byte [rcx + 0x1c], r8b
je 0x1400f10f2
cmp byte [rcx + 0x19], dl
jb 0x1400f10f2
mov edx, DispGetParam
jmp 0x1400f09f8
mov rdx, qword [rbp - 0x18]
lea rcx, [rsi + 0x50]
test rdx, rdx
jne 0x1400f0b22
mov eax, r13d
jmp 0x1400f0b30
or rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], r13w
jne 0x1400f0b26
mov r8d, eax
call fcn.1400118b4
mov rcx, qword [0x140148ea8]
lea rdi, [0x140148ea8]
cmp rcx, rdi
je 0x1400f10f9
test byte [rcx + 0x1c], 0x20
je 0x1400f10f9
cmp byte [rcx + 0x19], 4
jb 0x1400f10f9
mov edx, reloc.Cabinet.dll_FDIDestroy
jmp 0x1400f10a3
cmp r13w, word [rbp - 0x18]
mov r9d, r13d
setne r9b
mov dword [rsi + 0x48], r9d
mov rcx, qword [0x140148ea8]
cmp rcx, r11
je 0x1400f10f2
test byte [rcx + 0x1c], r8b
je 0x1400f10f2
cmp byte [rcx + 0x19], dl
jb 0x1400f10f2
mov edx, reloc.OLEAUT32.dll_SafeArrayAccessData
jmp 0x1400f071b
mov r9d, dword [rbp - 0x18]
mov dword [rsi + 0x70], r9d
mov rcx, qword [0x140148ea8]
cmp rcx, r11
je 0x1400f10f2
test byte [rcx + 0x1c], r8b
je 0x1400f10f2
cmp byte [rcx + 0x19], dl
jb 0x1400f10f2
mov edx, 0x1e
jmp 0x1400f09f8
cmp r14, 0x1a
ja 0x1400f0e62
je 0x1400f0e18
mov rax, r14
sub rax, 0x12
je 0x1400f0de3
dec rax
je 0x1400f0da5
dec rax
je 0x1400f0d5f
dec rax
je 0x1400f0d19
dec rax
je 0x1400f0cd3
dec rax
je 0x1400f0c9e
dec rax
je 0x1400f0c69
dec rax
jne 0x1400f0ea1
mov r9d, dword [rbp - 0x18]
mov dword [rsi + 0x80], r9d
mov rcx, qword [0x140148ea8]
cmp rcx, r11
je 0x1400f10f2
test byte [rcx + 0x1c], r8b
je 0x1400f10f2
cmp byte [rcx + 0x19], dl
jb 0x1400f10f2
lea edx, [rax + 0x26]
jmp 0x1400f09f8
mov r9d, dword [rbp - 0x18]
mov dword [rsi + 0x7c], r9d
mov rcx, qword [0x140148ea8]
cmp rcx, r11
je 0x1400f10f2
test byte [rcx + 0x1c], r8b
je 0x1400f10f2
cmp byte [rcx + 0x19], dl
jb 0x1400f10f2
mov edx, 0x25
jmp 0x1400f09f8
mov r9d, dword [rbp - 0x18]
mov dword [rsi + 0x78], r9d
mov rcx, qword [0x140148ea8]
cmp rcx, r11
je 0x1400f10f2
test byte [rcx + 0x1c], r8b
je 0x1400f10f2
cmp byte [rcx + 0x19], dl
jb 0x1400f10f2
mov edx, 0x24
jmp 0x1400f09f8
movzx eax, byte [rbp - 0x18]
mov ecx, 0xff
cmp dword [rbp - 0x18], ecx
cmova eax, ecx
mov byte [rsi + 0x8a], al
mov rcx, qword [0x140148ea8]
cmp rcx, r11
je 0x1400f10f2
test byte [rcx + 0x1c], r8b
je 0x1400f10f2
cmp byte [rcx + 0x19], dl
jb 0x1400f10f2
movzx r9d, al
mov edx, 0x23
jmp 0x1400f09f8
movzx eax, byte [rbp - 0x18]
mov ecx, 0xff
cmp dword [rbp - 0x18], ecx
cmova eax, ecx
mov byte [rsi + 0x89], al
mov rcx, qword [0x140148ea8]
cmp rcx, r11
je 0x1400f10f2
test byte [rcx + 0x1c], r8b
je 0x1400f10f2
cmp byte [rcx + 0x19], dl
jb 0x1400f10f2
movzx r9d, al
mov edx, 0x22
jmp 0x1400f09f8
movzx eax, byte [rbp - 0x18]
mov ecx, 0xff
cmp dword [rbp - 0x18], ecx
cmova eax, ecx
mov byte [rsi + 0x88], al
mov rcx, qword [0x140148ea8]
cmp rcx, r11
je 0x1400f10f2
test byte [rcx + 0x1c], r8b
je 0x1400f10f2
cmp byte [rcx + 0x19], dl
jb 0x1400f10f2
movzx r9d, al
mov edx, 0x21
jmp 0x1400f09f8
cmp r13w, word [rbp - 0x18]
mov r9d, r13d
setne r9b
mov dword [rsi + 0x84], r9d
mov rcx, qword [0x140148ea8]
cmp rcx, r11
je 0x1400f10f2
test byte [rcx + 0x1c], r8b
je 0x1400f10f2
cmp byte [rcx + 0x19], dl
jb 0x1400f10f2
mov edx, r8d
jmp 0x1400f071b
mov r9d, dword [rbp - 0x18]
mov dword [rsi + 0x74], r9d
mov rcx, qword [0x140148ea8]
cmp rcx, r11
je 0x1400f10f2
test byte [rcx + 0x1c], r8b
je 0x1400f10f2
cmp byte [rcx + 0x19], dl
jb 0x1400f10f2
mov edx, 0x1f
jmp 0x1400f09f8
mov r9, qword [rbp - 0x18]
movups xmm0, xmmword [r9]
movdqu xmmword [rsi + 4], xmm0
mov rcx, qword [0x140148ea8]
cmp rcx, r11
je 0x1400f10f2
test byte [rcx + 0x1c], r8b
je 0x1400f10f2
cmp byte [rcx + 0x19], dl
jb 0x1400f10f2
mov edx, 0x27
mov rcx, qword [rcx + 0x10]
lea r8, [0x1400096b0]
call fcn.14004e770
jmp 0x1400f10f2
mov rax, r14
sub rax, 0x1b
je 0x1400f1057
dec rax
je 0x1400f101a
dec rax
je 0x1400f0fdd
dec rax
je 0x1400f0fa0
dec rax
je 0x1400f0f60
dec rax
je 0x1400f0f20
dec rax
je 0x1400f0ee0
mov ebx, 0x8000ffff
cmp r10, r11
je 0x1400f10f2
test byte [r10 + 0x1c], r8b
je 0x1400f10f2
cmp byte [r10 + 0x19], dl
jb 0x1400f10f2
mov rcx, qword [r10 + 0x10]
lea r8, [0x1400096b0]
mov edx, 0x2f
mov r9, r14
call fcn.14000fda0
jmp 0x1400f10f2
cmp r13w, word [rbp - 0x18]
mov r9d, r13d
setne r9b
mov dword [rsi + 0xb4], r9d
mov rcx, qword [0x140148ea8]
cmp rcx, r11
je 0x1400f10f2
test byte [rcx + 0x1c], r8b
je 0x1400f10f2
cmp byte [rcx + 0x19], dl
jb 0x1400f10f2
mov edx, 0x2e
jmp 0x1400f071b
cmp r13w, word [rbp - 0x18]
mov r9d, r13d
setne r9b
mov dword [rsi + 0xb0], r9d
mov rcx, qword [0x140148ea8]
cmp rcx, r11
je 0x1400f10f2
test byte [rcx + 0x1c], r8b
je 0x1400f10f2
cmp byte [rcx + 0x19], dl
jb 0x1400f10f2
mov edx, 0x2d
jmp 0x1400f071b
cmp r13w, word [rbp - 0x18]
mov r9d, r13d
setne r9b
mov dword [rsi + 0xac], r9d
mov rcx, qword [0x140148ea8]
cmp rcx, r11
je 0x1400f10f2
test byte [rcx + 0x1c], r8b
je 0x1400f10f2
cmp byte [rcx + 0x19], dl
jb 0x1400f10f2
mov edx, 0x2c
jmp 0x1400f071b
mov r9, qword [rbp - 0x18]
movups xmm0, xmmword [r9]
movdqu xmmword [rsi + 0x9c], xmm0
mov rcx, qword [0x140148ea8]
cmp rcx, r11
je 0x1400f10f2
test byte [rcx + 0x1c], r8b
je 0x1400f10f2
cmp byte [rcx + 0x19], dl
jb 0x1400f10f2
mov edx, 0x2b
jmp 0x1400f0e4d
mov r9, qword [rbp - 0x18]
movups xmm0, xmmword [r9]
movdqu xmmword [rsi + 0x8c], xmm0
mov rcx, qword [0x140148ea8]
cmp rcx, r11
je 0x1400f10f2
test byte [rcx + 0x1c], r8b
je 0x1400f10f2
cmp byte [rcx + 0x19], dl
jb 0x1400f10f2
mov edx, 0x2a
jmp 0x1400f0e4d
cmp r13w, word [rbp - 0x18]
mov r9d, r13d
setne r9b
mov dword [rsi + 0x4c], r9d
mov rcx, qword [0x140148ea8]
cmp rcx, r11
je 0x1400f10f2
test byte [rcx + 0x1c], r8b
je 0x1400f10f2
cmp byte [rcx + 0x19], dl
jb 0x1400f10f2
mov edx, 0x29
jmp 0x1400f071b
mov rdx, qword [rbp - 0x18]
lea rcx, [rsi + 0x30]
test rdx, rdx
jne 0x1400f1069
mov eax, r13d
jmp 0x1400f1077
or rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], r13w
jne 0x1400f106d
mov r8d, eax
call fcn.1400118b4
mov rcx, qword [0x140148ea8]
lea rdi, [0x140148ea8]
cmp rcx, rdi
je 0x1400f10f9
test byte [rcx + 0x1c], 0x20
je 0x1400f10f9
cmp byte [rcx + 0x19], 4
jb 0x1400f10f9
mov edx, 0x28
mov r9, qword [rbp - 0x18]
mov rcx, qword [rcx + 0x10]
lea r8, [0x1400096b0]
call fcn.14000fcd0
jmp 0x1400f10f9
cmp r10, r11
je 0x1400f10f2
test byte [r10 + 0x1c], r8b
je 0x1400f10f2
cmp byte [r10 + 0x19], dl
jb 0x1400f10f2
mov rcx, qword [r10 + 0x10]
lea rax, [0x1400f1170]
lea r8, [0x1400096b0]
mov r9, qword [rax + rdi*8]
mov edx, 0x30
mov eax, dword [r9 + 0x10]
mov dword [rsp + 0x20], eax
call fcn.140081078
lea rdi, [0x140148ea8]
lea rcx, [rbp - 0x20]
call qword [sym.imp.ole32.dll_PropVariantClear]
mov rcx, qword [0x140148ea8]
inc r14
test ebx, ebx
jns 0x1400f0564
cmp rcx, rdi
je 0x1400f114c
test byte [rcx + 0x1c], r15b
je 0x1400f114c
movzx eax, byte [rcx + 0x19]
test ebx, ebx
mov edx, 5
cmovns r15d, edx
cmp eax, r15d
jl 0x1400f114c
mov rcx, qword [rcx + 0x10]
lea r8, [0x1400096b0]
mov edx, 0x31
mov r9d, ebx
call fcn.14000fd64
lea r11, [rsp + 0x60]
mov eax, ebx
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