Function at 0x14002b4e0
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 r13, rcx
mov r10, qword [section..data]
lea rsi, section..data
cmp r10, rsi
jne 0x14002b90d
xor r14d, r14d
lea r12, [0x140000000]
xor eax, eax
xorps xmm0, xmm0
mov qword [rbp - 0x10], rax
mov edi, r14d
movups xmmword [rbp - 0x20], xmm0
mov ebx, r14d
nop dword [rax]
cmp rbx, 0x23
jae 0x14002b668
mov rax, qword [r15]
lea r14, [r12 + 0xc9ec0]
mov rsi, rbx
shl rsi, 4
add r14, rsi
movabs r10, 0xd0019ee370dce870
mov rdx, qword [r14]
lea r8, [rbp - 0x20]
mov rax, qword [rax + 0x28]
mov rcx, r15
call qword [case.0x140028cb6.0]
mov edi, eax
mov r10, qword [section..data]
lea rdx, section..data
cmp r10, rdx
je 0x14002b59d
test byte [r10 + 0x1c], 0x20
jne 0x14002b940
test edi, edi
jne 0x14002b636
movzx eax, word [rbp - 0x20]
xor r8d, r8d
cmp r8w, ax
je 0x14002b636
movzx ecx, word [rsi + r12 + 0xc9ec8]
cmp cx, ax
jne case.default.0x14002b5d3
mov eax, dword [r12 + rbx*4 + 0x2c148]
add rax, r12
jmp rax
mov rdx, qword [rbp - 0x18]
lea rcx, [r13 + 0x20]
call fcn.14000a900
mov rcx, qword [section..data]
lea rsi, section..data
cmp rcx, rsi
je 0x14002b64d
test byte [rcx + 0x1c], 0x20
je 0x14002b64d
cmp byte [rcx + 0x19], 4
jb 0x14002b64d
mov r9, qword [rbp - 0x18]
lea r8, [0x1400ae160]
mov rcx, qword [rcx + 0x10]
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
call fcn.140043490
lea rcx, [rbp - 0x20]
call qword [sym.imp.ole32.dll_PropVariantClear]
nop dword [rax + rax]
inc rbx
jmp 0x14002b540
cmp r10, rdx
je 0x14002b646
test byte [r10 + 0x1c], 0x20
jne 0x14002c0a0
lea rsi, section..data
lea rcx, [rbp - 0x20]
call qword [sym.imp.ole32.dll_PropVariantClear]
nop dword [rax + rax]
inc rbx
test edi, edi
jns 0x14002b540
mov r10, qword [section..data]
cmp r10, rsi
je 0x14002b67f
test byte [r10 + 0x1c], 2
jne 0x14002c111
lea r11, [rsp + 0x60]
mov eax, edi
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
mov rdx, qword [rbp - 0x18]
lea rcx, [r13 + 0x30]
call fcn.14000a900
mov rcx, qword [section..data]
lea rsi, section..data
cmp rcx, rsi
je 0x14002b64d
test byte [rcx + 0x1c], 0x20
je 0x14002b64d
cmp byte [rcx + 0x19], 4
jb 0x14002b64d
mov r9, qword [rbp - 0x18]
lea r8, [0x1400ae160]
mov rcx, qword [rcx + 0x10]
mov edx, 0x28
call fcn.140043490
lea rcx, [rbp - 0x20]
call qword [sym.imp.ole32.dll_PropVariantClear]
nop dword [rax + rax]
inc rbx
jmp 0x14002b540
mov rdx, qword [rbp - 0x18]
lea rcx, [r13 + 0x50]
call fcn.14000a900
mov rcx, qword [section..data]
lea rsi, section..data
cmp rcx, rsi
je 0x14002b64d
test byte [rcx + 0x1c], 0x20
je 0x14002b64d
cmp byte [rcx + 0x19], 4
jb 0x14002b64d
mov r9, qword [rbp - 0x18]
lea r8, [0x1400ae160]
mov rcx, qword [rcx + 0x10]
mov edx, DispGetParam
call fcn.140043490
lea rcx, [rbp - 0x20]
call qword [sym.imp.ole32.dll_PropVariantClear]
nop dword [rax + rax]
inc rbx
jmp 0x14002b540
mov r9, qword [rbp - 0x18]
movups xmm0, xmmword [r9]
movups xmmword [r13 + 0x8c], xmm0
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x14002b646
test byte [rcx + 0x1c], 0x20
je 0x14002b646
cmp byte [rcx + 0x19], 4
jb 0x14002b646
mov edx, 0x2a
mov rcx, qword [rcx + 0x10]
lea r8, [0x1400ae160]
call fcn.140043ac0
jmp 0x14002b7f8
mov rax, qword [rbp - 0x18]
mov dword [r13 + 0x80], eax
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x14002b646
test byte [rcx + 0x1c], 0x20
je 0x14002b646
cmp byte [rcx + 0x19], 4
jb 0x14002b646
mov edx, 0x26
mov r9d, eax
mov rcx, qword [rcx + 0x10]
lea r8, [0x1400ae160]
call fcn.1400438d8
lea rcx, [rbp - 0x20]
call qword [sym.imp.ole32.dll_PropVariantClear]
nop dword [rax + rax]
inc rbx
lea rsi, section..data
jmp 0x14002b540
mov r9d, r8d
xor eax, eax
cmp ax, word [rbp - 0x18]
setne r9b
mov dword [r13 + 0x14], r9d
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x14002b646
test byte [rcx + 0x1c], 0x20
je 0x14002b646
cmp byte [rcx + 0x19], 4
jb 0x14002b646
lea edx, [rax + 0xe]
jmp 0x14002b8c2
mov rax, qword [rbp - 0x18]
mov dword [r13 + 0x58], eax
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x14002b646
test byte [rcx + 0x1c], 0x20
je 0x14002b646
cmp byte [rcx + 0x19], 4
jb 0x14002b646
mov edx, DispGetParam
jmp 0x14002b7e5
mov r9d, r8d
xor eax, eax
cmp ax, word [rbp - 0x18]
setne r9b
mov dword [r13 + 0xb0], r9d
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x14002b646
test byte [rcx + 0x1c], 0x20
je 0x14002b646
cmp byte [rcx + 0x19], 4
jb 0x14002b646
lea edx, [rax + 0x2d]
mov rcx, qword [rcx + 0x10]
lea r8, [0x1400ae160]
call fcn.140043960
jmp 0x14002b7f8
mov rax, qword [rbp - 0x18]
mov dword [r13 + 0x6c], eax
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x14002b646
test byte [rcx + 0x1c], 0x20
je 0x14002b646
cmp byte [rcx + 0x19], 4
jb 0x14002b646
mov edx, 0x1d
jmp 0x14002b7e5
test byte [r10 + 0x1c], 2
je 0x14002b51c
cmp byte [r10 + 0x19], 5
jb 0x14002b51c
mov rcx, qword [r10 + 0x10]
lea r8, [0x1400ae160]
mov edx, 0xa
mov r9, r15
call fcn.140045d64
jmp 0x14002b51c
cmp byte [r10 + 0x19], 4
jb 0x14002b59d
movzx eax, word [rsi + r12 + 0xc9ec8]
mov r9, qword [r14]
movzx edx, word [rbp - 0x20]
mov rcx, qword [r10 + 0x10]
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x30], eax
mov eax, dword [r9 + 0x10]
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], eax
call fcn.14004286c
mov r10, qword [section..data]
lea rdx, section..data
jmp 0x14002b59d
mov edi, 0x8000ffff
cmp r10, rdx
je 0x14002b646
test byte [r10 + 0x1c], 0x20
je 0x14002b646
cmp byte [r10 + 0x19], 4
jb 0x14002b646
mov r9, qword [r14]
mov edx, SafeArrayGetDim
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ecx
mov rcx, qword [r10 + 0x10]
mov eax, dword [r9 + 0x10]
mov dword [rsp + 0x20], eax
call fcn.140042e90
lea rcx, [rbp - 0x20]
call qword [sym.imp.ole32.dll_PropVariantClear]
nop dword [rax + rax]
lea rsi, section..data
jmp 0x14002b668
mov rdx, qword [rbp - 0x18]
lea rcx, [r13 + 0x28]
call fcn.14000a900
mov rcx, qword [section..data]
lea rsi, section..data
cmp rcx, rsi
je 0x14002b64d
test byte [rcx + 0x1c], 0x20
je 0x14002b64d
cmp byte [rcx + 0x19], 4
jb 0x14002b64d
mov r9, qword [rbp - 0x18]
lea r8, [0x1400ae160]
mov rcx, qword [rcx + 0x10]
mov edx, SafeArrayGetDim
call fcn.140043490
lea rcx, [rbp - 0x20]
call qword [sym.imp.ole32.dll_PropVariantClear]
nop dword [rax + rax]
inc rbx
jmp 0x14002b540
mov rdx, qword [rbp - 0x18]
lea rcx, [r13 + 0x18]
call fcn.14000a900
mov rcx, qword [section..data]
lea rsi, section..data
cmp rcx, rsi
je 0x14002b64d
test byte [rcx + 0x1c], 0x20
je 0x14002b64d
cmp byte [rcx + 0x19], 4
jb 0x14002b64d
mov r9, qword [rbp - 0x18]
lea r8, [0x1400ae160]
mov rcx, qword [rcx + 0x10]
mov edx, reloc.OLEAUT32.dll_SafeArrayDestroy
call fcn.140043490
lea rcx, [rbp - 0x20]
call qword [sym.imp.ole32.dll_PropVariantClear]
nop dword [rax + rax]
inc rbx
jmp 0x14002b540
mov rax, qword [rbp - 0x18]
xor r14d, r14d
cmp r14w, ax
je 0x14002bada
mov dword [r13 + 0x38], 1
mov r10, qword [section..data]
cmp r10, rdx
je 0x14002b646
test byte [r10 + 0x1c], 0x20
je 0x14002b646
cmp byte [r10 + 0x19], 4
jb 0x14002b646
xor ecx, ecx
lea r8, [0x1400ae160]
cmp cx, ax
mov r9d, r14d
setne r9b
lea edx, [rcx + 0x11]
mov rcx, qword [r10 + 0x10]
call fcn.140043960
jmp 0x14002b7f8
mov rax, qword [rbp - 0x18]
xor r14d, r14d
cmp r14w, ax
je 0x14002bb35
mov dword [r13 + 0x38], r14d
mov r10, qword [section..data]
cmp r10, rdx
je 0x14002b646
test byte [r10 + 0x1c], 0x20
je 0x14002b646
cmp byte [r10 + 0x19], 4
jb 0x14002b646
xor ecx, ecx
lea r8, [0x1400ae160]
cmp cx, ax
mov r9d, r14d
setne r9b
lea edx, [rcx + 0x12]
mov rcx, qword [r10 + 0x10]
call fcn.140043960
jmp 0x14002b7f8
mov r9d, r8d
xor eax, eax
cmp ax, word [rbp - 0x18]
setne r9b
mov dword [r13 + 0x3c], r9d
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x14002b646
test byte [rcx + 0x1c], 0x20
je 0x14002b646
cmp byte [rcx + 0x19], 4
jb 0x14002b646
lea edx, [rax + 0x13]
jmp 0x14002b8c2
mov r9d, r8d
xor eax, eax
cmp ax, word [rbp - 0x18]
setne r9b
mov dword [r13 + 0x40], r9d
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x14002b646
test byte [rcx + 0x1c], 0x20
je 0x14002b646
cmp byte [rcx + 0x19], 4
jb 0x14002b646
lea edx, [rax + 0x14]
jmp 0x14002b8c2
mov r9d, r8d
xor eax, eax
cmp ax, word [rbp - 0x18]
setne r9b
mov dword [r13 + 0x44], r9d
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x14002b646
test byte [rcx + 0x1c], 0x20
je 0x14002b646
cmp byte [rcx + 0x19], 4
jb 0x14002b646
lea edx, [rax + 0x15]
jmp 0x14002b8c2
mov r9d, r8d
xor eax, eax
cmp ax, word [rbp - 0x18]
setne r9b
mov dword [r13 + 0x48], r9d
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x14002b646
test byte [rcx + 0x1c], 0x20
je 0x14002b646
cmp byte [rcx + 0x19], 4
jb 0x14002b646
lea edx, [rax + 0x16]
jmp 0x14002b8c2
mov rax, qword [rbp - 0x18]
mov dword [r13 + 0x5c], eax
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x14002b646
test byte [rcx + 0x1c], 0x20
je 0x14002b646
cmp byte [rcx + 0x19], 4
jb 0x14002b646
mov edx, DispGetParam
jmp 0x14002b7e5
mov rax, qword [rbp - 0x18]
mov dword [r13 + 0x60], eax
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x14002b646
test byte [rcx + 0x1c], 0x20
je 0x14002b646
cmp byte [rcx + 0x19], 4
jb 0x14002b646
mov edx, DispGetParam
jmp 0x14002b7e5
mov rax, qword [rbp - 0x18]
mov dword [r13 + 0x64], eax
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x14002b646
test byte [rcx + 0x1c], 0x20
je 0x14002b646
cmp byte [rcx + 0x19], 4
jb 0x14002b646
mov edx, reloc.OLEAUT32.dll_DispGetParam
jmp 0x14002b7e5
mov rax, qword [rbp - 0x18]
mov dword [r13 + 0x68], eax
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x14002b646
test byte [rcx + 0x1c], 0x20
je 0x14002b646
cmp byte [rcx + 0x19], 4
jb 0x14002b646
mov edx, 0x1c
jmp 0x14002b7e5
mov rax, qword [rbp - 0x18]
mov dword [r13 + 0x70], eax
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x14002b646
test byte [rcx + 0x1c], 0x20
je 0x14002b646
cmp byte [rcx + 0x19], 4
jb 0x14002b646
mov edx, 0x1e
jmp 0x14002b7e5
mov rax, qword [rbp - 0x18]
mov dword [r13 + 0x74], eax
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x14002b646
test byte [rcx + 0x1c], 0x20
je 0x14002b646
cmp byte [rcx + 0x19], 4
jb 0x14002b646
mov edx, 0x1f
jmp 0x14002b7e5
mov r9d, r8d
xor eax, eax
cmp ax, word [rbp - 0x18]
setne r9b
mov dword [r13 + 0x84], r9d
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x14002b646
test byte [rcx + 0x1c], 0x20
je 0x14002b646
cmp byte [rcx + 0x19], 4
jb 0x14002b646
lea edx, [rax + 0x20]
jmp 0x14002b8c2
mov rax, qword [rbp - 0x18]
mov ecx, 0xff
cmp eax, ecx
cmova eax, ecx
mov byte [r13 + 0x88], al
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x14002b646
test byte [rcx + 0x1c], 0x20
je 0x14002b646
cmp byte [rcx + 0x19], 4
jb 0x14002b646
movzx r9d, al
mov edx, 0x21
jmp 0x14002b7e8
mov rax, qword [rbp - 0x18]
mov ecx, 0xff
cmp eax, ecx
cmova eax, ecx
mov byte [r13 + 0x89], al
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x14002b646
test byte [rcx + 0x1c], 0x20
je 0x14002b646
cmp byte [rcx + 0x19], 4
jb 0x14002b646
movzx r9d, al
mov edx, 0x22
jmp 0x14002b7e8
mov rax, qword [rbp - 0x18]
mov ecx, 0xff
cmp eax, ecx
cmova eax, ecx
mov byte [r13 + 0x8a], al
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x14002b646
test byte [rcx + 0x1c], 0x20
je 0x14002b646
cmp byte [rcx + 0x19], 4
jb 0x14002b646
movzx r9d, al
mov edx, 0x23
jmp 0x14002b7e8
mov rax, qword [rbp - 0x18]
mov dword [r13 + 0x78], eax
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x14002b646
test byte [rcx + 0x1c], 0x20
je 0x14002b646
cmp byte [rcx + 0x19], 4
jb 0x14002b646
mov edx, 0x24
jmp 0x14002b7e5
mov rax, qword [rbp - 0x18]
mov dword [r13 + 0x7c], eax
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x14002b646
test byte [rcx + 0x1c], 0x20
je 0x14002b646
cmp byte [rcx + 0x19], 4
jb 0x14002b646
mov edx, 0x25
jmp 0x14002b7e5
mov r9, qword [rbp - 0x18]
movups xmm0, xmmword [r9]
movups xmmword [r13 + 4], xmm0
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x14002b646
test byte [rcx + 0x1c], 0x20
je 0x14002b646
cmp byte [rcx + 0x19], 4
jb 0x14002b646
mov edx, 0x27
jmp 0x14002b79f
mov r9d, r8d
xor eax, eax
cmp ax, word [rbp - 0x18]
setne r9b
mov dword [r13 + 0x4c], r9d
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x14002b646
test byte [rcx + 0x1c], 0x20
je 0x14002b646
cmp byte [rcx + 0x19], 4
jb 0x14002b646
lea edx, [rax + 0x29]
jmp 0x14002b8c2
mov r9, qword [rbp - 0x18]
movups xmm0, xmmword [r9]
movups xmmword [r13 + 0x9c], xmm0
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x14002b646
test byte [rcx + 0x1c], 0x20
je 0x14002b646
cmp byte [rcx + 0x19], 4
jb 0x14002b646
mov edx, 0x2b
jmp 0x14002b79f
mov r9d, r8d
xor eax, eax
cmp ax, word [rbp - 0x18]
setne r9b
mov dword [r13 + 0xac], r9d
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x14002b646
test byte [rcx + 0x1c], 0x20
je 0x14002b646
cmp byte [rcx + 0x19], 4
jb 0x14002b646
lea edx, [rax + 0x2c]
jmp 0x14002b8c2
mov r9d, r8d
xor eax, eax
cmp ax, word [rbp - 0x18]
setne r9b
mov dword [r13 + 0xb4], r9d
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x14002b646
test byte [rcx + 0x1c], 0x20
je 0x14002b646
cmp byte [rcx + 0x19], 4
jb 0x14002b646
lea edx, [rax + 0x2e]
jmp 0x14002b8c2
mov rax, qword [rbp - 0x18]
mov dword [r13 + 0xb8], eax
mov rcx, qword [section..data]
cmp rcx, rdx
je 0x14002b646
test byte [rcx + 0x1c], 0x20
je 0x14002b646
cmp byte [rcx + 0x19], 4
jb 0x14002b646
mov edx, 0x2f
jmp 0x14002b7e5
cmp byte [r10 + 0x19], 4
jb 0x14002b646
mov r9, qword [r14]
lea r8, [0x1400ae160]
mov rcx, qword [r10 + 0x10]
mov edx, 0x31
mov eax, dword [r9 + 0x10]
mov dword [rsp + 0x20], eax
call fcn.14004388c
jmp 0x14002b646
movzx eax, byte [r10 + 0x19]
mov ecx, edi
sar ecx, 0x1f
and ecx, 0xfffffffd
add ecx, 5
cmp eax, ecx
jl 0x14002b67f
mov rcx, qword [r10 + 0x10]
lea r8, [0x1400ae160]
mov edx, 0x32
mov r9d, edi
call fcn.140045d20
jmp 0x14002b67f