Function at 0x1400c9240
Capabilities:
Connect to wmi namespace via wbemlocator
Get disk information
Reference wmi statements

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x648
movaps xmmword [rsp + 0x630], xmm7
movaps xmmword [rsp + 0x620], xmm6
mov r15, rcx
mov rax, qword [0x14051d038]
xor rax, rsp
mov qword [rsp + 0x618], rax
movabs rsi, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0x110]
mov qword [rcx + 0x10], rsi
movaps xmm6, xmmword [0x14047fb40]
movaps xmmword [rcx], xmm6
xor r14d, r14d
xor edx, edx
call fcn.1401415b0
mov qword [rsp + 0x100], rsi
movaps xmmword [rsp + 0xf0], xmm6
mov qword [rsp + 0x190], r14
xorps xmm7, xmm7
movaps xmmword [rsp + 0x180], xmm7
lea rbx, [rsp + 0x168]
mov qword [rbx + 8], r14
movaps xmmword [rbx - 8], xmm7
lea rsi, [rsp + 0x3d0]
mov r8d, 0x20a
mov rcx, rsi
xor edx, edx
call fcn.1402e0d10
lea rdi, [rsp + 0x1c0]
mov r8d, 0x20a
mov rcx, rdi
xor edx, edx
call fcn.1402e0d10
lea r9, [rsp + 0x1a0]
mov dword [r9], r14d
lea rcx, [rsp + 0x158]
mov dword [rcx], r14d
lea rax, [rsp + 0x150]
mov dword [rax], r14d
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0x38], 0x105
lea rcx, [0x14049a08a]
mov rdx, rsi
mov r8d, 0x105
call qword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
test eax, eax
je 0x1400c9473
mov edx, dword [rsp + 0x1a0]
lea rcx, [rsp + 0x130]
call fcn.140145630
cmp byte [rsp + 0x197], 0
jns 0x1400c9386
mov rcx, qword [rsp + 0x180]
call fcn.1402dd16c
lea rsi, [rsp + 0x130]
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x190], rax
movups xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x180], xmm0
lea rdx, [0x14049a086]
mov rcx, rsi
call fcn.14031d9e0
lea rdx, [0x14049a092]
mov r8d, 1
mov rcx, rsi
call fcn.14013baa0
mov rsi, qword [rax]
mov rcx, qword [rax + 8]
mov rdx, qword [rax + 0xf]
mov qword [rsp + 0x607], rdx
mov qword [rsp + 0x600], rcx
mov dil, byte [rax + 0x17]
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
cmp byte [rsp + 0x177], 0
jns 0x1400c940d
mov rcx, qword [rsp + 0x160]
call fcn.1402dd16c
mov qword [rsp + 0x160], rsi
mov rax, qword [rsp + 0x600]
mov rcx, qword [rsp + 0x607]
mov qword [rbx + 7], rcx
mov qword [rbx], rax
mov byte [rsp + 0x177], dil
cmp byte [rsp + 0x147], 0
jns 0x1400c944b
mov rcx, qword [rsp + 0x130]
call fcn.1402dd16c
mov cl, byte [rsp + 0x197]
mov rdx, qword [rsp + 0x188]
mov eax, ecx
and al, 0x7f
test cl, cl
movzx eax, al
mov r8, rax
cmovs r8, rdx
test r8, r8
jne 0x1400c958c
lea rsi, [rsp + 0x130]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsi + 0x10], rax
movaps xmmword [rsi], xmm6
lea r8, [0x14049a096]
mov rcx, rsi
mov rdx, 0xffffffff80000002
mov r9d, 0x101
call fcn.1401419e0
lea rdx, [0x14049a0d6]
lea r8, [rsp + 0x180]
mov rcx, rsi
call fcn.140142040
lea rdx, [0x14049a086]
lea rsi, [rsp + 0x600]
mov rcx, rsi
call fcn.14031d9e0
lea rdx, str.LASTRESORT
mov r8d, 0xa
mov rcx, rsi
call fcn.14013baa0
mov rsi, qword [rax]
mov rcx, qword [rax + 8]
mov rdx, qword [rax + 0xf]
mov qword [rsp + 0x5e7], rdx
mov qword [rsp + 0x5e0], rcx
mov dil, byte [rax + 0x17]
movups xmmword [rax], xmm7
mov qword [rax + 0x10], 0
cmp byte [rsp + 0x177], 0
jns 0x1400c952c
mov rcx, qword [rsp + 0x160]
call fcn.1402dd16c
mov qword [rsp + 0x160], rsi
mov rax, qword [rsp + 0x5e0]
mov rcx, qword [rsp + 0x5e7]
mov qword [rbx + 7], rcx
mov qword [rbx], rax
mov byte [rsp + 0x177], dil
cmp byte [rsp + 0x617], 0
jns 0x1400c956a
mov rcx, qword [rsp + 0x600]
call fcn.1402dd16c
lea rcx, [rsp + 0x130]
call fcn.140141b40
movzx ecx, byte [rsp + 0x197]
mov rdx, qword [rsp + 0x188]
mov eax, ecx
and eax, 0x7f
movabs r8, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x140], r8
test cl, cl
cmovs rax, rdx
lea rcx, [rsp + 0x180]
cmovs rcx, qword [rcx]
movaps xmmword [rsp + 0x130], xmm6
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x98], rax
test rax, rax
js 0x1400ca7f4
test rcx, rcx
jne 0x1400c95df
test rax, rax
jne 0x1400ca820
lea rsi, [rsp + 0x600]
lea rdx, [rsp + 0x90]
mov rcx, rsi
call fcn.140260c50
movzx eax, byte [rsi + 0x17]
test al, al
js 0x1400c9604
and eax, 0x7f
jmp 0x1400c9614
mov rax, qword [rsp + 0x608]
mov rsi, qword [rsp + 0x600]
mov qword [rsp + 0xd0], rsi
mov qword [rsp + 0xd8], rax
test rax, rax
js 0x1400ca7f4
test rsi, rsi
jne 0x1400c963b
test rax, rax
jne 0x1400ca820
lea rdi, [rsp + 0x130]
lea rdx, [rsp + 0xd0]
mov rcx, rdi
call fcn.1401657f0
cmp byte [rsp + 0x617], 0
jns 0x1400c966a
mov rcx, qword [rsp + 0x600]
call fcn.1402dd16c
cmp byte [rsp + 0x147], 0
jns 0x1400c967c
mov rdi, qword [rsp + 0x130]
lea rsi, [rsp + 0x5e0]
mov r8d, 0x20
mov rcx, rsi
mov rdx, rdi
call fcn.140155440
movzx eax, byte [rsi + 0x17]
test al, al
js 0x1400c96a2
and eax, 0x7f
jmp 0x1400c96b2
mov rax, qword [rsp + 0x5e8]
mov rsi, qword [rsp + 0x5e0]
mov qword [rsp + 0x1b0], rsi
mov qword [rsp + 0x1b8], rax
test rax, rax
js 0x1400ca7f4
test rsi, rsi
jne 0x1400c96d9
test rax, rax
jne 0x1400ca820
lea rcx, [rsp + 0x600]
lea rdx, [rsp + 0x1b0]
call fcn.1401535c0
cmp byte [rsp + 0x197], 0
jns 0x1400c9705
mov rcx, qword [rsp + 0x180]
call fcn.1402dd16c
mov rax, qword [rsp + 0x610]
mov qword [rsp + 0x190], rax
movups xmm0, xmmword [rsp + 0x600]
movaps xmmword [rsp + 0x180], xmm0
mov byte [rsp + 0x617], 0
mov word [rsp + 0x600], 0
cmp byte [rsp + 0x5f7], 0
jns 0x1400c974e
mov rcx, qword [rsp + 0x5e0]
call fcn.1402dd16c
lea rsi, [rsp + 0xf0]
lea rdx, [rsp + 0x180]
lea r8, [rsp + 0x160]
mov rcx, rsi
call fcn.14035d810
cmp byte [rsp + 0x147], 0
jns 0x1400c9785
mov rcx, qword [rsp + 0x130]
call fcn.1402dd16c
cmp byte [rsp + 0x177], 0
jns 0x1400c979c
mov rcx, qword [rsp + 0x160]
call fcn.1402dd16c
cmp byte [rsp + 0x197], 0
jns 0x1400c97b3
mov rcx, qword [rsp + 0x180]
call fcn.1402dd16c
movzx ecx, byte [rsp + 0x107]
mov eax, ecx
and eax, 0x7f
test cl, cl
cmovs rax, qword [rsp + 0xf8]
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xe0], rcx
cmovs rsi, qword [rsp + 0xf0]
movaps xmmword [rsp + 0xd0], xmm6
mov qword [rsp + 0xc0], rsi
mov qword [rsp + 0xc8], rax
test rax, rax
js 0x1400ca7f4
test rsi, rsi
jne 0x1400c9815
test rax, rax
jne 0x1400ca820
lea rsi, [rsp + 0xd0]
lea rdx, [rsp + 0xc0]
mov rcx, rsi
call fcn.140260c50
lea r14, [r15 + 8]
mov rcx, r14
mov rdx, rsi
call fcn.140220550
mov dword [r15 + 0x20], 1
xor eax, eax
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x28], 3
xor ecx, ecx
mov edx, 0xffffffff
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ole32.dll_CoInitializeSecurity]
test eax, eax
jns 0x1400c9882
cmp eax, 0x80010119
jne 0x1400c9a03
xor eax, eax
lea rcx, [rsp + 0xb8]
mov qword [rcx], rax
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x20], rcx
lea rcx, [0x1404720d0]
lea r9, [0x14049a108]
xor edx, edx
mov r8d, 1
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x1400c99b7
mov rdi, qword [rsp + 0xb8]
mov ecx, SafeArrayCopy
call fcn.1402dd130
mov rsi, rax
mov qword [rax + 8], 0
mov dword [rax + 0x10], 1
lea rcx, [0x14049a118]
call fcn.1402dcf80
mov qword [rsi], rax
test rsi, rsi
je 0x1400ca7be
lea rbx, [rsi + 0x10]
mov rcx, qword [rdi]
mov r10, qword [rcx + 0x18]
lea rcx, [rsp + 0xb0]
mov qword [rsp + 0x40], rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov rcx, rdi
mov rdx, rax
xor r8d, r8d
xor r9d, r9d
mov rax, r10
call qword [case.0x14012d181.0]
mov edi, eax
lock dec dword [rbx]
jne 0x1400c9974
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400c995e
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rsi], 0
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x1400c996c
call fcn.1402dd1b4
mov rcx, rsi
call fcn.1402dd16c
test edi, edi
js 0x1400c99b7
mov rcx, qword [rsp + 0xb0]
mov eax, 3
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov edx, 0xa
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
jns 0x1400c9a72
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
je 0x1400c99dd
mov qword [rsp + 0xb0], 0
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14012d181.0]
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x1400c9a03
mov qword [rsp + 0xb8], 0
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14012d181.0]
cmp byte [rsp + 0xe7], 0
jns 0x1400c9a1a
mov rcx, qword [rsp + 0xd0]
call fcn.1402dd16c
cmp byte [rsp + 0x107], 0
jns 0x1400c9a31
mov rcx, qword [rsp + 0xf0]
call fcn.1402dd16c
lea rcx, [rsp + 0x110]
call fcn.140141730
mov rcx, qword [rsp + 0x618]
xor rcx, rsp
call fcn.1402ddd70
movaps xmm6, xmmword [rsp + 0x620]
movaps xmm7, xmmword [rsp + 0x630]
add rsp, 0x648
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rdi, [rsp + 0x3d8]
movaps xmmword [rdi + 0x48], xmm6
movaps xmmword [rdi + 0x38], xmm6
movaps xmmword [rdi + 0x28], xmm6
movaps xmmword [rdi + 0x18], xmm6
lea rax, str.SELECT__FROM_Win32_ComputerSystemProduct
mov qword [rdi - 8], rax
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
lea rax, [0x14049a178]
lea rsi, [rsp + 0x1c0]
mov qword [rsi], rax
mov rcx, rdi
mov rdx, rsi
call fcn.1400ca8f0
mov qword [rdi + 8], rax
lea rcx, str.Vendor
mov qword [rsi], rcx
mov rdx, rax
sub rdx, qword [rdi]
cmp rdx, 0x19
jae 0x1400ca84c
cmp rax, qword [rsp + 0x3e8]
jae 0x1400c9afa
test rax, rax
je 0x1400ca7c8
mov qword [rax], rcx
add rax, 8
jmp 0x1400c9b0a
lea rdx, [rsp + 0x1c0]
mov rcx, rdi
call fcn.1400ca8f0
mov qword [rsp + 0x3e0], rax
lea rcx, [0x14049a190]
mov qword [rsp + 0x1c0], rcx
mov rdx, rax
sub rdx, qword [rsp + 0x3d8]
cmp rdx, 0x19
jae 0x1400ca84f
cmp rax, qword [rsp + 0x3e8]
jae 0x1400c9b52
test rax, rax
je 0x1400ca7c8
mov qword [rax], rcx
add rax, 8
jmp 0x1400c9b62
lea rdx, [rsp + 0x1c0]
mov rcx, rdi
call fcn.1400ca8f0
lea rdi, [rsp + 0x3f8]
mov qword [rdi - 0x18], rax
lea rax, str.SELECT__FROM_Win32_BaseBoard
mov qword [rdi - 8], rax
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
lea rax, str.SerialNumber
lea rsi, [rsp + 0x1c0]
mov qword [rsi], rax
mov rcx, rdi
mov rdx, rsi
call fcn.1400ca8f0
mov qword [rdi + 8], rax
lea rcx, str.Manufacturer
mov qword [rsi], rcx
mov rdx, rax
sub rdx, qword [rdi]
cmp rdx, 0x19
jae 0x1400ca852
cmp rax, qword [rsp + 0x408]
jae 0x1400c9bde
test rax, rax
je 0x1400ca7c8
mov qword [rax], rcx
add rax, 8
jmp 0x1400c9bee
lea rdx, [rsp + 0x1c0]
mov rcx, rdi
call fcn.1400ca8f0
mov qword [rsp + 0x400], rax
lea rcx, str.Product
mov qword [rsp + 0x1c0], rcx
mov rdx, rax
sub rdx, qword [rsp + 0x3f8]
cmp rdx, 0x19
jae 0x1400ca855
cmp rax, qword [rsp + 0x408]
jae 0x1400c9c36
test rax, rax
je 0x1400ca7c8
mov qword [rax], rcx
add rax, 8
jmp 0x1400c9c46
lea rdx, [rsp + 0x1c0]
mov rcx, rdi
call fcn.1400ca8f0
lea rsi, [rsp + 0x418]
mov qword [rsi - 0x18], rax
lea rax, str.SELECT__FROM_Win32_Processor
mov qword [rsi - 8], rax
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], 0
lea rax, str.ProcessorId
lea r12, [rsp + 0x1c0]
mov qword [r12], rax
mov rcx, rsi
mov rdx, r12
call fcn.1400ca8f0
mov qword [rsi + 8], rax
lea rcx, str.Family
mov qword [r12], rcx
mov rdx, rax
sub rdx, qword [rsi]
cmp rdx, 0x19
jae 0x1400ca858
cmp rax, qword [rsp + 0x428]
jae 0x1400c9cc4
test rax, rax
je 0x1400ca7c8
mov qword [rax], rcx
add rax, 8
jmp 0x1400c9cd4
lea rdx, [rsp + 0x1c0]
mov rcx, rsi
call fcn.1400ca8f0
mov qword [rsp + 0x420], rax
lea rcx, str.Architecture
mov qword [rsp + 0x1c0], rcx
mov rdx, rax
sub rdx, qword [rsp + 0x418]
cmp rdx, 0x19
jae 0x1400ca85b
cmp rax, qword [rsp + 0x428]
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x58], r14
jae 0x1400c9d26
test rax, rax
je 0x1400ca7c8
mov qword [rax], rcx
add rax, 8
jmp 0x1400c9d36
lea rdx, [rsp + 0x1c0]
mov rcx, rsi
call fcn.1400ca8f0
mov qword [rsp + 0x420], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xa0], rax
movaps xmmword [rsp + 0x90], xmm6
xor eax, eax
lea rcx, [rsp + 0x180]
mov qword [rcx + 0x10], rax
xorps xmm7, xmm7
movaps xmmword [rcx], xmm7
mov qword [rsp + 0x170], rax
movaps xmmword [rsp + 0x160], xmm7
mov ebp, 0x1fff
xor edi, edi
xor ecx, ecx
jmp 0x1400c9e71
lea r14, [rsp + 0x180]
mov rdi, qword [rsp + 0x50]
mov rax, qword [r15 + 8]
sub rax, qword [r15]
je 0x1400c9e2b
sar rax, 3
cmp rax, 1
adc rax, 0
mov rcx, rdi
cmp rcx, 0xd
jae 0x1400ca485
btr rbp, rcx
inc rcx
dec rax
jne 0x1400c9db3
jmp 0x1400c9e2b
mov rdi, qword [rsp + 0x50]
jmp 0x1400c9e23
mov rcx, qword [rsp + 0x150]
test rcx, rcx
je 0x1400c9dcb
mov qword [rsp + 0x150], 0
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14012d181.0]
mov rcx, qword [rsp + 0x150]
test rcx, rcx
mov rdi, qword [rsp + 0x50]
je 0x1400c9e23
mov qword [rsp + 0x150], 0
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14012d181.0]
test esi, esi
js 0x1400c9d97
mov rcx, qword [rsp + 0x158]
test rcx, rcx
je 0x1400c9e51
mov qword [rsp + 0x158], 0
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14012d181.0]
mov rcx, qword [rsp + 0x68]
jmp 0x1400c9e60
lea r14, [rsp + 0x180]
inc rcx
add rdi, 4
cmp rcx, 3
je 0x1400ca491
mov r14, rcx
shl r14, 5
mov r15, qword [rsp + r14 + 0x3d0]
test r15, r15
je 0x1400c9e58
mov rax, qword [rsp + r14 + 0x3d8]
cmp rax, qword [rsp + r14 + 0x3e0]
je 0x1400c9e58
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x50], rdi
xor ebx, ebx
mov qword [rsp + 0x158], rbx
mov rdi, qword [rsp + 0xb0]
mov ecx, SafeArrayCopy
call fcn.1402dd130
mov rsi, rax
mov qword [rax + 8], rbx
mov dword [rax + 0x10], 1
mov rcx, r15
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rsi], rax
test rax, rax
je 0x1400ca7be
test rsi, rsi
je 0x1400ca7be
mov r13, rax
mov ecx, SafeArrayCopy
call fcn.1402dd130
mov r15, rax
mov qword [rax + 8], 0
mov dword [rax + 0x10], 1
lea rcx, [0x14049a286]
call fcn.1402dcf80
mov qword [r15], rax
test r15, r15
je 0x1400ca7be
lea rbx, [r15 + 0x10]
mov rcx, qword [rdi]
mov r10, qword [rcx + 0xa0]
lea rcx, [rsp + 0x158]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], 0
mov rcx, rdi
mov rdx, rax
mov r8, r13
mov r9d, 0x30
mov rax, r10
call qword [case.0x14012d181.0]
mov edi, eax
lock dec dword [rbx]
jne 0x1400c9f8e
mov rcx, qword [r15]
test rcx, rcx
je 0x1400c9f78
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [r15], 0
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x1400c9f86
call fcn.1402dd1b4
mov rcx, r15
call fcn.1402dd16c
lea rax, [rsi + 0x10]
lock dec dword [rax]
jne 0x1400c9fc2
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400c9fac
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rsi], 0
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x1400c9fba
call fcn.1402dd1b4
mov rcx, rsi
call fcn.1402dd16c
lea r15, [rsp + r14]
add r15, 0x3d8
test edi, edi
js 0x1400c9d8a
mov qword [rsp + 0x150], 0
mov dword [rsp + 0x14c], 0
mov rcx, qword [rsp + 0x158]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
lea rdx, [rsp + 0x14c]
mov qword [rsp + 0x20], rdx
mov edx, 0xffffffff
mov r8d, 1
lea r9, [rsp + 0x150]
call qword [case.0x14012d181.0]
mov esi, eax
test eax, eax
lea rbx, [rsp + 0x160]
lea r14, [rsp + 0x180]
js 0x1400c9dd2
cmp dword [rsp + 0x14c], 0
je 0x1400c9dd2
mov rax, qword [rsp + 0x68]
lea rdi, [rax*4]
jmp 0x1400ca20b
mov sil, 1
jmp 0x1400ca062
xor esi, esi
cmp r14w, 3
sete r14b
test cl, cl
jns 0x1400ca07c
mov rcx, qword [rsp + 0x1c0]
call fcn.1402dd16c
or r14b, sil
lea rbx, [rsp + 0x160]
lea r14, [rsp + 0x180]
jne 0x1400ca0a3
lea rax, [rdi + r13]
cmp rax, 0xd
jae 0x1400ca485
btr rbp, rax
movzx eax, byte [rsp + 0x5f7]
mov ecx, eax
and ecx, 0x7f
test al, al
mov r8, qword [rsp + 0x5e8]
cmovs rcx, r8
test rcx, rcx
jne 0x1400ca111
test al, al
jns 0x1400ca0d9
mov rdx, qword [rsp + 0x5e0]
mov rcx, r12
call fcn.14013b6d0
jmp 0x1400ca124
mov rax, qword [rsp + 0x5f0]
mov qword [rsp + 0x1d0], rax
movaps xmm0, xmmword [rsp + 0x5e0]
movaps xmmword [rsp + 0x1c0], xmm0
jmp 0x1400ca124
mov qword [rsp + 0x168], 1
mov rax, qword [rsp + 0x160]
jmp 0x1400ca17e
mov rcx, r12
mov rdx, rbx
lea r8, [rsp + 0x5e0]
call fcn.14035d810
movzx eax, byte [rsp + 0x1d7]
mov r8d, eax
and r8d, 0x7f
test al, al
cmovs r8, qword [rsp + 0x1c8]
mov rdx, qword [rsp + 0x1c0]
cmovns rdx, r12
mov rcx, r14
call fcn.14013baa0
cmp byte [rsp + 0x1d7], 0
jns 0x1400ca169
mov rcx, qword [rsp + 0x1c0]
call fcn.1402dd16c
cmp byte [rsp + 0x177], 0
js 0x1400ca0fb
mov byte [rsp + 0x177], 1
mov rax, rbx
mov dword [rax], 0x2f
cmp byte [rsp + 0x5f7], 0
jns 0x1400ca19b
mov rcx, qword [rsp + 0x5e0]
call fcn.1402dd16c
lea rcx, [rsp + 0x130]
call sub.OLEAUT32.dll_VariantCopy
inc r13
mov rcx, qword [r15 + 8]
mov rax, qword [r15]
sub rcx, rax
sar rcx, 3
cmp r13, rcx
jb 0x1400ca217
mov rcx, qword [rsp + 0x158]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
lea rdx, [rsp + 0x14c]
mov qword [rsp + 0x20], rdx
mov edx, 0xffffffff
mov r8d, 1
lea r9, [rsp + 0x150]
call qword [case.0x14012d181.0]
mov esi, eax
test eax, eax
js 0x1400c9dd2
cmp dword [rsp + 0x14c], 0
je 0x1400c9dd2
mov rax, qword [r15]
cmp qword [r15 + 8], rax
je 0x1400ca1be
xor r13d, r13d
movaps xmmword [rsp + 0x130], xmm6
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x140], rcx
mov word [rsp + 0x130], 0
mov qword [rsp + 0x610], rcx
movaps xmmword [rsp + 0x600], xmm6
mov rcx, qword [rsp + 0x150]
mov rdx, qword [rax + r13*8]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
movups xmmword [rsp + 0x20], xmm7
xor r8d, r8d
lea rsi, [rsp + 0x600]
mov r9, rsi
call qword [case.0x14012d181.0]
lea rcx, [rsp + 0x130]
mov rdx, rsi
call fcn.1403778f0
movaps xmmword [rsp + 0x5e0], xmm7
mov qword [rsp + 0x5f0], 0
movzx eax, word [rsp + 0x600]
cmp eax, 3
je 0x1400ca2d0
cmp eax, 8
jne 0x1400ca316
mov rcx, qword [rsp + 0x608]
call qword [sym.imp.OLEAUT32.dll_VariantInit]
mov r8d, eax
mov rdx, qword [rsp + 0x608]
mov rcx, r12
call fcn.14032b210
jmp 0x1400ca2df
mov edx, dword [rsp + 0x608]
mov rcx, r12
call fcn.1401454f0
cmp byte [rsp + 0x5f7], 0
jns 0x1400ca2f6
mov rcx, qword [rsp + 0x5e0]
call fcn.1402dd16c
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0x5f0], rax
movups xmm0, xmmword [rsp + 0x1c0]
movaps xmmword [rsp + 0x5e0], xmm0
movzx eax, byte [rsp + 0x5f7]
mov ecx, eax
and ecx, 0x7f
test al, al
mov r8, qword [rsp + 0x5e8]
cmovs rcx, r8
test rcx, rcx
je 0x1400ca091
movzx r14d, word [rsp + 0x600]
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x1d0], rcx
movaps xmmword [rsp + 0x1c0], xmm6
test al, al
js 0x1400ca383
mov rax, qword [rsp + 0x5f0]
mov qword [rsp + 0x1d0], rax
movaps xmm0, xmmword [rsp + 0x5e0]
movaps xmmword [rsp + 0x1c0], xmm0
jmp 0x1400ca393
mov rdx, qword [rsp + 0x5e0]
mov rcx, r12
call fcn.14013b6d0
movzx ecx, byte [rsp + 0x1d7]
mov eax, ecx
and eax, 0x7f
test cl, cl
cmovs rax, qword [rsp + 0x1c8]
lea rcx, [0x14049a28a]
mov qword [rsp + 0x1b0], rcx
mov rcx, qword [rsp + 0x1c0]
cmovns rcx, r12
mov qword [rsp + 0x1b8], 1
mov qword [rsp + 0x1a0], rcx
mov qword [rsp + 0x1a8], rax
test rax, rax
js 0x1400ca7f4
test rcx, rcx
jne 0x1400ca3f9
test rax, rax
jne 0x1400ca820
lea rcx, [rsp + 0x1a0]
lea rdx, [rsp + 0x1b0]
mov r8, r12
call fcn.1401445e0
movzx ecx, byte [rsp + 0x1d7]
test cl, cl
js 0x1400ca424
mov eax, ecx
and eax, 0x7e
jmp 0x1400ca42c
mov rax, qword [rsp + 0x1c8]
cmp rax, 2
jb 0x1400ca060
mov esi, 1
jmp 0x1400ca451
mov rax, qword [rsp + 0x1c8]
inc rsi
cmp rsi, rax
jae 0x1400ca060
mov rcx, r12
mov rdx, rsi
call fcn.140373c00
movzx ebx, word [rax]
mov rcx, r12
xor edx, edx
call fcn.140373c00
mov cl, byte [rsp + 0x1d7]
cmp bx, word [rax]
jne 0x1400ca05b
test cl, cl
js 0x1400ca43d
movzx eax, cl
and eax, 0x7f
jmp 0x1400ca445
lea rcx, str.bitset_set_argument_out_of_range
call fcn.14031dc00
movzx ecx, byte [rsp + 0x197]
mov eax, ecx
and eax, 0x7f
test cl, cl
cmovs rax, qword [rsp + 0x188]
cmovs r14, qword [rsp + 0x180]
mov qword [rsp + 0x1c0], r14
mov qword [rsp + 0x1c8], rax
test rax, rax
js 0x1400ca7f4
test r14, r14
jne 0x1400ca4d9
test rax, rax
jne 0x1400ca820
lea rsi, [rsp + 0x90]
lea rdi, [rsp + 0x1c0]
mov rcx, rsi
mov rdx, rdi
call fcn.140260c50
cmp byte [rsp + 0x177], 0
jns 0x1400ca50b
mov rcx, qword [rsp + 0x160]
call fcn.1402dd16c
cmp byte [rsp + 0x197], 0
jns 0x1400ca522
mov rcx, qword [rsp + 0x180]
call fcn.1402dd16c
movzx ecx, byte [rsp + 0xa7]
mov eax, ecx
and eax, 0x7f
test cl, cl
cmovs rax, qword [rsp + 0x98]
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x1d0], rcx
cmovs rsi, qword [rsp + 0x90]
movaps xmmword [rsp + 0x1c0], xmm6
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x88], rax
test rax, rax
js 0x1400ca7f4
test rsi, rsi
jne 0x1400ca584
test rax, rax
jne 0x1400ca820
lea rdx, [rsp + 0x80]
mov rcx, rdi
call fcn.1401657f0
cmp byte [rsp + 0x1d7], 0
jns 0x1400ca5a6
mov rdi, qword [rsp + 0x1c0]
lea rsi, [rsp + 0x180]
mov r8d, 0x20
mov rcx, rsi
mov rdx, rdi
call fcn.140155440
cmp byte [rsp + 0xa7], 0
jns 0x1400ca5d6
mov rcx, qword [rsp + 0x90]
call fcn.1402dd16c
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0xa0], rax
movups xmm0, xmmword [rsp + 0x180]
movaps xmmword [rsp + 0x90], xmm0
not ebp
and ebp, 0x1fff
lea rdi, [rsp + 0x160]
mov rcx, rdi
mov edx, ebp
call fcn.140154ed0
lea rax, [0x14049a086]
lea rdx, [rsp + 0x70]
mov qword [rdx], rax
mov qword [rdx + 8], 1
lea rbx, [rsp + 0x130]
mov rcx, rbx
call fcn.140260610
movzx r8d, byte [rdi + 0x17]
test r8b, r8b
js 0x1400ca647
and r8d, 0x7f
jmp 0x1400ca657
mov r8, qword [rsp + 0x168]
mov rdi, qword [rsp + 0x160]
mov r14, qword [rsp + 0x60]
lea r15, [rsp + 0xd0]
mov r12, qword [rsp + 0x58]
lea r13, [rsp + 0x3d8]
lea rbp, [rsp + 0x3f8]
mov rcx, rbx
mov rdx, rdi
call fcn.14013ad00
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x190], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x180], xmm0
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
movzx eax, byte [rsp + 0x197]
mov r8d, eax
and r8d, 0x7f
test al, al
cmovs r8, qword [rsp + 0x188]
cmovs rsi, qword [rsp + 0x180]
lea rdi, [rsp + 0x90]
mov rcx, rdi
mov rdx, rsi
call fcn.14013ad00
cmp byte [rsp + 0x197], 0
jns 0x1400ca6f6
mov rcx, qword [rsp + 0x180]
call fcn.1402dd16c
cmp byte [rsp + 0x147], 0
jns 0x1400ca70d
mov rcx, qword [rsp + 0x130]
call fcn.1402dd16c
cmp byte [rsp + 0x177], 0
jns 0x1400ca724
mov rcx, qword [rsp + 0x160]
call fcn.1402dd16c
movzx eax, byte [rsp + 0xa7]
test al, al
js 0x1400ca735
and eax, 0x7f
jmp 0x1400ca73d
mov rax, qword [rsp + 0x98]
xor ecx, ecx
test rax, rax
setne cl
cmove rdi, r15
inc ecx
mov dword [r14 + 0x20], ecx
mov rcx, r12
mov rdx, rdi
call fcn.140220550
cmp byte [rsp + 0x1d7], 0
jns 0x1400ca771
mov rcx, qword [rsp + 0x1c0]
call fcn.1402dd16c
cmp byte [rsp + 0xa7], 0
jns 0x1400ca788
mov rcx, qword [rsp + 0x90]
call fcn.1402dd16c
lea rsi, [rsp + 0x1c0]
lea rax, [rsp + 0x418]
mov qword [rsi], rax
mov rcx, rsi
call fcn.14035cb70
mov qword [rsi], rbp
mov rcx, rsi
call fcn.14035cb70
mov qword [rsi], r13
mov rcx, rsi
call fcn.14035cb70
jmp 0x1400c99b7
mov ecx, 0x8007000e
call fcn.1402dd120
lea rax, str.null_pointer_given_to_construct_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h
lea r9, str.__location___nullptr
mov r8d, 0x28
call fcn.14032ac00
lea rax, str.string_view::string_view__CharT___size_t_:_length_does_not_fit_in_difference_type
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude_string_view
lea r9, str.__len___static_cast_size_type__numeric_limits_difference_type_::max___
mov r8d, 0x13a
call fcn.14032ac00
lea rax, str.string_view::string_view__CharT___size_t_:_received_nullptr
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude_string_view
lea r9, str.__len__0____s___nullptr
mov r8d, 0x13c
call fcn.14032ac00
int3
int3
int3
int3
int3
int3