Function at 0x1800532e0
Capabilities:
Link many functions at runtime

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x90]
sub rsp, 0x190
mov qword [rbp - 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x1d0], rbx
mov rax, qword [0x180106010]
xor rax, rsp
mov qword [rbp + 0x80], rax
mov rdi, r8
mov r14, rdx
mov rcx, rdx
call fcn.180005e24
test al, al
jne 0x1800536e6
lea rdx, [0x1800d3e90]
lea rcx, [rsp + 0x60]
call fcn.180005ef8
nop
call fcn.18005e290
mov rcx, rax
lea rdx, [rsp + 0x60]
call fcn.18005e330
mov rsi, rax
lea rcx, [rsp + 0x60]
call fcn.180005bf4
lea rdx, str.OleAut32.dll
lea rcx, [rbp - 0x70]
call fcn.180005ef8
nop
call fcn.18005e290
mov rcx, rax
lea rdx, [rbp - 0x70]
call fcn.18005e330
mov rbx, rax
lea rcx, [rbp - 0x70]
call fcn.180005bf4
test rsi, rsi
je 0x1800536e6
test rbx, rbx
je 0x1800536e6
lea rdx, [0x1800d3ed0]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x50], rax
lea rdx, str.CoInitializeSecurity
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
lea rdx, str.VariantInit
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, rax
lea rdx, str.VariantClear
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r13, rax
lea rdx, str.SysAllocString
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r15, rax
lea rdx, str.SysFreeString
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x80], rax
mov rbx, qword [rsp + 0x50]
test rbx, rbx
je 0x1800536e6
test rsi, rsi
je 0x1800536e6
test r12, r12
je 0x1800536e6
test r13, r13
je 0x1800536e6
test r15, r15
je 0x1800536e6
test rax, rax
je 0x1800536e6
lea rcx, [rsp + 0x50]
call fcn.18006a2b0
nop
xor eax, eax
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 6
xor r9d, r9d
xor r8d, r8d
lea edx, [rax - 1]
xor ecx, ecx
call rsi
mov edx, 0x80000000
lea ecx, [rax + rdx]
test edx, ecx
jne 0x1800534a5
cmp eax, 0x80010119
je 0x1800534a5
xor bl, bl
jmp 0x18005368d
xor eax, eax
mov qword [rbp], rax
mov qword [rbp], rax
lea rax, [rbp]
mov qword [rsp + 0x20], rax
lea r9, [0x1800d60e8]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x1800d6118]
call rbx
test eax, eax
js 0x18005367b
cmp qword [rbp], 0
je 0x18005367b
lea rcx, [rbp + 0x20]
call r12
lea rcx, [rbp + 0x38]
call r12
lea rcx, [rbp + 0x50]
call r12
lea rcx, [rbp + 0x68]
call r12
movups xmm0, xmmword [rbp + 0x68]
movaps xmmword [rbp - 0x40], xmm0
movsd xmm1, qword [rbp + 0x78]
movsd qword [rbp - 0x30], xmm1
movups xmm0, xmmword [rbp + 0x50]
movaps xmmword [rbp - 0x20], xmm0
movsd xmm1, qword [rbp + 0x60]
movsd qword [rbp - 0x10], xmm1
movups xmm0, xmmword [rbp + 0x38]
movaps xmmword [rbp - 0x70], xmm0
movsd xmm1, qword [rbp + 0x48]
movsd qword [rbp - 0x60], xmm1
movups xmm0, xmmword [rbp + 0x20]
movaps xmmword [rsp + 0x60], xmm0
movsd xmm1, qword [rbp + 0x30]
movsd qword [rsp + 0x70], xmm1
mov rcx, qword [rbp]
mov rax, qword [rcx]
lea rdx, [rbp - 0x40]
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 0x20]
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x60]
call qword [rax + 0x50]
mov ebx, eax
lea rcx, [rbp + 0x20]
call r13
lea rcx, [rbp + 0x38]
call r13
lea rcx, [rbp + 0x50]
call r13
lea rcx, [rbp + 0x68]
call r13
test ebx, ebx
js 0x18005367b
xor r12d, r12d
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x10], r12
mov rcx, qword [rbp]
mov rax, qword [rcx]
lea r8, [rbp + 0x10]
lea rdx, [0x1800d2e24]
call qword [rax + 0x38]
test eax, eax
js 0x180053668
cmp qword [rbp + 0x10], r12
je 0x180053668
mov qword [rbp + 0x18], r12
mov qword [rbp + 0x18], r12
mov rcx, r14
call fcn.180005be4
mov rcx, rax
call r15
mov rsi, rax
test rax, rax
jne 0x1800535e1
xor bl, bl
jmp 0x180053657
mov rcx, qword [rbp + 0x10]
mov rax, qword [rcx]
lea r8, [rbp + 0x18]
mov rdx, rsi
call qword [rax + 0x68]
mov ebx, eax
mov rcx, rsi
call qword [rbp - 0x80]
test ebx, ebx
js 0x180053652
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x180053652
mov dword [rbp + 8], r12d
mov rax, qword [rcx]
lea rdx, [rbp + 8]
call qword [rax + 0x48]
test eax, eax
jns 0x18005361d
xor bl, bl
jmp 0x180053657
mov ecx, dword [rbp + 8]
test ecx, ecx
je 0x180053652
cmp ecx, 1
jne 0x18005362d
mov dword [rdi], ecx
jmp 0x180053655
cmp ecx, 2
jne 0x180053636
mov dword [rdi], ecx
jmp 0x180053655
cmp ecx, 3
jne 0x18005363f
mov dword [rdi], ecx
jmp 0x180053655
mov eax, 9
mov edx, 4
cmp ecx, edx
cmove eax, edx
mov dword [rdi], eax
jmp 0x180053655
mov dword [rdi], r12d
mov bl, 1
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x18005366a
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x18005366a
xor bl, bl
mov rcx, qword [rbp + 0x10]
test rcx, rcx
je 0x18005367d
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x18005367d
xor bl, bl
mov rcx, qword [rbp]
test rcx, rcx
je 0x18005368d
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
cmp dword [rsp + 0x50], 1
ja 0x1800536e1
lea rdx, [0x1800d3e90]
lea rcx, [rsp + 0x60]
call fcn.180005ef8
nop
call fcn.18005e290
mov rcx, rax
lea rdx, [rsp + 0x60]
call fcn.18005e330
mov rdi, rax
lea rcx, [rsp + 0x60]
call fcn.180005bf4
test rdi, rdi
je 0x1800536e1
lea rdx, str.CoUninitialize
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1800536e1
call rax
movzx eax, bl
jmp 0x1800536e8
xor al, al
mov rcx, qword [rbp + 0x80]
xor rcx, rsp
call fcn.180086280
mov rbx, qword [rsp + 0x1d0]
add rsp, 0x190
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret