Function at 0x1400f2844
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 [0x14014dd40]
lea rdi, [0x14014dd40]
mov eax, 5
lea r15d, [rax - 3]
cmp rcx, rdi
je 0x1400f28ad
test byte [rcx + 0x1c], r15b
je 0x1400f28ad
cmp byte [rcx + 0x19], al
jb 0x1400f28ad
mov rcx, qword [rcx + 0x10]
lea edx, [rax + 5]
mov r9, r12
lea r8, [0x14012afd8]
call fcn.140003710
mov rcx, qword [0x14014dd40]
xor r13d, r13d
xor eax, eax
mov word [rbp - 0x20], r13w
mov qword [rbp - 0x1e], rax
mov ebx, r13d
mov qword [rbp - 0x16], rax
mov r14d, r13d
mov dword [rbp - 0xe], eax
mov word [rbp - 0xa], ax
cmp r14, 0x23
jae 0x1400f34d6
mov rax, qword [r12]
mov rdi, r14
add rdi, rdi
mov rbx, qword [rax + 0x28]
mov rcx, rbx
call qword [fcn.140009050]
lea rax, [0x14012aff0]
mov rcx, r12
mov rdx, qword [rax + rdi*8]
lea r8, [rbp - 0x20]
call rbx
mov ebx, eax
mov r10, qword [0x14014dd40]
lea r11, [0x14014dd40]
mov r8d, 0x20
mov dl, 4
cmp r10, r11
je 0x1400f2971
test byte [r10 + 0x1c], r8b
je 0x1400f2971
cmp byte [r10 + 0x19], dl
jb 0x1400f2971
movzx edx, word [rbp - 0x20]
lea rax, [0x14012aff0]
mov r9, qword [rax + rdi*8]
movzx eax, word [rax + rdi*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], ebx
mov dword [rsp + 0x20], eax
call fcn.1400f24b0
mov r10, qword [0x14014dd40]
lea r11, [0x14014dd40]
mov dl, 4
mov r8d, 0x20
test ebx, ebx
jne 0x1400f347a
movzx eax, word [rbp - 0x20]
cmp r13w, ax
je 0x1400f347a
lea rcx, [0x14012aff0]
cmp word [rcx + rdi*8 + 8], ax
je 0x1400f29e6
mov ebx, 0x8000ffff
cmp r10, r11
je 0x1400f34b3
test byte [r10 + 0x1c], r8b
je 0x1400f34b3
cmp byte [r10 + 0x19], dl
jb 0x1400f34b3
mov r9, qword [rcx + rdi*8]
mov edx, SafeArrayGetDim
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 dword [rsp + 0x20], eax
call fcn.1400f244c
jmp 0x1400f34b3
cmp r14, 0x11
ja 0x1400f2f55
je 0x1400f2f20
cmp r14, 8
ja 0x1400f2cf1
je 0x1400f2cb4
mov rax, r14
test r14, r14
je 0x1400f2c57
sub rax, 1
je 0x1400f2c1a
sub rax, 1
je 0x1400f2bbd
sub rax, 1
je 0x1400f2b60
sub rax, 1
je 0x1400f2b24
sub rax, 1
je 0x1400f2ad9
sub rax, 1
je 0x1400f2a9f
cmp rax, 1
jne 0x1400f322a
cmp r13w, word [rbp - 0x18]
mov r9d, r13d
setne r9b
mov dword [rsi + 0x40], r9d
mov rcx, qword [0x14014dd40]
cmp rcx, r11
je 0x1400f34b3
test byte [rcx + 0x1c], r8b
je 0x1400f34b3
cmp byte [rcx + 0x19], dl
jb 0x1400f34b3
lea edx, [rax + 0x13]
mov rcx, qword [rcx + 0x10]
lea r8, [0x14012afd8]
call fcn.1400036d4
jmp 0x1400f34b3
cmp r13w, word [rbp - 0x18]
mov r9d, r13d
setne r9b
mov dword [rsi + 0x3c], r9d
mov rcx, qword [0x14014dd40]
cmp rcx, r11
je 0x1400f34b3
test byte [rcx + 0x1c], r8b
je 0x1400f34b3
cmp byte [rcx + 0x19], dl
jb 0x1400f34b3
mov edx, SafeArrayAccessData
jmp 0x1400f2a8a
movzx eax, word [rbp - 0x18]
cmp r13w, ax
je 0x1400f2aee
mov dword [rsi + 0x38], r13d
mov r10, qword [0x14014dd40]
cmp r10, r11
je 0x1400f34b3
test byte [r10 + 0x1c], r8b
je 0x1400f34b3
cmp byte [r10 + 0x19], dl
jb 0x1400f34b3
mov edx, SafeArrayAccessData
mov rcx, qword [r10 + 0x10]
cmp r13w, ax
mov r9d, r13d
setne r9b
jmp 0x1400f2a8e
movzx eax, word [rbp - 0x18]
cmp r13w, ax
je 0x1400f2b3c
mov dword [rsi + 0x38], 1
mov r10, qword [0x14014dd40]
cmp r10, r11
je 0x1400f34b3
test byte [r10 + 0x1c], r8b
je 0x1400f34b3
cmp byte [r10 + 0x19], dl
jb 0x1400f34b3
mov edx, SafeArrayUnlock
jmp 0x1400f2b10
mov rdx, qword [rbp - 0x18]
lea rcx, [rsi + 0x20]
test rdx, rdx
jne 0x1400f2b72
mov eax, r13d
jmp 0x1400f2b80
or rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], r13w
jne 0x1400f2b76
mov r8d, eax
call fcn.1400051bc
mov rcx, qword [0x14014dd40]
lea rdi, [0x14014dd40]
cmp rcx, rdi
je 0x1400f34ba
test byte [rcx + 0x1c], 0x20
je 0x1400f34ba
cmp byte [rcx + 0x19], 4
jb 0x1400f34ba
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
jmp 0x1400f3464
mov rdx, qword [rbp - 0x18]
lea rcx, [rsi + 0x18]
test rdx, rdx
jne 0x1400f2bcf
mov eax, r13d
jmp 0x1400f2bdd
or rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], r13w
jne 0x1400f2bd3
mov r8d, eax
call fcn.1400051bc
mov rcx, qword [0x14014dd40]
lea rdi, [0x14014dd40]
cmp rcx, rdi
je 0x1400f34ba
test byte [rcx + 0x1c], 0x20
je 0x1400f34ba
cmp byte [rcx + 0x19], 4
jb 0x1400f34ba
mov edx, reloc.OLEAUT32.dll_SafeArrayDestroy
jmp 0x1400f3464
cmp r13w, word [rbp - 0x18]
mov r9d, r13d
setne r9b
mov dword [rsi + 0x14], r9d
mov rcx, qword [0x14014dd40]
cmp rcx, r11
je 0x1400f34b3
test byte [rcx + 0x1c], r8b
je 0x1400f34b3
cmp byte [rcx + 0x19], dl
jb 0x1400f34b3
mov edx, reloc.Cabinet.dll_FCIDestroy
jmp 0x1400f2a8a
mov rdx, qword [rbp - 0x18]
lea rcx, [rsi + 0x28]
test rdx, rdx
jne 0x1400f2c69
mov eax, r13d
jmp 0x1400f2c77
or rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], r13w
jne 0x1400f2c6d
mov r8d, eax
call fcn.1400051bc
mov rcx, qword [0x14014dd40]
lea rdi, [0x14014dd40]
cmp rcx, rdi
je 0x1400f34ba
test byte [rcx + 0x1c], 0x20
je 0x1400f34ba
cmp byte [rcx + 0x19], 4
jb 0x1400f34ba
mov edx, reloc.Cabinet.dll_FCIFlushCabinet
jmp 0x1400f3464
cmp r13w, word [rbp - 0x18]
mov r9d, r13d
setne r9b
mov dword [rsi + 0x44], r9d
mov rcx, qword [0x14014dd40]
cmp rcx, r11
je 0x1400f34b3
test byte [rcx + 0x1c], r8b
je 0x1400f34b3
cmp byte [rcx + 0x19], dl
jb 0x1400f34b3
mov edx, reloc.OLEAUT32.dll_SafeArrayUnlock
jmp 0x1400f2a8a
mov rax, r14
sub rax, 9
je 0x1400f2ee3
sub rax, 1
je 0x1400f2e86
sub rax, 1
je 0x1400f2e51
sub rax, 1
je 0x1400f2e1c
sub rax, 1
je 0x1400f2de7
sub rax, 1
je 0x1400f2db5
sub rax, 1
je 0x1400f2d83
cmp rax, 1
jne 0x1400f322a
mov r9d, dword [rbp - 0x18]
mov dword [rsi + 0x6c], r9d
mov rcx, qword [0x14014dd40]
cmp rcx, r11
je 0x1400f34b3
test byte [rcx + 0x1c], r8b
je 0x1400f34b3
cmp byte [rcx + 0x19], dl
jb 0x1400f34b3
lea edx, [rax + 0x1c]
mov rcx, qword [rcx + 0x10]
lea r8, [0x14012afd8]
call fcn.1400036d4
jmp 0x1400f34b3
mov r9d, dword [rbp - 0x18]
mov dword [rsi + 0x68], r9d
mov rcx, qword [0x14014dd40]
cmp rcx, r11
je 0x1400f34b3
test byte [rcx + 0x1c], r8b
je 0x1400f34b3
cmp byte [rcx + 0x19], dl
jb 0x1400f34b3
mov edx, 0x1c
jmp 0x1400f2d6e
mov r9d, dword [rbp - 0x18]
mov dword [rsi + 0x64], r9d
mov rcx, qword [0x14014dd40]
cmp rcx, r11
je 0x1400f34b3
test byte [rcx + 0x1c], r8b
je 0x1400f34b3
cmp byte [rcx + 0x19], dl
jb 0x1400f34b3
mov edx, reloc.OLEAUT32.dll_DispGetParam
jmp 0x1400f2d6e
mov r9d, dword [rbp - 0x18]
mov dword [rsi + 0x60], r9d
mov rcx, qword [0x14014dd40]
cmp rcx, r11
je 0x1400f34b3
test byte [rcx + 0x1c], r8b
je 0x1400f34b3
cmp byte [rcx + 0x19], dl
jb 0x1400f34b3
mov edx, DispGetParam
jmp 0x1400f2d6e
mov r9d, dword [rbp - 0x18]
mov dword [rsi + 0x5c], r9d
mov rcx, qword [0x14014dd40]
cmp rcx, r11
je 0x1400f34b3
test byte [rcx + 0x1c], r8b
je 0x1400f34b3
cmp byte [rcx + 0x19], dl
jb 0x1400f34b3
mov edx, DispGetParam
jmp 0x1400f2d6e
mov r9d, dword [rbp - 0x18]
mov dword [rsi + 0x58], r9d
mov rcx, qword [0x14014dd40]
cmp rcx, r11
je 0x1400f34b3
test byte [rcx + 0x1c], r8b
je 0x1400f34b3
cmp byte [rcx + 0x19], dl
jb 0x1400f34b3
mov edx, DispGetParam
jmp 0x1400f2d6e
mov rdx, qword [rbp - 0x18]
lea rcx, [rsi + 0x50]
test rdx, rdx
jne 0x1400f2e98
mov eax, r13d
jmp 0x1400f2ea6
or rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], r13w
jne 0x1400f2e9c
mov r8d, eax
call fcn.1400051bc
mov rcx, qword [0x14014dd40]
lea rdi, [0x14014dd40]
cmp rcx, rdi
je 0x1400f34ba
test byte [rcx + 0x1c], 0x20
je 0x1400f34ba
cmp byte [rcx + 0x19], 4
jb 0x1400f34ba
mov edx, reloc.Cabinet.dll_FDIDestroy
jmp 0x1400f3464
cmp r13w, word [rbp - 0x18]
mov r9d, r13d
setne r9b
mov dword [rsi + 0x48], r9d
mov rcx, qword [0x14014dd40]
cmp rcx, r11
je 0x1400f34b3
test byte [rcx + 0x1c], r8b
je 0x1400f34b3
cmp byte [rcx + 0x19], dl
jb 0x1400f34b3
mov edx, reloc.OLEAUT32.dll_SafeArrayAccessData
jmp 0x1400f2a8a
mov r9d, dword [rbp - 0x18]
mov dword [rsi + 0x70], r9d
mov rcx, qword [0x14014dd40]
cmp rcx, r11
je 0x1400f34b3
test byte [rcx + 0x1c], r8b
je 0x1400f34b3
cmp byte [rcx + 0x19], dl
jb 0x1400f34b3
mov edx, 0x1e
jmp 0x1400f2d6e
cmp r14, 0x1a
ja 0x1400f31df
je 0x1400f3195
mov rax, r14
sub rax, 0x12
je 0x1400f3160
sub rax, 1
je 0x1400f3122
sub rax, 1
je 0x1400f30dc
sub rax, 1
je 0x1400f3096
sub rax, 1
je 0x1400f3050
sub rax, 1
je 0x1400f301b
sub rax, 1
je 0x1400f2fe6
cmp rax, 1
jne 0x1400f322a
mov r9d, dword [rbp - 0x18]
mov dword [rsi + 0x80], r9d
mov rcx, qword [0x14014dd40]
cmp rcx, r11
je 0x1400f34b3
test byte [rcx + 0x1c], r8b
je 0x1400f34b3
cmp byte [rcx + 0x19], dl
jb 0x1400f34b3
lea edx, [rax + 0x25]
jmp 0x1400f2d6e
mov r9d, dword [rbp - 0x18]
mov dword [rsi + 0x7c], r9d
mov rcx, qword [0x14014dd40]
cmp rcx, r11
je 0x1400f34b3
test byte [rcx + 0x1c], r8b
je 0x1400f34b3
cmp byte [rcx + 0x19], dl
jb 0x1400f34b3
mov edx, 0x25
jmp 0x1400f2d6e
mov r9d, dword [rbp - 0x18]
mov dword [rsi + 0x78], r9d
mov rcx, qword [0x14014dd40]
cmp rcx, r11
je 0x1400f34b3
test byte [rcx + 0x1c], r8b
je 0x1400f34b3
cmp byte [rcx + 0x19], dl
jb 0x1400f34b3
mov edx, 0x24
jmp 0x1400f2d6e
movzx eax, byte [rbp - 0x18]
mov ecx, 0xff
cmp dword [rbp - 0x18], ecx
cmova eax, ecx
mov byte [rsi + 0x8a], al
mov rcx, qword [0x14014dd40]
cmp rcx, r11
je 0x1400f34b3
test byte [rcx + 0x1c], r8b
je 0x1400f34b3
cmp byte [rcx + 0x19], dl
jb 0x1400f34b3
movzx r9d, al
mov edx, 0x23
jmp 0x1400f2d6e
movzx eax, byte [rbp - 0x18]
mov ecx, 0xff
cmp dword [rbp - 0x18], ecx
cmova eax, ecx
mov byte [rsi + 0x89], al
mov rcx, qword [0x14014dd40]
cmp rcx, r11
je 0x1400f34b3
test byte [rcx + 0x1c], r8b
je 0x1400f34b3
cmp byte [rcx + 0x19], dl
jb 0x1400f34b3
movzx r9d, al
mov edx, 0x22
jmp 0x1400f2d6e
movzx eax, byte [rbp - 0x18]
mov ecx, 0xff
cmp dword [rbp - 0x18], ecx
cmova eax, ecx
mov byte [rsi + 0x88], al
mov rcx, qword [0x14014dd40]
cmp rcx, r11
je 0x1400f34b3
test byte [rcx + 0x1c], r8b
je 0x1400f34b3
cmp byte [rcx + 0x19], dl
jb 0x1400f34b3
movzx r9d, al
mov edx, 0x21
jmp 0x1400f2d6e
cmp r13w, word [rbp - 0x18]
mov r9d, r13d
setne r9b
mov dword [rsi + 0x84], r9d
mov rcx, qword [0x14014dd40]
cmp rcx, r11
je 0x1400f34b3
test byte [rcx + 0x1c], r8b
je 0x1400f34b3
cmp byte [rcx + 0x19], dl
jb 0x1400f34b3
mov edx, r8d
jmp 0x1400f2a8a
mov r9d, dword [rbp - 0x18]
mov dword [rsi + 0x74], r9d
mov rcx, qword [0x14014dd40]
cmp rcx, r11
je 0x1400f34b3
test byte [rcx + 0x1c], r8b
je 0x1400f34b3
cmp byte [rcx + 0x19], dl
jb 0x1400f34b3
mov edx, 0x1f
jmp 0x1400f2d6e
mov r9, qword [rbp - 0x18]
movups xmm0, xmmword [r9]
movdqu xmmword [rsi + 4], xmm0
mov rcx, qword [0x14014dd40]
cmp rcx, r11
je 0x1400f34b3
test byte [rcx + 0x1c], r8b
je 0x1400f34b3
cmp byte [rcx + 0x19], dl
jb 0x1400f34b3
mov edx, 0x27
mov rcx, qword [rcx + 0x10]
lea r8, [0x14012afd8]
call fcn.1400407ac
jmp 0x1400f34b3
mov rax, r14
sub rax, 0x1b
je 0x1400f3418
sub rax, 1
je 0x1400f33db
sub rax, 1
je 0x1400f339e
sub rax, 1
je 0x1400f3361
sub rax, 1
je 0x1400f3321
sub rax, 1
je 0x1400f32e1
sub rax, 1
je 0x1400f32a1
cmp rax, 1
je 0x1400f3269
mov ebx, 0x8000ffff
cmp r10, r11
je 0x1400f34b3
test byte [r10 + 0x1c], r8b
je 0x1400f34b3
cmp byte [r10 + 0x19], dl
jb 0x1400f34b3
mov rcx, qword [r10 + 0x10]
lea r8, [0x14012afd8]
mov edx, 0x30
mov r9, r14
call fcn.140003710
jmp 0x1400f34b3
mov r9d, dword [rbp - 0x18]
mov dword [rsi + 0xb8], r9d
mov rcx, qword [0x14014dd40]
cmp rcx, r11
je 0x1400f34b3
test byte [rcx + 0x1c], r8b
je 0x1400f34b3
cmp byte [rcx + 0x19], dl
jb 0x1400f34b3
mov edx, 0x2f
jmp 0x1400f2d6e
cmp r13w, word [rbp - 0x18]
mov r9d, r13d
setne r9b
mov dword [rsi + 0xb4], r9d
mov rcx, qword [0x14014dd40]
cmp rcx, r11
je 0x1400f34b3
test byte [rcx + 0x1c], r8b
je 0x1400f34b3
cmp byte [rcx + 0x19], dl
jb 0x1400f34b3
mov edx, 0x2e
jmp 0x1400f2a8a
cmp r13w, word [rbp - 0x18]
mov r9d, r13d
setne r9b
mov dword [rsi + 0xb0], r9d
mov rcx, qword [0x14014dd40]
cmp rcx, r11
je 0x1400f34b3
test byte [rcx + 0x1c], r8b
je 0x1400f34b3
cmp byte [rcx + 0x19], dl
jb 0x1400f34b3
mov edx, 0x2d
jmp 0x1400f2a8a
cmp r13w, word [rbp - 0x18]
mov r9d, r13d
setne r9b
mov dword [rsi + 0xac], r9d
mov rcx, qword [0x14014dd40]
cmp rcx, r11
je 0x1400f34b3
test byte [rcx + 0x1c], r8b
je 0x1400f34b3
cmp byte [rcx + 0x19], dl
jb 0x1400f34b3
mov edx, 0x2c
jmp 0x1400f2a8a
mov r9, qword [rbp - 0x18]
movups xmm0, xmmword [r9]
movdqu xmmword [rsi + 0x9c], xmm0
mov rcx, qword [0x14014dd40]
cmp rcx, r11
je 0x1400f34b3
test byte [rcx + 0x1c], r8b
je 0x1400f34b3
cmp byte [rcx + 0x19], dl
jb 0x1400f34b3
mov edx, 0x2b
jmp 0x1400f31ca
mov r9, qword [rbp - 0x18]
movups xmm0, xmmword [r9]
movdqu xmmword [rsi + 0x8c], xmm0
mov rcx, qword [0x14014dd40]
cmp rcx, r11
je 0x1400f34b3
test byte [rcx + 0x1c], r8b
je 0x1400f34b3
cmp byte [rcx + 0x19], dl
jb 0x1400f34b3
mov edx, 0x2a
jmp 0x1400f31ca
cmp r13w, word [rbp - 0x18]
mov r9d, r13d
setne r9b
mov dword [rsi + 0x4c], r9d
mov rcx, qword [0x14014dd40]
cmp rcx, r11
je 0x1400f34b3
test byte [rcx + 0x1c], r8b
je 0x1400f34b3
cmp byte [rcx + 0x19], dl
jb 0x1400f34b3
mov edx, 0x29
jmp 0x1400f2a8a
mov rdx, qword [rbp - 0x18]
lea rcx, [rsi + 0x30]
test rdx, rdx
jne 0x1400f342a
mov eax, r13d
jmp 0x1400f3438
or rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], r13w
jne 0x1400f342e
mov r8d, eax
call fcn.1400051bc
mov rcx, qword [0x14014dd40]
lea rdi, [0x14014dd40]
cmp rcx, rdi
je 0x1400f34ba
test byte [rcx + 0x1c], 0x20
je 0x1400f34ba
cmp byte [rcx + 0x19], 4
jb 0x1400f34ba
mov edx, 0x28
mov r9, qword [rbp - 0x18]
lea r8, [0x14012afd8]
mov rcx, qword [rcx + 0x10]
call fcn.140003638
jmp 0x1400f34ba
cmp r10, r11
je 0x1400f34b3
test byte [r10 + 0x1c], r8b
je 0x1400f34b3
cmp byte [r10 + 0x19], dl
jb 0x1400f34b3
mov rcx, qword [r10 + 0x10]
lea rax, [0x14012aff0]
mov r9, qword [rax + rdi*8]
lea r8, [0x14012afd8]
mov edx, 0x31
mov eax, dword [r9 + 0x10]
mov dword [rsp + 0x20], eax
call fcn.14006f174
lea rdi, [0x14014dd40]
lea rcx, [rbp - 0x20]
call qword [sym.imp.ole32.dll_PropVariantClear]
mov rcx, qword [0x14014dd40]
inc r14
test ebx, ebx
jns 0x1400f28cc
cmp rcx, rdi
je 0x1400f350d
test byte [rcx + 0x1c], r15b
je 0x1400f350d
movzx eax, byte [rcx + 0x19]
test ebx, ebx
mov edx, 5
cmovns r15d, edx
cmp eax, r15d
jl 0x1400f350d
mov rcx, qword [rcx + 0x10]
lea r8, [0x14012afd8]
mov edx, 0x32
mov r9d, ebx
call fcn.1400036d4
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