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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov edi, r9d
mov esi, r8d
mov ebp, edx
mov rbx, rcx
call fcn.180081fb0
test al, al
je 0x180082a1e
test ebp, ebp
je 0x1800829ab
test esi, esi
je 0x1800829ab
mov r9d, 1
cmp edi, r9d
ja 0x1800827cc
mov edx, r9d
jmp 0x1800827e7
cmp edi, 4
ja 0x1800827d8
mov edx, 4
jmp 0x1800827e7
mov eax, 8
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
cmp edi, eax
cmovbe edx, eax
pxor xmm2, xmm2
pxor xmm0, xmm0
pxor xmm1, xmm1
mov eax, edx
cvtsi2ss xmm2, rbp
cvtsi2ss xmm0, rsi
cvtsi2ss xmm1, rax
mulss xmm2, xmm0
mulss xmm2, xmm1
mulss xmm2, dword [0x1800f4f90]
comiss xmm2, dword [0x1800f4f8c]
jbe 0x180082853
lea rcx, [0x180000000]
mov rax, qword [rcx + 0xf4f70]
mov qword [rbx + 0x58], rax
mov rax, qword [rcx + 0xf4f78]
mov qword [rbx + 0x60], rax
mov rax, qword [rcx + 0xf4f80]
mov qword [rbx + 0x68], rax
mov eax, dword [rcx + 0xf4f88]
mov dword [rbx + 0x70], eax
jmp 0x180082a1e
mov eax, edx
xor r8d, r8d
sub eax, r9d
je 0x18008287f
sub eax, 3
je 0x180082876
cmp eax, 4
je 0x18008286d
mov dword [rbx + 0x30], r8d
jmp 0x180082886
mov dword [rbx + 0x30], 0x100
jmp 0x180082886
mov dword [rbx + 0x30], reloc.OLEAUT32.dll_SafeArrayGetDim
jmp 0x180082886
mov dword [rbx + 0x30], 2
mov eax, dword [rsp + 0x50]
mov ecx, ebp
mov dword [rbx + 0x10], reloc.OLEAUT32.dll_SafeArrayAllocDescriptorEx
imul ecx, edx
add ecx, 0x1f
mov dword [rbx + 0x14], ebp
shr ecx, 5
mov dword [rbx + 0x54], eax
mov dword [rbx + 0x18], esi
shl ecx, 2
mov word [rbx + 0x1c], r9w
mov word [rbx + 0x1e], dx
mov dword [rbx + 0x38], ecx
mov dword [rbx + 0x20], r8d
imul ecx, esi
mov dword [rbx + 0x24], ecx
mov rcx, rbx
call fcn.180082210
movsxd rcx, eax
call fcn.1800c171c
mov qword [rbx + 8], rax
test rax, rax
jne 0x180082923
lea rcx, [0x180000000]
mov rax, qword [rcx + 0xf4f48]
mov qword [rbx + 0x58], rax
mov rax, qword [rcx + 0xf4f50]
mov qword [rbx + 0x60], rax
mov rax, qword [rcx + 0xf4f58]
mov qword [rbx + 0x68], rax
mov rax, qword [rcx + 0xf4f60]
mov qword [rbx + 0x70], rax
mov eax, dword [rcx + 0xf4f68]
mov dword [rbx + 0x78], eax
movzx eax, word [rcx + 0xf4f6c]
mov word [rbx + 0x7c], ax
jmp 0x180082a1e
mov rcx, rbx
call fcn.180084e70
mov rdi, rax
test rax, rax
je 0x180082948
mov rcx, rbx
call fcn.180084e00
xor edx, edx
mov rcx, rdi
mov r8d, eax
call fcn.1800c31a0
cmp qword [rbx + 0x393], 0
je 0x18008295a
mov rcx, rbx
call fcn.1800884b0
cmp qword [rbx + 0x39b], 0
je 0x18008296c
mov rcx, rbx
call fcn.180087dc0
mov rcx, qword [rbx + 8]
mov rax, qword [rbx + 0x10]
xor edx, edx
mov qword [rcx], rax
mov rax, qword [rbx + 0x18]
mov qword [rcx + 8], rax
mov rax, qword [rbx + 0x20]
mov qword [rcx + 0x10], rax
mov rax, qword [rbx + 0x28]
mov qword [rcx + 0x18], rax
mov rax, qword [rbx + 0x30]
mov qword [rcx + 0x20], rax
mov rcx, rbx
call fcn.180082170
mov qword [rbx + 0x3c], rax
mov rax, qword [rbx + 8]
jmp 0x180082a20
lea rcx, [0x180000000]
mov rax, qword [rcx + 0xf4f08]
mov qword [rbx + 0x58], rax
mov rax, qword [rcx + 0xf4f10]
mov qword [rbx + 0x60], rax
mov rax, qword [rcx + 0xf4f18]
mov qword [rbx + 0x68], rax
mov rax, qword [rcx + 0xf4f20]
mov qword [rbx + 0x70], rax
mov rax, qword [rcx + 0xf4f28]
mov qword [rbx + 0x78], rax
mov rax, qword [rcx + 0xf4f30]
mov qword [rbx + 0x80], rax
mov rax, qword [rcx + 0xf4f38]
mov qword [rbx + 0x88], rax
mov eax, dword [rcx + 0xf4f40]
mov dword [rbx + 0x90], eax
movzx eax, byte [rcx + 0xf4f44]
mov byte [rbx + 0x94], al
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret