Function at 0x1800729e0
Capabilities:
Connect to wmi namespace via wbemlocator
Reference wmi statements

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x220
mov rax, qword [0x1802e9b90]
xor rax, rsp
mov qword [rsp + 0x210], rax
mov rsi, rcx
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0xf0], rcx
xor r15d, r15d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
mov ebx, eax
test eax, eax
jns 0x180072b0e
lea rdx, str.Failed_to_initialize_COM_library._Error_code:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.180013d80
mov edx, ebx
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___long_int____ptr64]
lea rdx, [0x180022200]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
movdqa xmm1, xmmword [0x1801e6270]
movdqa xmmword [rsp + 0x70], xmm1
mov byte [rsp + 0x60], r15b
movups xmmword [rsp + 0x80], xmm0
movdqa xmmword [rsp + 0x90], xmm1
mov byte [rsp + 0x80], r15b
movups xmmword [rsp + 0xa0], xmm0
movdqa xmmword [rsp + 0xb0], xmm1
mov byte [rsp + 0xa0], r15b
movups xmmword [rsp + 0xc0], xmm0
movdqa xmmword [rsp + 0xd0], xmm1
mov byte [rsp + 0xc0], r15b
lea rax, [rsp + 0x60]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x50]
mov rcx, rsi
call fcn.18002bee0
nop
lea r9, [fcn.18002e230]
mov edx, 0x40
lea r8d, [rdx - 0x3e]
lea rcx, [rsp + 0x60]
call fcn.180105c44
jmp 0x180073b40
mov qword [rsp + 0x40], r15
mov dword [rsp + 0x38], r15d
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
mov r12, 0xffffffffffffffff
mov edx, r12d
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeSecurity]
mov ebx, eax
test eax, eax
jns 0x180072c10
call qword [sym.imp.ole32.dll_CoUninitialize]
lea rdx, str.Failed_to_initialize_security._Error_code:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.180013d80
mov edx, ebx
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___long_int____ptr64]
lea rdx, [0x180022200]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
movdqa xmm1, xmmword [0x1801e6270]
movdqa xmmword [rsp + 0x70], xmm1
mov byte [rsp + 0x60], r15b
movups xmmword [rsp + 0x80], xmm0
movdqa xmmword [rsp + 0x90], xmm1
mov byte [rsp + 0x80], r15b
movups xmmword [rsp + 0xa0], xmm0
movdqa xmmword [rsp + 0xb0], xmm1
mov byte [rsp + 0xa0], r15b
movups xmmword [rsp + 0xc0], xmm0
movdqa xmmword [rsp + 0xd0], xmm1
mov byte [rsp + 0xc0], r15b
lea rax, [rsp + 0x60]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x50]
mov rcx, rsi
call fcn.18002bee0
nop
jmp 0x180072aef
mov qword [rsp + 0x128], r15
lea rax, [rsp + 0x128]
mov qword [rsp + 0x20], rax
lea r9, [0x1801e4fd0]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x1801e4fe0]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov ebx, eax
test eax, eax
jns 0x180072d0d
call qword [sym.imp.ole32.dll_CoUninitialize]
lea rdx, str.Failed_to_create_IWbemLocator_object._Error_code:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.180013d80
mov edx, ebx
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___long_int____ptr64]
lea rdx, [0x180022200]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
movdqa xmm1, xmmword [0x1801e6270]
movdqa xmmword [rsp + 0x70], xmm1
mov byte [rsp + 0x60], r15b
movups xmmword [rsp + 0x80], xmm0
movdqa xmmword [rsp + 0x90], xmm1
mov byte [rsp + 0x80], r15b
movups xmmword [rsp + 0xa0], xmm0
movdqa xmmword [rsp + 0xb0], xmm1
mov byte [rsp + 0xa0], r15b
movups xmmword [rsp + 0xc0], xmm0
movdqa xmmword [rsp + 0xd0], xmm1
mov byte [rsp + 0xc0], r15b
lea rax, [rsp + 0x60]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x50]
mov rcx, rsi
call fcn.18002bee0
nop
jmp 0x180072aef
mov qword [rsp + 0x120], r15
mov rax, qword [rsp + 0x128]
mov rcx, qword [rax]
mov rdi, qword [rcx + 0x18]
mov ecx, Ordinal_27
call fcn.180105d14
mov rbx, rax
mov qword [rsp + 0x140], rax
test rax, rax
je 0x180072d70
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r15
mov dword [rbx + 0x10], 1
lea rcx, str.ROOTCIMV2
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x180073b70
jmp 0x180072d73
mov rbx, r15
mov qword [rsp + 0x140], rbx
test rbx, rbx
je 0x180073b7b
lea rax, [rsp + 0x120]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rbx]
mov rcx, qword [rsp + 0x128]
call rdi
mov edi, eax
mov ecx, r12d
lock xadd dword [rbx + 0x10], ecx
cmp ecx, 1
jne 0x180072df7
mov rcx, qword [rbx]
test rcx, rcx
je 0x180072dd8
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x180072dea
call fcn.180105d50
mov qword [rbx + 8], r15
mov edx, Ordinal_27
mov rcx, rbx
call fcn.180105d50
test edi, edi
jns 0x180072ed1
mov rcx, qword [rsp + 0x128]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
call qword [sym.imp.ole32.dll_CoUninitialize]
lea rdx, str.Could_not_connect_to_WMI_namespace._Error_code:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.180013d80
mov edx, edi
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___long_int____ptr64]
lea rdx, [0x180022200]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
movdqa xmm1, xmmword [0x1801e6270]
movdqa xmmword [rsp + 0x70], xmm1
mov byte [rsp + 0x60], 0
movups xmmword [rsp + 0x80], xmm0
movdqa xmmword [rsp + 0x90], xmm1
mov byte [rsp + 0x80], 0
movups xmmword [rsp + 0xa0], xmm0
movdqa xmmword [rsp + 0xb0], xmm1
mov byte [rsp + 0xa0], 0
movups xmmword [rsp + 0xc0], xmm0
movdqa xmmword [rsp + 0xd0], xmm1
mov byte [rsp + 0xc0], 0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x50]
mov rcx, rsi
call fcn.18002bee0
nop
jmp 0x180072aef
mov dword [rsp + 0x38], r15d
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0xa]
mov rcx, qword [rsp + 0x120]
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
mov ebx, eax
test eax, eax
jns 0x180072fed
mov rcx, qword [rsp + 0x120]
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_recv]
mov rcx, qword [rsp + 0x128]
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_recv]
call qword [sym.imp.ole32.dll_CoUninitialize]
lea rdx, str.Could_not_set_proxy_blanket._Error_code:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.180013d80
mov edx, ebx
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___long_int____ptr64]
lea rdx, [0x180022200]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
movdqa xmm1, xmmword [0x1801e6270]
movdqa xmmword [rsp + 0x70], xmm1
mov byte [rsp + 0x60], 0
movups xmmword [rsp + 0x80], xmm0
movdqa xmmword [rsp + 0x90], xmm1
mov byte [rsp + 0x80], 0
movups xmmword [rsp + 0xa0], xmm0
movdqa xmmword [rsp + 0xb0], xmm1
mov byte [rsp + 0xa0], 0
movups xmmword [rsp + 0xc0], xmm0
movdqa xmmword [rsp + 0xd0], xmm1
mov byte [rsp + 0xc0], 0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x50]
mov rcx, rsi
call fcn.18002bee0
nop
jmp 0x180072aef
mov qword [rsp + 0x138], r15
mov rax, qword [rsp + 0x120]
mov rcx, qword [rax]
mov rdi, qword [rcx + 0xa0]
lea rdx, str.SELECT__FROM_Win32_DiskDrive
lea rcx, [rsp + 0x140]
call fcn.18002d440
nop
mov rcx, qword [rax]
test rcx, rcx
je 0x180073029
mov rbx, qword [rcx]
jmp 0x18007302c
mov rbx, r15
lea rdx, [0x180147d78]
lea rcx, [rsp + 0x118]
call fcn.18002d440
nop
mov rcx, qword [rax]
test rcx, rcx
je 0x18007304e
mov rdx, qword [rcx]
jmp 0x180073051
mov rdx, r15
lea rax, [rsp + 0x138]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
mov r9d, Ordinal_50
mov r8, rbx
mov rcx, qword [rsp + 0x120]
call rdi
mov ebx, eax
lea rcx, [rsp + 0x118]
call fcn.18006ccd0
nop
lea rcx, [rsp + 0x140]
call fcn.18006ccd0
test ebx, ebx
jns 0x18007317b
mov rcx, qword [rsp + 0x120]
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_recv]
mov rcx, qword [rsp + 0x128]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
call qword [sym.imp.ole32.dll_CoUninitialize]
lea rdx, str.Query_for_Win32_DiskDrive_failed._Error_code:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.180013d80
mov edx, ebx
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___long_int____ptr64]
lea rdx, [0x180022200]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
movdqa xmm1, xmmword [0x1801e6270]
movdqa xmmword [rsp + 0x70], xmm1
mov byte [rsp + 0x60], 0
movups xmmword [rsp + 0x80], xmm0
movdqa xmmword [rsp + 0x90], xmm1
mov byte [rsp + 0x80], 0
movups xmmword [rsp + 0xa0], xmm0
movdqa xmmword [rsp + 0xb0], xmm1
mov byte [rsp + 0xa0], 0
movups xmmword [rsp + 0xc0], xmm0
movdqa xmmword [rsp + 0xd0], xmm1
mov byte [rsp + 0xc0], 0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x50]
mov rcx, rsi
call fcn.18002bee0
nop
jmp 0x180072aef
mov qword [rsp + 0x130], r15
mov dword [rsp + 0x1b0], r15d
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x1b8], xmm1
mov ecx, 0x60
call fcn.180105d14
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rsp + 0x1b8], rax
movabs r13, 0x7fffffffffffffff
mov rcx, qword [rsp + 0x138]
test rcx, rcx
je 0x180073596
mov rax, qword [rcx]
lea rdx, [rsp + 0x1b0]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x130]
mov r8d, 1
mov edx, r12d
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
cmp dword [rsp + 0x1b0], 0
je 0x180073596
mov rcx, qword [rsp + 0x130]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x140]
xor r8d, r8d
lea rdx, str.PnPDeviceID
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
test eax, eax
js 0x180073583
xorps xmm0, xmm0
movups xmmword [rsp + 0x1e8], xmm0
mov qword [rsp + 0x1f8], r15
mov qword [rsp + 0x200], r15
mov rdx, qword [rsp + 0x148]
mov r8, r12
nop
inc r8
cmp word [rdx + r8*2], 0
jne 0x180073260
lea rcx, [rsp + 0x1e8]
call fcn.1800158c0
nop
lea rcx, [rsp + 0x140]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rsp + 0x130]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x140]
xor r8d, r8d
lea rdx, str.SerialNumber
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
test eax, eax
js 0x18007355d
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x180073506
xorps xmm0, xmm0
movups xmmword [rsp + 0x1c8], xmm0
mov qword [rsp + 0x1d8], r15
mov qword [rsp + 0x1e0], r15
mov r8, r12
nop dword [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x1800732f0
lea rcx, [rsp + 0x1c8]
call fcn.1800158c0
nop
lea rdx, [rsp + 0x1c8]
cmp qword [rsp + 0x1e0], 8
setae r8b
cmovae rdx, qword [rsp + 0x1c8]
mov rax, qword [rsp + 0x1d8]
lea r14, [rdx + rax*2]
lea rbx, [rsp + 0x1c8]
test r8b, r8b
cmovne rbx, qword [rsp + 0x1c8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x190], xmm0
mov qword [rsp + 0x1a0], r15
mov qword [rsp + 0x1a8], reloc.WS2_32.dll_ntohs
cmp rbx, r14
jne 0x180073378
mov byte [rsp + 0x190], 0
jmp 0x180073435
mov rdi, r14
sub rdi, rbx
sar rdi, 1
mov rsi, r15
cmp rdi, r13
ja 0x180073b86
cmp rdi, 0x10
jb 0x1800733e0
or rdi, 0xf
cmp rdi, r13
jbe 0x1800733a1
mov rdi, r13
jmp 0x1800733ae
cmp rdi, 0x16
mov eax, reloc.WLDAP32.dll_Ordinal_22
cmovb rdi, rax
mov rdx, rdi
add rdx, 1
cmovb rdx, r12
lea rcx, [rsp + 0x190]
call fcn.180006480
mov qword [rsp + 0x190], rax
mov qword [rsp + 0x1a8], rdi
mov rsi, qword [rsp + 0x1a0]
nop
lea rcx, [rsp + 0x190]
call fcn.180005a00
movzx ecx, byte [rbx]
mov byte [rax + rsi], cl
mov rsi, qword [rsp + 0x1a0]
inc rsi
mov qword [rsp + 0x1a0], rsi
add rbx, 2
cmp rbx, r14
jne 0x1800733e0
lea rax, [rsp + 0x190]
cmp qword [rsp + 0x1a8], 0x10
cmovae rax, qword [rsp + 0x190]
mov byte [rax + rsi], 0
mov rsi, qword [rsp + 0xe8]
lea rcx, [rsp + 0x140]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
lea r8, [rsp + 0x1e8]
lea rdx, [rsp + 0x170]
lea rcx, [rsp + 0x1b8]
call fcn.18001c6b0
mov rcx, qword [rax]
add rcx, 0x40
lea rax, [rsp + 0x190]
cmp rcx, rax
je 0x18007349c
lea rdx, [rsp + 0x190]
cmp qword [rsp + 0x1a8], 0x10
cmovae rdx, qword [rsp + 0x190]
mov r8, qword [rsp + 0x1a0]
call fcn.180006320
nop
mov r8, qword [rsp + 0x1a8]
cmp r8, 0x10
jb 0x1800734c2
inc r8
mov rdx, qword [rsp + 0x190]
lea rcx, [rsp + 0x190]
call fcn.1800064e0
mov qword [rsp + 0x1a0], r15
mov qword [rsp + 0x1a8], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x190], 0
mov r8, qword [rsp + 0x1e0]
cmp r8, 8
jb 0x18007353a
inc r8
mov rdx, qword [rsp + 0x1c8]
lea rcx, [rsp + 0x1c8]
call fcn.180006830
jmp 0x18007353a
lea r8, [rsp + 0x1e8]
lea rdx, [rsp + 0xf8]
lea rcx, [rsp + 0x1b8]
call fcn.18001c6b0
mov rcx, qword [rax]
add rcx, 0x40
xor r8d, r8d
lea rdx, [0x1801e5033]
call fcn.180006320
nop
jmp 0x18007355d
mov r8, qword [rsp + 0x200]
cmp r8, 8
jb 0x180073583
inc r8
mov rdx, qword [rsp + 0x1e8]
lea rcx, [rsp + 0x1e8]
call fcn.180006830
mov rcx, qword [rsp + 0x130]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
jmp 0x1800731c4
mov rcx, qword [rsp + 0x120]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rsp + 0x128]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rsp + 0x138]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
call qword [sym.imp.ole32.dll_CoUninitialize]
xorps xmm0, xmm0
movups xmmword [rsp + 0x160], xmm0
mov qword [rsp + 0x160], r15
mov qword [rsp + 0x168], r15
mov ecx, 0x60
call fcn.180105d14
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rsp + 0x160], rax
mov rbx, qword [rsp + 0x1b8]
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
jne 0x180073a33
nop dword [rax]
lea r12, [rbx + 0x20]
mov rax, qword [r12 + 0x10]
cmp qword [r12 + 0x18], 8
jb 0x18007363e
mov rcx, qword [r12]
mov rsi, rcx
lea r14, [rcx + rax*2]
jmp 0x180073645
lea r14, [r12 + rax*2]
mov rsi, r12
xorps xmm0, xmm0
movups xmmword [rsp + 0x170], xmm0
cmp rsi, r14
jne 0x18007367b
mov r14, r15
mov qword [rsp + 0x180], r15
mov r13d, reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x188], r13
mov byte [rsp + 0x170], 0
jmp 0x18007376f
mov rax, r14
sub rax, rsi
sar rax, 1
mov rdx, r15
mov qword [rsp + 0x180], rdx
mov edi, reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x188], rdi
cmp rax, r13
ja 0x180073b92
cmp rax, 0x10
jb 0x180073700
mov rdi, rax
or rdi, 0xf
cmp rdi, r13
jbe 0x1800736bc
mov rdi, r13
jmp 0x1800736c9
cmp rdi, 0x16
mov eax, reloc.WLDAP32.dll_Ordinal_22
cmovb rdi, rax
mov rdx, rdi
add rdx, 1
mov rax, 0xffffffffffffffff
cmovb rdx, rax
lea rcx, [rsp + 0x170]
call fcn.180006480
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x188], rdi
mov rdx, qword [rsp + 0x180]
lea rcx, [rsp + 0x170]
cmp rdi, 0x10
cmovae rcx, qword [rsp + 0x170]
movzx eax, byte [rsi]
mov byte [rdx + rcx], al
mov rdx, qword [rsp + 0x180]
inc rdx
mov qword [rsp + 0x180], rdx
add rsi, 2
cmp rsi, r14
je 0x180073741
mov rdi, qword [rsp + 0x188]
jmp 0x180073700
lea rax, [rsp + 0x170]
cmp qword [rsp + 0x188], 0x10
cmovae rax, qword [rsp + 0x170]
mov byte [rdx + rax], 0
mov r13, qword [rsp + 0x188]
mov r14, qword [rsp + 0x180]
add r12, 0x20
mov qword [rsp + 0xf0], r12
mov rsi, qword [rsp + 0x160]
mov qword [rsp + 0xe0], rsi
mov rdi, qword [rsi + 8]
mov qword [rsp + 0xf8], rdi
mov dword [rsp + 0x100], r15d
mov r12, qword [rsp + 0x170]
cmp byte [rdi + 0x19], 0
jne 0x18007383e
mov qword [rsp + 0xf8], rdi
lea rcx, [rdi + 0x20]
lea rdx, [rsp + 0x170]
cmp r13, 0x10
cmovae rdx, r12
mov rsi, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0x10
jb 0x1800737db
mov rcx, qword [rcx]
mov r8, rsi
cmp r14, rsi
cmovb r8, r14
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1800737f4
jns 0x1800737ff
mov al, 0xff
jmp 0x180073801
cmp rsi, r14
jae 0x1800737fd
mov al, 0xff
jmp 0x180073801
jbe 0x18007381b
mov al, 1
test al, al
jns 0x18007381b
mov dword [rsp + 0x100], r15d
mov rdi, qword [rdi + 0x10]
mov rsi, qword [rsp + 0xe0]
jmp 0x180073834
mov dword [rsp + 0x100], 1
mov rsi, rdi
mov qword [rsp + 0xe0], rdi
mov rdi, qword [rdi]
cmp byte [rdi + 0x19], 0
je 0x1800737b1
cmp byte [rsi + 0x19], 0
jne 0x180073898
lea rdx, [rsi + 0x20]
mov rdi, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x180073856
mov rdx, qword [rdx]
lea rcx, [rsp + 0x170]
cmp r13, 0x10
cmovae rcx, r12
mov r8, r14
cmp rdi, r14
cmovb r8, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x18007387f
jns 0x18007388e
mov al, 0xff
jmp 0x180073890
cmp r14, rdi
jae 0x180073888
mov al, 0xff
jmp 0x180073890
jbe 0x180073955
mov al, 1
test al, al
jns 0x180073955
movabs rax, 0x2aaaaaaaaaaaaaa
cmp qword [rsp + 0x168], rax
je 0x180073b8c
mov r14, qword [rsp + 0x160]
lea rax, [rsp + 0x160]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], r15
mov ecx, 0x60
call fcn.180105d14
mov rsi, rax
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x170]
lea rcx, [rax + 0x20]
call fcn.180005bf0
xorps xmm0, xmm0
movups xmmword [rsi + 0x40], xmm0
mov qword [rsi + 0x50], r15
mov qword [rsi + 0x58], reloc.WS2_32.dll_ntohs
mov byte [rsi + 0x40], 0
mov qword [rsi], r14
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], r14
mov word [rsi + 0x18], 0
mov qword [rsp + 0x58], r15
movups xmm0, xmmword [rsp + 0xf8]
movaps xmmword [rsp + 0x140], xmm0
mov r8, rsi
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0x160]
call fcn.18000f470
mov rsi, rax
mov r13, qword [rsp + 0x188]
mov r12, qword [rsp + 0x170]
lea rcx, [rsi + 0x40]
mov rax, qword [rsp + 0xf0]
cmp rcx, rax
je 0x18007398c
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x180073974
mov rax, qword [rax]
mov rdx, rax
call fcn.180006320
mov r13, qword [rsp + 0x188]
mov r12, qword [rsp + 0x170]
cmp r13, 0x10
jb 0x1800739c0
lea rdx, [r13 + 1]
mov rax, r12
cmp rdx, 0x1000
jb 0x1800739b8
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180073a24
mov rcx, r12
call fcn.180105d50
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
je 0x1800739ec
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x1800739e7
cmp rbx, qword [rax + 0x10]
jne 0x1800739e7
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1800739d4
mov rbx, rax
jmp 0x180073a0f
mov rbx, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x180073a0f
nop dword [rax + rax]
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x180073a00
cmp byte [rbx + 0x19], 0
jne 0x180073a2b
movabs r13, 0x7fffffffffffffff
jmp 0x180073620
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rsi, qword [rsp + 0xe8]
mov qword [rsi], r15
mov qword [rsi + 8], r15
mov ecx, 0x60
call fcn.180105d14
mov r8, rax
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov rax, qword [rsp + 0x160]
mov qword [rsi], rax
mov qword [rsp + 0x160], r8
mov rcx, qword [rsi + 8]
mov rax, qword [rsp + 0x168]
mov qword [rsi + 8], rax
mov qword [rsp + 0x168], rcx
mov rdi, qword [r8 + 8]
cmp byte [rdi + 0x19], 0
jne 0x180073ad3
nop dword [rax]
mov r8, qword [rdi + 0x10]
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x160]
call fcn.180016ad0
mov rbx, rdi
mov rdi, qword [rdi]
lea rcx, [rbx + 0x20]
call fcn.18002e230
mov edx, 0x60
mov rcx, rbx
call fcn.180105d50
cmp byte [rdi + 0x19], 0
je 0x180073a90
mov r8, qword [rsp + 0x160]
mov edx, 0x60
mov rcx, r8
call fcn.180105d50
nop
mov rcx, qword [rsp + 0x1b8]
mov rdi, qword [rcx + 8]
cmp byte [rdi + 0x19], 0
jne 0x180073b36
mov r8, qword [rdi + 0x10]
lea rdx, [rsp + 0x1b8]
lea rcx, [rsp + 0x1b8]
call fcn.180016b90
mov rbx, rdi
mov rdi, qword [rdi]
lea rcx, [rbx + 0x20]
call fcn.18002e370
mov edx, 0x60
mov rcx, rbx
call fcn.180105d50
cmp byte [rdi + 0x19], 0
je 0x180073af3
mov rcx, qword [rsp + 0x1b8]
mov edx, 0x60
call fcn.180105d50
mov rax, rsi
mov rcx, qword [rsp + 0x210]
xor rcx, rsp
call fcn.180106370
lea r11, [rsp + 0x220]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov ecx, 0x8007000e
call fcn.1801071d0
nop
mov ecx, 0x8007000e
call fcn.1801071d0
nop
call fcn.180001ef0
nop
call fcn.180002170
nop
call fcn.180001ef0
int3