Function at 0x180109a20
Capabilities:
Connect to wmi namespace via wbemlocator
Enumerate processes via ntquerysysteminformation
Get disk information
Get disk size
Get local ipv4 addresses
Get logon sessions
Get memory capacity
Get system information on windows
List groups for user account
List user accounts
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa18
movdqa xmmword [rsp + 0xa00], xmm8
movaps xmmword [rsp + 0x9f0], xmm7
movaps xmmword [rsp + 0x9e0], xmm6
mov rsi, rdx
mov r14, rcx
mov eax, dword [0x180221a34]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0xa8], 0
jne 0x180109a75
call fcn.1801095d0
mov qword [rsp + 0x58], rsi
mov eax, dword [0x180221a34]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movups xmm6, xmmword [rax + 0xb0]
inc qword [rax + 0xb0]
movzx eax, byte [0x180221a30]
mov rcx, qword [0x1802219b8]
test rcx, rcx
jne 0x180109ac7
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18010e09a
mov rcx, rax
mov qword [0x1802219b8], rax
mov r8d, 0x56410
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18010e09a
mov rsi, rax
add rsi, 0x56000
mov r8d, 0x410
mov rcx, rsi
mov dl, 0xff
call fcn.180182690
movzx eax, byte [0x180221a30]
mov rcx, qword [0x1802219b8]
test rcx, rcx
jne 0x180109b24
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18010e0a6
mov rcx, rax
mov qword [0x1802219b8], rax
mov r8d, 9
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18010e0a6
mov rdi, rax
movabs rax, 0x5043206c61746f54
mov qword [rdi], rax
mov byte [rdi + 8], 0x55
movzx eax, byte [0x180221a30]
mov rcx, qword [0x1802219b8]
test rcx, rcx
jne 0x180109b7b
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18010e0b7
mov rcx, rax
mov qword [0x1802219b8], rax
mov r8d, 0x120
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18010e0b7
mov rbx, rax
mov eax, dword [0x180221a34]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0xa8], 0
jne 0x180109bb7
call fcn.1801095d0
mov eax, dword [0x180221a34]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movdqu xmm7, xmmword [rax + 0xb0]
inc qword [rax + 0xb0]
movabs r15, 0x19db1ded53e7fff
mov qword [rsp + 0x490], 0
mov rax, qword [0x180220030]
lea rcx, [rsp + 0x490]
call rax
mov rax, qword [rsp + 0x490]
cmp rax, r15
mov qword [rsp + 0x488], r14
jle 0x180109c5b
movabs rcx, 0xfe624e212ac18000
add rax, rcx
movabs rcx, 0xd6bf94d5e57a42bd
mul rcx
mov r14, rdx
shr r14, 0x17
call sub.kernel32.dll_GetTickCount64
shr rax, 3
movabs rcx, 0x20c49ba5e353f7cf
mul rcx
shr rdx, 4
xor eax, eax
sub r14, rdx
cmovae rax, r14
jmp 0x180109c5d
xor eax, eax
mov qword [rsp + 0x308], rsi
mov qword [rsp + 0x310], 0x3ff
mov qword [rsp + 0x318], 0x380
mov qword [rsp + 0x320], 0
movups xmmword [rsp + 0x328], xmm6
xorps xmm6, xmm6
movups xmmword [rsp + 0x368], xmm6
movups xmmword [rsp + 0x378], xmm6
mov qword [rsp + 0x3d8], rdi
mov qword [rsp + 0x3e0], 9
mov qword [rsp + 0x3e8], 9
mov qword [rsp + 0x3f0], 1
movups xmmword [rsp + 0x3f8], xmm6
mov qword [rsp + 0x408], 1
movups xmmword [rsp + 0x410], xmm6
mov qword [rsp + 0x420], 0
mov qword [rsp + 0x438], 0
mov dword [rsp + 0x440], 0
mov qword [rsp + 0x448], 8
movups xmmword [rsp + 0x450], xmm6
mov byte [rsp + 0x460], 0
mov qword [rsp + 0x390], 8
movups xmmword [rsp + 0x398], xmm6
mov qword [rsp + 0x3a8], rbx
mov qword [rsp + 0x3b0], 2
mov qword [rsp + 0x3b8], 0
mov qword [rsp + 0x2c8], 0
lea rcx, [0x18020ac70]
mov qword [rsp + 0x338], rcx
movups xmmword [rsp + 0x340], xmm6
mov qword [rsp + 0x350], 0
movdqu xmmword [rsp + 0x358], xmm7
mov qword [rsp + 0x388], rax
mov qword [rsp + 0x3c0], 8
movups xmmword [rsp + 0x3c8], xmm6
mov rsi, qword [rsp + 0x58]
cmp byte [rsi + 4], 0
je 0x180109ec3
movaps xmmword [rsp + 0x1f0], xmm6
movaps xmmword [rsp + 0x220], xmm6
movaps xmmword [rsp + 0x210], xmm6
movaps xmmword [rsp + 0x200], xmm6
mov dword [rsp + 0x1f0], 0x40
lea rcx, [rsp + 0x1f0]
call sub.kernel32.dll_GlobalMemoryStatusEx
movdqu xmm0, xmmword [rsp + 0x1f8]
movdqu xmmword [rsp + 0x368], xmm0
movaps xmmword [rsp + 0x4e0], xmm6
movaps xmmword [rsp + 0x4d0], xmm6
movaps xmmword [rsp + 0x4c0], xmm6
movaps xmmword [rsp + 0x4b0], xmm6
movaps xmmword [rsp + 0x4a0], xmm6
movaps xmmword [rsp + 0x490], xmm6
mov qword [rsp + 0x4f0], 0
lea rcx, [rsp + 0x490]
mov edx, 0x68
call sub.psapi.dll_GetPerformanceInfo
cmp eax, 1
jne 0x180109ec3
mov r8, qword [rsp + 0x4a0]
mov r9, qword [rsp + 0x4b0]
xor r10d, r10d
sub r8, r9
cmovb r8, r10
mov rcx, qword [rsp + 0x4e0]
mov rax, rcx
mul r8
mov r8, rax
mov r11, 0xffffffffffffffff
cmovo r8, r11
mov rsi, qword [rsp + 0x498]
sub rsi, r9
cmovb rsi, r10
mov rax, rcx
mul rsi
mov rsi, qword [rsp + 0x58]
cmovo rax, r11
mov qword [rsp + 0x378], r8
mov qword [rsp + 0x380], rax
cmp byte [rsi + 0xb], 2
je 0x18010a041
movzx ebp, byte [rsi + 0xc]
cmp qword [rsp + 0x2c8], 0
jne 0x180109f59
mov qword [rsp + 0x1f0], 0
lea r8, [rsp + 0x1f0]
xor ecx, ecx
xor edx, edx
call sub.pdh.dll_PdhOpenQueryA
test eax, eax
mov byte [rsp + 0x50], bpl
je 0x18010a4db
mov qword [rsp + 0x2c8], 0
movdqu xmm0, xmmword [rsp + 0x490]
movdqu xmmword [rsp + 0x2d0], xmm0
mov rax, qword [rsp + 0x4a0]
mov qword [rsp + 0x2e0], rax
mov qword [rsp + 0x300], 0
cmp qword [rsp + 0x2c8], 0
mov rsi, qword [rsp + 0x58]
movzx ebp, byte [rsp + 0x50]
je 0x18010a041
mov rcx, qword [rsp + 0x2f8]
call sub.pdh.dll_PdhCollectQueryData
mov rdx, qword [rsp + 0x420]
test rdx, rdx
je 0x180109fa5
mov r8, qword [rsp + 0x430]
lea rcx, [rsp + 0x2c8]
call fcn.180115ad0
test eax, eax
je 0x18010e07e
movss xmm1, dword [0x180191294]
subss xmm1, xmm0
movss dword [rsp + 0x440], xmm1
mov edx, ebp
and dl, 1
lea rcx, [rsp + 0x3d8]
call fcn.180110680
mov rax, qword [rsp + 0x458]
test rax, rax
je 0x18010a028
mov rdi, qword [rsp + 0x448]
imul rbx, rax, 0x70
xor r14d, r14d
lea rsi, [rsp + 0x2c8]
movss xmm6, dword [0x180191294]
jmp 0x180109ff9
add r14, 0x70
cmp rbx, r14
je 0x18010a028
mov rdx, qword [rdi + r14 + 0x48]
test rdx, rdx
je 0x180109ff0
mov r8, qword [rdi + r14 + 0x58]
mov rcx, rsi
call fcn.180115ad0
test eax, eax
je 0x18010e07e
movaps xmm1, xmm6
subss xmm1, xmm0
movss dword [rdi + r14 + 0x68], xmm1
jmp 0x180109ff0
test bpl, 1
mov rsi, qword [rsp + 0x58]
je 0x18010a041
cmp byte [rsp + 0x460], 0
je 0x18010a3e9
cmp byte [rsi + 6], 0
je 0x18010a6d3
xor ecx, ecx
xor edx, edx
call qword [sym.imp.ole32.dll_CoInitializeEx]
mov esi, eax
cmp eax, 2
setb bl
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 0
xor ecx, ecx
mov edx, 0xffffffff
xor r8d, r8d
xor r9d, r9d
call sub.ole32.dll_CoInitializeSecurity
test eax, eax
js 0x18010a309
mov qword [rsp + 0x90], 0
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
lea rcx, [0x18020a5c8]
lea r9, [0x18020a5ac]
xor edx, edx
mov r8d, 1
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x18010a309
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x1f0], 1
mov qword [rsp + 0x1f8], rax
mov qword [rsp + 0x200], 0
mov qword [rsp + 0x210], 0
mov byte [rsp + 0x220], bl
lea rcx, [rsp + 0x150]
lea rdx, [rsp + 0x1f0]
call fcn.180109160
mov r14, qword [rsp + 0x150]
cmp r14, 2
je 0x18010a314
mov rsi, qword [rsp + 0x158]
mov r15, qword [rsp + 0x160]
mov rdi, qword [rsp + 0x168]
mov r12, qword [rsp + 0x170]
mov rbx, qword [rsp + 0x178]
movzx ebp, byte [rsp + 0x180]
test r15, r15
je 0x18010a494
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 3
mov rcx, rdi
mov edx, 0xa
xor r8d, r8d
xor r9d, r9d
call sub.ole32.dll_CoSetProxyBlanket
test eax, eax
js 0x18010a494
lea rax, [rsp + 0x181]
mov ecx, dword [rax]
mov eax, dword [rax + 3]
mov dword [rsp + 0x4c4], eax
mov dword [rsp + 0x4c1], ecx
mov qword [rsp + 0x490], r14
mov qword [rsp + 0x498], rsi
mov qword [rsp + 0x4a0], r15
mov qword [rsp + 0x4a8], rdi
mov qword [rsp + 0x4b0], r12
mov qword [rsp + 0x4b8], rbx
mov byte [rsp + 0x4c0], bpl
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x490]
call fcn.1801092a0
mov rax, qword [rsp + 0xb0]
cmp rax, 2
je 0x18010a314
movups xmm0, xmmword [rsp + 0xb8]
movups xmm1, xmmword [rsp + 0xc8]
movdqu xmm2, xmmword [rsp + 0xd8]
movdqu xmmword [rsp + 0x138], xmm2
movups xmmword [rsp + 0x128], xmm1
movups xmmword [rsp + 0x118], xmm0
mov qword [rsp + 0x110], rax
lea rcx, [rsp + 0x150]
lea rdx, [rsp + 0x110]
mov r8b, 1
call fcn.1801093f0
mov r12, qword [rsp + 0x110]
mov r15, qword [rsp + 0x118]
mov r13, qword [rsp + 0x120]
mov rbx, qword [rsp + 0x128]
mov rdi, qword [rsp + 0x130]
mov r14, qword [rsp + 0x138]
movzx esi, byte [rsp + 0x140]
mov ebp, dword [rsp + 0x154]
cmp ebp, 2
jne 0x18010ade8
test rdi, rdi
je 0x18010a2dc
test r14, r14
je 0x18010a2dc
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x10]
test r13, r13
je 0x18010a2ef
test rbx, rbx
je 0x18010a2ef
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
test r12, r12
je 0x18010a302
test r15, r15
je 0x18010a302
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x10]
test sil, sil
jne 0x18010a30e
jmp 0x18010a314
cmp esi, 2
jae 0x18010a314
call qword [sym.imp.ole32.dll_CoUninitialize]
mov esi, 8
xor ebx, ebx
mov rdi, qword [rsp + 0x390]
mov r14, qword [rsp + 0x3a0]
test r14, r14
je 0x18010aefb
mov r15, qword [sym.imp.ole32.dll_CoUninitialize]
mov r12, qword [sym.imp.kernel32.dll_HeapFree]
mov r13, rdi
jmp 0x18010a35d
add r13, 0x60
dec r14
je 0x18010aefb
cmp qword [r13 + 0x48], 0
je 0x18010a374
mov r8, qword [r13 + 0x40]
mov rcx, qword [0x1802219b8]
xor edx, edx
call r12
mov rbp, qword [r13]
cmp rbp, 2
je 0x18010a350
mov rcx, qword [r13 + 0x28]
cmp qword [r13 + 0x20], 0
mov qword [r13 + 0x20], 0
je 0x18010a39c
test rcx, rcx
je 0x18010a39c
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [r13 + 0x18]
cmp qword [r13 + 0x10], 0
mov qword [r13 + 0x10], 0
je 0x18010a3ba
test rcx, rcx
je 0x18010a3ba
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [r13 + 8]
mov qword [r13], 0
test rbp, rbp
je 0x18010a3d6
test rcx, rcx
je 0x18010a3d6
mov rax, qword [rcx]
call qword [rax + 0x10]
cmp byte [r13 + 0x30], 0
je 0x18010a350
call r15
jmp 0x18010a350
mov rsi, qword [rsp + 0x458]
lea rcx, [rsp + 0x490]
mov rdx, rsi
call fcn.180114f80
mov rdi, qword [rsp + 0x448]
mov r8, qword [rsp + 0x490]
mov rax, qword [rsp + 0x498]
test rsi, rsi
je 0x18010a46e
mov rcx, qword [rsp + 0x4a0]
test rcx, rcx
je 0x18010a46e
lea rcx, [rcx*8 - 8]
imul rdx, rsi, 0x70
add rdx, 0xffffffffffffff90
xor r9d, r9d
xor r10d, r10d
nop word cs:[rax + rax]
mov r11, qword [r8 + r10]
mov qword [rdi + r9 + 0x60], r11
cmp rdx, r9
je 0x18010a46e
lea r11, [r10 + 8]
add r9, 0x70
cmp rcx, r10
mov r10, r11
jne 0x18010a450
test rax, rax
je 0x18010a482
mov rcx, qword [0x1802219b8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
test rsi, rsi
je 0x18010a6b2
mov rax, qword [rdi + 0x60]
jmp 0x18010a6b4
test r12, r12
je 0x18010a4a7
test rbx, rbx
je 0x18010a4a7
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
test r15, r15
je 0x18010a4ba
test rdi, rdi
je 0x18010a4ba
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
test r14, r14
je 0x18010a4cd
test rsi, rsi
je 0x18010a4cd
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x10]
test bpl, bpl
jne 0x18010a30e
jmp 0x18010a314
mov esi, eax
mov r13, qword [rsp + 0x1f0]
mov eax, dword [0x180221a34]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0xa8], 0
jne 0x18010a507
call fcn.1801095d0
mov eax, dword [0x180221a34]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movups xmm6, xmmword [rax + 0xb0]
inc qword [rax + 0xb0]
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x490], xmm0
mov qword [rsp + 0x4a0], 0
mov rdi, qword [rsp + 0x2c8]
test rdi, rdi
je 0x18010ab3c
mov rbx, qword [rsp + 0x2e0]
test rbx, rbx
je 0x18010a5d9
lea r14, [rdi + 0x10]
movdqa xmm0, xmmword [rdi]
pmovmskb eax, xmm0
not eax
mov r15, rdi
mov r12, rbx
jmp 0x18010a5a3
lea ebp, [rax - 1]
and ebp, eax
tzcnt eax, eax
shl rax, 5
mov rcx, r15
sub rcx, rax
mov rcx, qword [rcx - 8]
call sub.pdh.dll_PdhRemoveCounter
mov eax, ebp
dec r12
je 0x18010a5d9
test ax, ax
jne 0x18010a580
nop dword [rax + rax]
movdqa xmm0, xmmword [r14]
pmovmskb eax, xmm0
add r15, 0xfffffffffffffe00
add r14, 0x10
cmp ax, 0xffff
je 0x18010a5b0
mov ecx, 0xfffffffe
sub ecx, eax
not eax
mov ebp, eax
and ebp, ecx
jmp 0x18010a585
mov rcx, qword [rsp + 0x300]
test rcx, rcx
je 0x18010a5ec
call qword [sym.imp.kernel32.dll_CloseHandle]
mov rcx, qword [rsp + 0x2f8]
test rcx, rcx
je 0x18010a5fe
call sub.pdh.dll_PdhCloseQuery
mov r14, qword [rsp + 0x2d0]
test r14, r14
je 0x18010aae5
mov qword [rsp + 0x60], r13
test rbx, rbx
je 0x18010aab7
movdqa xmm0, xmmword [rdi]
pmovmskb eax, xmm0
not eax
lea r12, [rdi + 0x10]
mov r13, qword [sym.imp.kernel32.dll_HeapFree]
mov r15, rdi
jmp 0x18010a64b
mov eax, ebp
test rbx, rbx
je 0x18010aab7
test ax, ax
je 0x18010a660
lea ebp, [rax - 1]
and ebp, eax
jmp 0x18010a688
movdqa xmm0, xmmword [r12]
pmovmskb eax, xmm0
add r15, 0xfffffffffffffe00
add r12, 0x10
cmp ax, 0xffff
je 0x18010a660
mov ecx, 0xfffffffe
sub ecx, eax
not eax
mov ebp, eax
and ebp, ecx
tzcnt ecx, eax
shl rcx, 5
mov rax, r15
sub rax, rcx
dec rbx
cmp qword [rax - 0x18], 0
je 0x18010a640
mov r8, qword [rax - 0x20]
mov rcx, qword [0x1802219b8]
xor edx, edx
call r13
jmp 0x18010a640
xor eax, eax
mov rsi, qword [rsp + 0x58]
mov qword [rsp + 0x438], rax
mov byte [rsp + 0x460], 1
cmp byte [rsi + 6], 0
jne 0x18010a04b
cmp byte [rsi + 5], 0
je 0x18010af30
mov rax, qword [rsp + 0x3a0]
test rax, rax
je 0x18010af30
mov rsi, qword [rsp + 0x390]
shl rax, 5
lea r12, [rax + rax*2]
jmp 0x18010a70e
add rsi, 0x60
add r12, 0xffffffffffffffa0
je 0x18010af30
mov r15, qword [rsi]
cmp r15, 2
jne 0x18010a820
xor ecx, ecx
xor edx, edx
call qword [sym.imp.ole32.dll_CoInitializeEx]
mov edi, eax
cmp eax, 2
setb bl
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 0
xor ecx, ecx
mov edx, 0xffffffff
xor r8d, r8d
xor r9d, r9d
call sub.ole32.dll_CoInitializeSecurity
test eax, eax
js 0x18010a860
mov qword [rsp + 0x490], 0
lea r14, [rsp + 0x490]
mov qword [rsp + 0x20], r14
lea rcx, [0x18020a5c8]
xor edx, edx
mov r8d, 1
lea r9, [0x18020a5ac]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x18010a860
mov rax, qword [rsp + 0x490]
mov qword [rsp + 0x490], 1
mov qword [rsp + 0x498], rax
mov qword [rsp + 0x4a0], 0
mov qword [rsp + 0x4b0], 0
mov byte [rsp + 0x4c0], bl
lea rcx, [rsp + 0x150]
mov rdx, r14
call fcn.180109160
mov r15, qword [rsp + 0x150]
cmp r15, 2
jne 0x18010a9b4
mov r15d, 2
jmp 0x18010a871
mov rcx, qword [rsi + 8]
mov rbp, qword [rsi + 0x10]
mov r14, qword [rsi + 0x18]
mov r13, qword [rsi + 0x20]
mov rdi, qword [rsi + 0x28]
movzx ebx, byte [rsi + 0x30]
mov eax, dword [rsi + 0x31]
mov edx, dword [rsi + 0x34]
mov dword [rsp + 0xb3], edx
mov dword [rsp + 0xb0], eax
mov qword [rsi], 2
jmp 0x18010a8d0
mov r15d, 2
cmp edi, 1
ja 0x18010a871
call qword [sym.imp.ole32.dll_CoUninitialize]
mov qword [rsi], r15
mov qword [rsi + 8], rcx
mov qword [rsi + 0x10], rbp
mov qword [rsi + 0x18], r14
mov qword [rsi + 0x20], r13
mov qword [rsi + 0x28], rdi
mov byte [rsi + 0x30], bl
mov eax, dword [rsp + 0xb0]
mov edx, dword [rsp + 0xb3]
mov dword [rsi + 0x31], eax
mov dword [rsi + 0x34], edx
mov eax, dword [rsi + 0x31]
mov edx, dword [rsi + 0x34]
mov dword [rsp + 0xb3], edx
mov dword [rsp + 0xb0], eax
cmp r15, 2
jne 0x18010a8d0
mov qword [rsp + 0x150], 2
jmp 0x18010a937
mov qword [rsp + 0x1f0], r15
mov qword [rsp + 0x1f8], rcx
mov qword [rsp + 0x200], rbp
mov qword [rsp + 0x208], r14
mov qword [rsp + 0x210], r13
mov qword [rsp + 0x218], rdi
mov byte [rsp + 0x220], bl
mov eax, dword [rsp + 0xb0]
mov ecx, dword [rsp + 0xb3]
lea rdx, [rsp + 0x221]
mov dword [rdx + 3], ecx
mov dword [rdx], eax
lea rcx, [rsp + 0x150]
lea rdx, [rsp + 0x1f0]
call fcn.1801092a0
mov rax, qword [rsp + 0x180]
mov qword [rsi + 0x30], rax
movups xmm0, xmmword [rsp + 0x150]
movups xmm1, xmmword [rsp + 0x160]
movdqu xmm2, xmmword [rsp + 0x170]
movdqu xmmword [rsi + 0x20], xmm2
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
cmp dword [rsi], 2
je 0x18010a700
lea rcx, [rsp + 0x150]
mov rdx, rsi
xor r8d, r8d
call fcn.1801093f0
cmp dword [rsp + 0x154], 2
je 0x18010a700
movss xmm0, dword [rsp + 0x150]
movss dword [rsi + 0x58], xmm0
ucomiss xmm0, dword [rsi + 0x5c]
jbe 0x18010a700
movss dword [rsi + 0x5c], xmm0
jmp 0x18010a700
mov rcx, qword [rsp + 0x158]
mov rbp, qword [rsp + 0x160]
mov r14, qword [rsp + 0x168]
mov r13, qword [rsp + 0x170]
mov rdi, qword [rsp + 0x178]
movzx ebx, byte [rsp + 0x180]
test rbp, rbp
mov qword [rsp + 0x50], rcx
je 0x18010aa4b
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 3
mov rcx, r14
mov edx, 0xa
xor r8d, r8d
xor r9d, r9d
call sub.ole32.dll_CoSetProxyBlanket
mov rcx, qword [rsp + 0x50]
test eax, eax
js 0x18010aa4b
lea rdx, [rsp + 0x181]
mov eax, dword [rdx]
mov edx, dword [rdx + 3]
mov dword [rsp + 0xb3], edx
mov dword [rsp + 0xb0], eax
jmp 0x18010a871
test r13, r13
je 0x18010aa63
test rdi, rdi
je 0x18010aa63
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x50]
test rbp, rbp
je 0x18010aa7b
test r14, r14
je 0x18010aa7b
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x50]
test r15, r15
je 0x18010aa90
test rcx, rcx
je 0x18010aa90
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x50]
test bl, bl
je 0x18010aaaa
call qword [sym.imp.ole32.dll_CoUninitialize]
mov rcx, qword [rsp + 0x50]
mov r15d, 2
jmp 0x18010a871
xor ebx, ebx
mov r15d, 2
jmp 0x18010a871
mov rax, r14
shl rax, 5
add r14, rax
cmp r14, 0xffffffffffffffcf
mov r13, qword [rsp + 0x60]
je 0x18010aae5
sub rdi, rax
add rdi, 0xffffffffffffffe0
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
lea rax, [0x18020ac70]
mov qword [rsp + 0x2c8], rax
mov rax, qword [rsp + 0x4a0]
mov qword [rsp + 0x2e0], rax
movdqa xmm0, xmmword [rsp + 0x490]
movdqu xmmword [rsp + 0x2d0], xmm0
movups xmmword [rsp + 0x2e8], xmm6
mov qword [rsp + 0x2f8], r13
mov qword [rsp + 0x300], 0
test esi, esi
jne 0x180109f40
jmp 0x18010ab89
lea rax, [0x18020ac70]
mov qword [rsp + 0x2c8], rax
movdqa xmm0, xmmword [rsp + 0x490]
movdqu xmmword [rsp + 0x2d0], xmm0
mov rax, qword [rsp + 0x4a0]
mov qword [rsp + 0x2e0], rax
movups xmmword [rsp + 0x2e8], xmm6
mov qword [rsp + 0x2f8], r13
mov qword [rsp + 0x300], 0
movzx eax, byte [0x180221a30]
mov rcx, qword [0x1802219b8]
test rcx, rcx
je 0x18010aba3
movzx ebx, byte [rsp + 0x50]
jmp 0x18010abc1
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
movzx ebx, byte [rsp + 0x50]
je 0x18010e128
mov rcx, rax
mov qword [0x1802219b8], rax
mov r8d, 0x1e
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18010e128
movups xmm0, xmmword [0x1801e701c]
movups xmmword [rax + 0xe], xmm0
movdqu xmm0, xmmword [0x1801e700e]
movdqu xmmword [rax], xmm0
mov qword [rsp + 0x1f0], rax
mov qword [rsp + 0x1f8], 0x1e
mov qword [rsp + 0x200], 0x1e
movzx eax, byte [0x180221a30]
mov rcx, qword [0x1802219b8]
test rcx, rcx
jne 0x18010ac3b
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18010e139
mov rcx, rax
mov qword [0x1802219b8], rax
mov r8d, 5
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18010e139
and bl, 1
lea r8, [rsp + 0x420]
mov byte [rax + 4], 0x30
mov dword [rax], 0x5f746f74
mov qword [rsp + 0x490], rax
mov qword [rsp + 0x498], 5
mov qword [rsp + 0x4a0], 5
lea rsi, [rsp + 0x1f0]
lea rdx, [rsp + 0x2c8]
lea r9, [rsp + 0x490]
mov rcx, rsi
call fcn.180115260
lea rcx, [rsp + 0x3d8]
mov edx, ebx
call fcn.180110680
mov rax, qword [rsp + 0x458]
test rax, rax
je 0x180109f40
mov rdi, qword [rsp + 0x448]
add rdi, 0x48
imul r12, rax, 0x70
xor r13d, r13d
lea rbp, [rsp + 0x110]
lea r15, [0x18002b950]
lea rbx, [rsp + 0x150]
lea r14, [rsp + 0x490]
nop dword [rax]
mov qword [rsp + 0x110], r13
inc r13
mov qword [rsp + 0x1f0], rbp
mov qword [rsp + 0x1f8], r15
lea rax, [0x1801e7048]
mov qword [rsp + 0x490], rax
mov qword [rsp + 0x498], 2
mov qword [rsp + 0x4b0], 0
mov qword [rsp + 0x4a0], rsi
mov qword [rsp + 0x4a8], 1
mov rcx, rbx
mov rdx, r14
call fcn.18001e780
mov qword [rsp + 0xb0], rbp
mov qword [rsp + 0xb8], r15
lea rax, str.description___is_deprecated__use_Displayh
mov qword [rsp + 0x490], rax
mov qword [rsp + 0x498], 2
mov qword [rsp + 0x4b0], 0
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x4a0], rax
mov qword [rsp + 0x4a8], 1
mov rcx, rsi
mov rdx, r14
call fcn.18001e780
mov rcx, rbx
lea rdx, [rsp + 0x2c8]
mov r8, rdi
mov r9, rsi
call fcn.180115260
add rdi, 0x70
add r12, 0xffffffffffffff90
jne 0x18010ad00
jmp 0x180109f40
mov qword [rsp + 0x60], r15
mov byte [rsp + 0x50], sil
movss xmm6, dword [rsp + 0x150]
movd xmm7, dword [rsp + 0x158]
movzx eax, byte [0x180221a30]
mov esi, 8
mov ecx, 8
mov edx, 1
call fcn.18001e100
test rax, rax
je 0x18010e14a
mov r15, rax
lea rax, [rsp + 0x141]
movabs rcx, 0x72657475706d6f43
mov qword [r15], rcx
mov ecx, dword [rax]
mov eax, dword [rax + 3]
mov dword [rsp + 0xb3], eax
mov dword [rsp + 0xb0], ecx
cmp r12, 3
je 0x18010a319
movzx eax, byte [0x180221a30]
mov ecx, 0x60
mov edx, 8
call fcn.18001e100
test rax, rax
je 0x18010e15b
mov rsi, rax
mov qword [rax], r12
mov rax, qword [rsp + 0x60]
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], r13
mov qword [rsi + 0x18], rbx
mov qword [rsi + 0x20], rdi
mov qword [rsi + 0x28], r14
movzx eax, byte [rsp + 0x50]
mov byte [rsi + 0x30], al
mov eax, dword [rsp + 0xb0]
mov ecx, dword [rsp + 0xb3]
mov dword [rsi + 0x31], eax
mov dword [rsi + 0x34], ecx
mov dword [rsi + 0x38], ebp
movd dword [rsi + 0x3c], xmm7
mov qword [rsi + 0x40], r15
mov qword [rsi + 0x48], 8
mov qword [rsi + 0x50], 8
movss dword [rsi + 0x58], xmm6
movss dword [rsi + 0x5c], xmm6
mov ebx, 1
mov rdi, qword [rsp + 0x390]
mov r14, qword [rsp + 0x3a0]
test r14, r14
jne 0x18010a334
cmp qword [rsp + 0x398], 0
je 0x18010af18
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
mov qword [rsp + 0x390], rsi
mov qword [rsp + 0x398], rbx
mov qword [rsp + 0x3a0], rbx
mov rsi, qword [rsp + 0x58]
cmp byte [rsi + 1], 0
je 0x18010afff
mov qword [rsp + 0xb0], 0
lea rcx, [rsp + 0xb0]
call sub.iphlpapi.dll_GetIfTable2
test eax, eax
jne 0x18010c336
mov rax, qword [rsp + 0x350]
test rax, rax
je 0x18010b191
mov rcx, qword [rsp + 0x338]
lea rdx, [rcx + 0x10]
movdqa xmm0, xmmword [rcx]
pmovmskb r8d, xmm0
not r8d
jmp 0x18010afbf
lea r9d, [r8 - 1]
and r9d, r8d
tzcnt r8d, r8d
mov r10, r8
neg r10
shl r8, 3
shl r10, 7
sub r10, r8
mov byte [rcx + r10 - 2], 0
mov r8d, r9d
dec rax
je 0x18010b191
test r8w, r8w
jne 0x18010af90
nop word cs:[rax + rax]
movdqa xmm0, xmmword [rdx]
pmovmskb r8d, xmm0
add rcx, 0xfffffffffffff780
add rdx, 0x10
cmp r8w, 0xffff
je 0x18010afd0
mov r10d, 0xfffffffe
sub r10d, r8d
not r8d
mov r9d, r8d
and r9d, r10d
jmp 0x18010af97
cmp byte [rsi], 0
je 0x18010c336
lea rcx, [rsp + 0x490]
mov r8d, 0x548
xor edx, edx
call fcn.180182690
mov rdi, qword [rsp + 0x350]
test rdi, rdi
je 0x18010d4ed
mov rbx, qword [rsp + 0x338]
lea r14, [rbx + 0x10]
movdqa xmm0, xmmword [rbx]
pmovmskb eax, xmm0
not eax
lea rsi, [rsp + 0x490]
mov r15, 0xffffffffffffffff
jmp 0x18010b06b
mov eax, ebp
test rdi, rdi
je 0x18010d4ed
test ax, ax
je 0x18010b080
lea ebp, [rax - 1]
and ebp, eax
jmp 0x18010b0a7
movdqa xmm0, xmmword [r14]
pmovmskb eax, xmm0
add rbx, 0xfffffffffffff780
add r14, 0x10
cmp ax, 0xffff
je 0x18010b080
mov ecx, 0xfffffffe
sub ecx, eax
not eax
mov ebp, eax
and ebp, ecx
tzcnt eax, eax
mov r12, rax
neg r12
shl rax, 3
shl r12, 7
sub r12, rax
dec rdi
mov rax, qword [rbx + r12 - 0x70]
mov qword [rsp + 0x490], rax
mov dword [rsp + 0x498], 0
mov rcx, rsi
call sub.iphlpapi.dll_GetIfEntry2
test eax, eax
jne 0x18010b060
add r12, rbx
mov rax, qword [r12 - 0x68]
mov rcx, qword [r12 - 0x58]
mov qword [r12 - 0x60], rax
mov rax, qword [rsp + 0x990]
mov qword [r12 - 0x68], rax
mov qword [r12 - 0x50], rcx
mov rax, qword [rsp + 0x948]
mov qword [r12 - 0x58], rax
mov rax, qword [r12 - 0x48]
mov qword [r12 - 0x40], rax
mov rax, qword [rsp + 0x950]
add rax, qword [rsp + 0x958]
cmovb rax, r15
mov qword [r12 - 0x48], rax
mov rax, qword [r12 - 0x38]
mov qword [r12 - 0x30], rax
mov rax, qword [rsp + 0x998]
add rax, qword [rsp + 0x9a0]
cmovb rax, r15
mov qword [r12 - 0x38], rax
mov rax, qword [r12 - 0x28]
mov qword [r12 - 0x20], rax
mov rax, qword [rsp + 0x968]
mov qword [r12 - 0x28], rax
mov rax, qword [r12 - 0x18]
mov qword [r12 - 0x10], rax
mov rax, qword [rsp + 0x9b0]
mov qword [r12 - 0x18], rax
jmp 0x18010b060
mov eax, dword [0x180221a34]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0xa8], 0
jne 0x18010b1b3
call fcn.1801095d0
lea rax, [0x18020ac70]
mov qword [rsp + 0x490], rax
xorps xmm6, xmm6
movups xmmword [rsp + 0x498], xmm6
mov qword [rsp + 0x4a8], 0
mov eax, dword [0x180221a34]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movdqu xmm0, xmmword [rax + 0xb0]
inc qword [rax + 0xb0]
movdqu xmmword [rsp + 0x4b0], xmm0
mov qword [rsp + 0x150], 8
movups xmmword [rsp + 0x158], xmm6
mov rax, qword [rsp + 0xb0]
mov r15d, dword [rax]
test r15, r15
je 0x18010bd46
mov qword [rsp + 0xf0], rax
lea rbx, [rax + 8]
xor r12d, r12d
mov rdi, qword [sym.imp.kernel32.dll_HeapAlloc]
pcmpeqd xmm7, xmm7
mov qword [rsp + 0x70], rbx
jmp 0x18010b26c
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, r13
call qword [sym.imp.kernel32.dll_HeapFree]
nop
inc r12
cmp r12, r15
je 0x18010b5cc
imul rsi, r12, 0x548
cmp qword [rbx + rsi + 0x4a8], 0
jne 0x18010b289
cmp qword [rbx + rsi + 0x4b0], 0
je 0x18010b260
cmp dword [rbx + rsi + 0x48c], 2
je 0x18010b260
cmp dword [rbx + rsi + 0x420], 0
je 0x18010b260
movzx eax, byte [0x180221a30]
mov rax, qword [0x1802219b8]
test rax, rax
jne 0x18010b2c6
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18010e082
mov qword [0x1802219b8], rax
mov r8d, 0x14
mov rcx, rax
xor edx, edx
call rdi
test rax, rax
je 0x18010e082
mov r13, rax
mov eax, dword [rbx + rsi + 0x10]
movq xmm0, qword [rbx + rsi + 0x14]
punpcklbw xmm0, xmm6
mov dword [r13], eax
movdqu xmmword [r13 + 4], xmm0
movzx eax, byte [0x180221a30]
mov rax, qword [0x1802219b8]
test rax, rax
jne 0x18010b320
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18010e082
mov qword [0x1802219b8], rax
mov r8d, 0x14
mov rcx, rax
xor edx, edx
call rdi
test rax, rax
je 0x18010e082
mov r14, rax
mov eax, dword [r13 + 0x10]
mov dword [r14 + 0x10], eax
movups xmm0, xmmword [r13]
movups xmmword [r14], xmm0
mov rcx, qword [rsp + 0x4b0]
mov rdx, qword [rsp + 0x4b8]
mov r9d, 0xa
mov r8, r14
call fcn.180109790
mov rdi, rax
mov rsi, qword [rsp + 0x490]
mov rax, qword [rsp + 0x498]
mov rbp, rdi
shr rbp, 0x39
movd xmm0, ebp
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
lea rcx, [rsi - 0x20]
xor edx, edx
mov r8, rdi
and r8, rax
movdqu xmm1, xmmword [rsi + r8]
movdqa xmm2, xmm0
pcmpeqb xmm2, xmm1
pmovmskb r9d, xmm2
test r9d, r9d
jne 0x18010b3f0
pcmpeqb xmm1, xmm7
pmovmskb r9d, xmm1
test r9d, r9d
jne 0x18010b4df
add r8, rdx
add r8, 0x10
add rdx, 0x10
jmp 0x18010b39d
lea r10d, [r9 - 1]
and r10d, r9d
mov r9d, r10d
test r10w, r10w
je 0x18010b3b8
tzcnt ebx, r9d
add rbx, r8
and rbx, rax
mov r10, rbx
shl r10, 5
mov r11, rcx
sub r11, r10
cmp qword [r11 + 0x10], 0xa
jne 0x18010b3e0
mov r10, qword [r11]
movdqu xmm2, xmmword [r10]
movdqu xmm3, xmmword [r14]
pcmpeqb xmm3, xmm2
movd xmm2, dword [r10 + 0x10]
movd xmm4, dword [r14 + 0x10]
pcmpeqb xmm4, xmm2
pand xmm4, xmm3
pmovmskb r10d, xmm4
cmp r10d, 0xffff
jne 0x18010b3e0
neg rbx
shl rbx, 5
add rsi, rbx
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, rsi
mov rbx, qword [rsp + 0x70]
mov rdi, qword [sym.imp.kernel32.dll_HeapAlloc]
mov ecx, dword [rax - 8]
inc ecx
mov dword [rax - 8], ecx
cmp ecx, 1
jg 0x18010b24d
mov rdx, qword [rsp + 0x160]
cmp rdx, qword [rsp + 0x158]
jne 0x18010b4a5
lea rcx, [rsp + 0x150]
call fcn.18012d6e0
mov rdx, qword [rsp + 0x160]
mov rax, qword [rsp + 0x150]
mov rcx, rdx
shl rcx, 5
mov dword [rax + rcx], r12d
mov qword [rax + rcx + 8], r13
mov qword [rax + rcx + 0x10], 0xa
mov qword [rax + rcx + 0x18], 0xa
inc rdx
mov qword [rsp + 0x160], rdx
jmp 0x18010b260
cmp qword [rsp + 0x4a0], 0
je 0x18010b5a2
and rdi, rax
movdqu xmm0, xmmword [rsi + rdi]
pmovmskb ecx, xmm0
test ecx, ecx
jne 0x18010b527
mov edx, 0x10
nop word cs:[rax + rax]
add rdi, rdx
and rdi, rax
movdqu xmm0, xmmword [rsi + rdi]
pmovmskb ecx, xmm0
add rdx, 0x10
test ecx, ecx
je 0x18010b510
mov rbx, qword [rsp + 0x70]
tzcnt ecx, ecx
add rcx, rdi
and rcx, rax
movzx edx, byte [rsi + rcx]
test dl, dl
js 0x18010b54e
movdqa xmm0, xmmword [rsi]
pmovmskb ecx, xmm0
tzcnt ecx, ecx
movzx edx, byte [rsi + rcx]
lea r8, [rcx - 0x10]
and r8, rax
mov byte [rsi + rcx], bpl
mov byte [r8 + rsi + 0x10], bpl
shl rcx, 5
mov rax, rsi
sub rax, rcx
and dl, 1
movzx edx, dl
sub qword [rsp + 0x4a0], rdx
neg rcx
mov qword [rsi + rcx - 0x20], r14
mov qword [rax - 0x18], 0xa
mov qword [rax - 0x10], 0xa
mov dword [rax - 8], 0
inc qword [rsp + 0x4a8]
jmp 0x18010b466
lea rcx, [rsp + 0x490]
lea rdx, [rsp + 0x4b0]
call fcn.18018ba50
mov rsi, qword [rsp + 0x490]
mov rax, qword [rsp + 0x498]
jmp 0x18010b4ee
mov rcx, qword [rsp + 0x150]
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x468], rax
mov rax, qword [rsp + 0x160]
mov r13, rax
shl r13, 5
add r13, rcx
mov qword [rsp + 0x2a8], rcx
mov rsi, rcx
test rax, rax
je 0x18010bce6
mov r12, qword [rsp + 0xf0]
add r12, 0x2a
pcmpeqd xmm6, xmm6
mov rsi, qword [rsp + 0x2a8]
mov qword [rsp + 0xf0], r12
mov qword [rsp + 0x1e0], r13
jmp 0x18010b662
test rdi, rdi
je 0x18010b659
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, qword [rsp + 0x50]
call qword [sym.imp.kernel32.dll_HeapFree]
cmp rsi, r13
je 0x18010bd24
mov rax, rsi
add rsi, 0x20
mov rcx, qword [rax + 8]
mov qword [rsp + 0x50], rcx
test rcx, rcx
je 0x18010bce6
mov rdi, qword [rax + 0x10]
mov edx, dword [rax]
cmp qword [rsp + 0x4a8], 0
mov qword [rsp + 0xf8], rsi
mov qword [rsp + 0x2c0], rdi
je 0x18010b7e0
mov qword [rsp + 0x100], rdx
mov rdi, qword [rax + 0x18]
mov rcx, qword [rsp + 0x4b0]
mov rdx, qword [rsp + 0x4b8]
mov r8, qword [rsp + 0x50]
mov r9, rdi
call fcn.180109790
mov rbx, rax
mov rcx, qword [rsp + 0x490]
mov rsi, qword [rsp + 0x498]
shr rax, 0x39
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm7, xmm0, 0
lea r15, [rcx - 0x20]
lea r14, [rdi + rdi]
xor r12d, r12d
mov qword [rsp + 0x60], rcx
and rbx, rsi
movdqu xmm8, xmmword [rcx + rbx]
movdqa xmm0, xmm7
pcmpeqb xmm0, xmm8
pmovmskb r13d, xmm0
test r13d, r13d
jne 0x18010b75f
pcmpeqb xmm8, xmm6
pmovmskb eax, xmm8
test eax, eax
jne 0x18010bae1
add rbx, r12
add rbx, 0x10
add r12, 0x10
mov rcx, qword [rsp + 0x60]
jmp 0x18010b702
lea eax, [r13 - 1]
and eax, r13d
mov r13d, eax
test ax, ax
je 0x18010b71e
tzcnt ebp, r13d
add rbp, rbx
and rbp, rsi
mov rcx, rbp
shl rcx, 5
mov rax, r15
sub rax, rcx
cmp qword [rax + 0x10], rdi
jne 0x18010b750
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x50]
mov r8, r14
call fcn.180182a30
test eax, eax
jne 0x18010b750
neg rbp
shl rbp, 5
mov rcx, qword [rsp + 0x60]
add rcx, rbp
lea rax, [rcx - 0x20]
test rcx, rcx
cmove rax, rcx
mov r12, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0x70]
mov r13, qword [rsp + 0x1e0]
mov rsi, qword [rsp + 0xf8]
mov rdi, qword [rsp + 0x2c0]
mov rdx, qword [rsp + 0x100]
jmp 0x18010b7e2
xor eax, eax
lea rcx, [rax + 0x18]
test rax, rax
lea rax, [0x1801e6fb4]
cmove rcx, rax
cmp dword [rcx], 1
jg 0x18010b640
imul r14, rdx, 0x548
lea r15, [rbx + r14]
lea rdx, [rbx + r14]
add rdx, 0x1c
lea rax, [r12 + r14]
xor r8d, r8d
cmp word [rax + r8*2 - 6], 0
je 0x18010b869
cmp r8, 0x100
je 0x18010b852
cmp word [rax + r8*2 - 4], 0
je 0x18010b85a
cmp word [rax + r8*2 - 2], 0
je 0x18010b85f
cmp word [rax + r8*2], 0
je 0x18010b865
add r8, 4
cmp word [rax + r8*2 - 6], 0
jne 0x18010b820
jmp 0x18010b869
mov r8d, 0x101
jmp 0x18010b876
inc r8
jmp 0x18010b869
add r8, 2
jmp 0x18010b869
add r8, 3
cmp r8, 0x102
jae 0x18010e07e
lea rcx, [rsp + 0x1f0]
call fcn.18001eb30
mov rbp, qword [rsp + 0x1f0]
test rbp, rbp
je 0x18010b640
mov qword [rsp + 0x480], r15
mov qword [rsp + 0x2b0], r14
mov rax, qword [rsp + 0x1f8]
mov qword [rsp + 0x2b8], rax
mov r14, qword [rsp + 0x200]
mov rcx, qword [rsp + 0x358]
mov rdx, qword [rsp + 0x360]
mov r8, rbp
mov r9, r14
call fcn.18007d080
mov rdi, rax
mov rax, qword [rsp + 0x338]
mov rsi, qword [rsp + 0x340]
mov rcx, rdi
shr rcx, 0x39
mov qword [rsp + 0x478], rcx
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm7, xmm0, 0
lea r15, [rax - 0x88]
xor ecx, ecx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x470], rdi
mov qword [rsp + 0x100], rax
and rdi, rsi
movdqu xmm8, xmmword [rax + rdi]
movdqa xmm0, xmm7
pcmpeqb xmm0, xmm8
pmovmskb ebx, xmm0
test ebx, ebx
jne 0x18010b98c
pcmpeqb xmm8, xmm6
pmovmskb eax, xmm8
test eax, eax
jne 0x18010bae8
mov rax, qword [rsp + 0x60]
add rdi, rax
add rdi, 0x10
add rax, 0x10
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x100]
jmp 0x18010b929
lea eax, [rbx - 1]
and eax, ebx
mov ebx, eax
test ax, ax
je 0x18010b943
tzcnt ecx, ebx
add rcx, rdi
and rcx, rsi
mov r12, rcx
neg r12
shl rcx, 3
mov r13, r12
shl r13, 7
mov rax, r13
sub rax, rcx
cmp r14, qword [r15 + rax + 0x10]
jne 0x18010b980
add rax, r15
mov rcx, qword [rax]
mov rdx, rbp
mov r8, r14
call fcn.180182a30
test eax, eax
jne 0x18010b980
lea rax, [r12*8]
add rax, r13
mov r8, qword [rsp + 0x100]
mov rcx, qword [r8 + rax - 0x68]
mov rdx, qword [r8 + rax - 0x58]
mov qword [r8 + rax - 0x60], rcx
mov rbx, qword [rsp + 0x70]
mov r9, qword [rsp + 0x2b0]
mov rcx, qword [rbx + r9 + 0x500]
mov qword [r8 + rax - 0x68], rcx
mov qword [r8 + rax - 0x50], rdx
mov rcx, qword [rbx + r9 + 0x4b8]
mov qword [r8 + rax - 0x58], rcx
mov rcx, qword [r8 + rax - 0x48]
mov qword [r8 + rax - 0x40], rcx
mov rcx, qword [rbx + r9 + 0x4c0]
add rcx, qword [rbx + r9 + 0x4c8]
mov rdx, 0xffffffffffffffff
cmovb rcx, rdx
mov qword [r8 + rax - 0x48], rcx
mov rcx, qword [r8 + rax - 0x38]
mov qword [r8 + rax - 0x30], rcx
mov rcx, qword [rbx + r9 + 0x508]
add rcx, qword [rbx + r9 + 0x510]
cmovb rcx, rdx
mov qword [r8 + rax - 0x38], rcx
mov rcx, qword [r8 + rax - 0x28]
mov qword [r8 + rax - 0x20], rcx
mov rcx, qword [rbx + r9 + 0x4d8]
mov qword [r8 + rax - 0x28], rcx
mov rcx, qword [r8 + rax - 0x18]
mov qword [r8 + rax - 0x10], rcx
mov rcx, qword [rbx + r9 + 0x520]
mov qword [r8 + rax - 0x18], rcx
mov byte [r8 + rax - 2], 1
cmp qword [rsp + 0x2b8], 0
mov r12, qword [rsp + 0xf0]
mov r13, qword [rsp + 0x1e0]
je 0x18010bac5
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, rbp
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0x2c0], 0
mov rsi, qword [rsp + 0xf8]
jne 0x18010b645
jmp 0x18010b659
xor ecx, ecx
jmp 0x18010b7a0
cmp qword [rsp + 0x348], 0
mov rdi, qword [rsp + 0x70]
mov r11, qword [rsp + 0x100]
je 0x18010bcbc
mov rbx, qword [rsp + 0x2b0]
mov rax, qword [rdi + rbx + 0x4c0]
add rax, qword [rdi + rbx + 0x4c8]
mov rdx, qword [rdi + rbx + 0x4b8]
mov r8, 0xffffffffffffffff
cmovb rax, r8
mov rcx, qword [rdi + rbx + 0x508]
add rcx, qword [rdi + rbx + 0x510]
cmovb rcx, r8
mov r8, qword [rsp + 0x480]
mov r8, qword [r8]
mov qword [rsp + 0x60], r8
mov r10, qword [rdi + rbx + 0x500]
mov r9, qword [rdi + rbx + 0x4d8]
mov r8, qword [rdi + rbx + 0x520]
mov r15, qword [rsp + 0x470]
and r15, rsi
movdqu xmm0, xmmword [r11 + r15]
pmovmskb edi, xmm0
test edi, edi
mov r13, qword [rsp + 0x1e0]
jne 0x18010bbb8
mov ebx, 0x10
nop word cs:[rax + rax]
add r15, rbx
and r15, rsi
movdqu xmm0, xmmword [r11 + r15]
pmovmskb edi, xmm0
add rbx, 0x10
test edi, edi
je 0x18010bba0
mov r12, qword [rsp + 0xf0]
tzcnt edi, edi
add rdi, r15
and rdi, rsi
movzx ebx, byte [r11 + rdi]
test bl, bl
js 0x18010bbe5
movdqa xmm0, xmmword [r11]
pmovmskb edi, xmm0
tzcnt edi, edi
movzx ebx, byte [r11 + rdi]
lea r15, [rdi - 0x10]
and r15, rsi
mov rsi, qword [rsp + 0x478]
mov byte [r11 + rdi], sil
mov byte [r15 + r11 + 0x10], sil
and bl, 1
movzx esi, bl
sub qword [rsp + 0x348], rsi
mov rsi, rdi
neg rsi
shl rdi, 3
shl rsi, 7
sub rsi, rdi
mov qword [r11 + rsi - 0x88], rbp
mov rdi, qword [rsp + 0x2b8]
mov qword [r11 + rsi - 0x80], rdi
mov qword [r11 + rsi - 0x78], r14
mov rdi, qword [rsp + 0x60]
mov qword [r11 + rsi - 0x70], rdi
mov qword [r11 + rsi - 0x68], r10
mov qword [r11 + rsi - 0x60], r10
mov qword [r11 + rsi - 0x58], rdx
mov qword [r11 + rsi - 0x50], rdx
mov qword [r11 + rsi - 0x48], rax
mov qword [r11 + rsi - 0x40], rax
mov qword [r11 + rsi - 0x38], rcx
mov qword [r11 + rsi - 0x30], rcx
mov qword [r11 + rsi - 0x28], r9
mov qword [r11 + rsi - 0x20], r9
mov qword [r11 + rsi - 0x18], r8
mov qword [r11 + rsi - 0x10], r8
mov dword [r11 + rsi - 8], 0
mov word [r11 + rsi - 4], 0
mov byte [r11 + rsi - 2], 1
inc qword [rsp + 0x350]
mov rbx, qword [rsp + 0x70]
cmp qword [rsp + 0x2c0], 0
mov rsi, qword [rsp + 0xf8]
jne 0x18010b645
jmp 0x18010b659
lea rcx, [rsp + 0x338]
lea rdx, [rsp + 0x358]
call fcn.18018afe0
mov r11, qword [rsp + 0x338]
mov rsi, qword [rsp + 0x340]
jmp 0x18010bb04
sub r13, rsi
je 0x18010bd24
shr r13, 5
add rsi, 0x10
jmp 0x18010bd09
add rsi, 0x20
dec r13
je 0x18010bd24
cmp qword [rsi], 0
je 0x18010bd00
mov r8, qword [rsi - 8]
mov rcx, qword [0x1802219b8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18010bd00
cmp qword [rsp + 0x468], 0
je 0x18010bd46
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, qword [rsp + 0x2a8]
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [rsp + 0xb0]
call sub.iphlpapi.dll_FreeMibTable
mov rdi, qword [rsp + 0x498]
test rdi, rdi
je 0x18010be42
mov rbx, qword [rsp + 0x4a8]
test rbx, rbx
je 0x18010be11
mov rsi, qword [rsp + 0x490]
movdqa xmm0, xmmword [rsi]
pmovmskb eax, xmm0
not eax
lea r14, [rsi + 0x10]
mov r15, qword [sym.imp.kernel32.dll_HeapFree]
mov r12, rsi
jmp 0x18010bda7
mov eax, ebp
test rbx, rbx
je 0x18010be19
test ax, ax
je 0x18010bdc0
lea ebp, [rax - 1]
and ebp, eax
jmp 0x18010bde7
movdqa xmm0, xmmword [r14]
pmovmskb eax, xmm0
add r12, 0xfffffffffffffe00
add r14, 0x10
cmp ax, 0xffff
je 0x18010bdc0
mov ecx, 0xfffffffe
sub ecx, eax
not eax
mov ebp, eax
and ebp, ecx
tzcnt ecx, eax
shl rcx, 5
mov rax, r12
sub rax, rcx
dec rbx
cmp qword [rax - 0x18], 0
je 0x18010bda0
mov r8, qword [rax - 0x20]
mov rcx, qword [0x1802219b8]
xor edx, edx
call r15
jmp 0x18010bda0
mov rsi, qword [rsp + 0x490]
mov rax, rdi
shl rax, 5
add rdi, rax
cmp rdi, 0xffffffffffffffcf
je 0x18010be42
sub rsi, rax
add rsi, 0xffffffffffffffe0
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rsi, qword [rsp + 0x350]
test rsi, rsi
je 0x18010bfb8
mov r13, qword [rsp + 0x338]
mov rbx, qword [rsp + 0x340]
lea r14, [r13 + 0x10]
movdqa xmm0, xmmword [r13]
pmovmskb ebp, xmm0
not ebp
mov r15, qword [rsp + 0x348]
pcmpeqd xmm6, xmm6
mov rdi, r13
mov r12, rsi
jmp 0x18010be99
test rsi, rsi
je 0x18010bfb8
test bp, bp
je 0x18010beb0
lea eax, [rbp - 1]
and eax, ebp
jmp 0x18010bed7
movdqa xmm0, xmmword [r14]
pmovmskb ebp, xmm0
add rdi, 0xfffffffffffff780
add r14, 0x10
cmp bp, 0xffff
je 0x18010beb0
mov ecx, 0xfffffffe
sub ecx, ebp
not ebp
mov eax, ebp
and eax, ecx
mov ecx, ebp
tzcnt ecx, ecx
mov ebp, eax
mov rax, rcx
neg rax
shl rcx, 3
shl rax, 7
sub rax, rcx
dec rsi
cmp byte [rdi + rax - 2], 0
jne 0x18010be90
add rax, rdi
mov rcx, r13
sub rcx, rax
sar rcx, 3
movabs rdx, 0xf0f0f0f0f0f0f0f1
imul rcx, rdx
lea rdx, [rcx - 0x10]
and rdx, rbx
movdqu xmm0, xmmword [r13 + rdx]
pcmpeqb xmm0, xmm6
psllw xmm0, 7
pmovmskb r8d, xmm0
test r8d, r8d
je 0x18010bf41
bsr r8w, r8w
xor r8d, 0xf
jmp 0x18010bf46
mov r8w, 0x10
movdqu xmm0, xmmword [r13 + rcx]
pcmpeqb xmm0, xmm6
pmovmskb r9d, xmm0
or r9d, 0x10000
tzcnt r9d, r9d
add r8d, r9d
mov r9b, 0x80
cmp r8w, 0xf
ja 0x18010bf7d
inc r15
mov qword [rsp + 0x348], r15
mov r9b, 0xff
mov byte [r13 + rcx], r9b
mov byte [rdx + r13 + 0x10], r9b
dec r12
mov qword [rsp + 0x350], r12
cmp qword [rax - 0x80], 0
je 0x18010be90
mov r8, qword [rax - 0x88]
mov rcx, qword [0x1802219b8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18010be90
mov dword [rsp + 0x90], 0x3c00
mov dword [rsp + 0x110], 0
mov ebx, 4
xor esi, esi
lea r14, [rsp + 0x90]
nop dword [rax]
dec ebx
je 0x18010c284
mov edx, dword [rsp + 0x90]
mov rcx, rsi
call fcn.180178bf8
test rax, rax
je 0x18010c052
mov rdi, rax
mov qword [rsp + 0x20], r14
xor ecx, ecx
mov edx, 0xe
xor r8d, r8d
mov r9, rax
call sub.iphlpapi.dll_GetAdaptersAddresses
mov dword [rsp + 0x110], eax
mov rsi, rdi
cmp eax, 0x6f
je 0x18010bfe0
test eax, eax
jne 0x18010c281
mov qword [rsp + 0x1f8], rdi
mov qword [rsp + 0x200], rdi
xor edi, edi
mov rsi, qword [rsp + 0x58]
test rdi, rdi
jne 0x18010c319
jmp 0x18010c0ee
movzx eax, byte [0x180221a30]
mov rcx, qword [0x1802219b8]
test rcx, rcx
jne 0x18010c07e
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18010e117
mov rcx, rax
mov qword [0x1802219b8], rax
mov r8d, 0x32
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18010e117
mov rdi, rax
movups xmm0, xmmword [0x1801e7140]
movups xmmword [rax + 0x20], xmm0
movups xmm0, xmmword [0x1801e7130]
movups xmmword [rax + 0x10], xmm0
movdqu xmm0, xmmword [str.failed_to_allocate_memory_for_IP_ADAPTER_ADDRESSESGetAdaptersAddresses___failed_with_code]
movdqu xmmword [rax], xmm0
mov word [rax + 0x30], 0x5345
mov rcx, rsi
call fcn.180178c00
mov qword [rsp + 0x1f8], 0x32
mov qword [rsp + 0x200], 0x32
mov rsi, qword [rsp + 0x58]
test rdi, rdi
jne 0x18010c319
movdqu xmm0, xmmword [rsp + 0x1f8]
movdqa xmmword [rsp + 0x150], xmm0
cmp qword [rsp + 0x350], 0
je 0x18010d492
mov rax, qword [rsp + 0x338]
mov r14, qword [rsp + 0x340]
mov qword [rsp + 0x50], rax
lea rbp, [rax - 0x88]
mov rax, qword [rsp + 0x358]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x360]
mov qword [rsp + 0xf8], rax
pcmpeqd xmm6, xmm6
nop dword [rax]
lea rcx, [rsp + 0x490]
lea rdx, [rsp + 0x150]
call fcn.180109640
mov r15, qword [rsp + 0x490]
test r15, r15
je 0x18010d4e0
mov rax, qword [rsp + 0x498]
mov qword [rsp + 0x60], rax
mov r12, qword [rsp + 0x4a0]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0xf8]
mov r8, r15
mov r9, r12
call fcn.18007d080
mov r13, rax
shr rax, 0x39
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm7, xmm0, 0
xor edi, edi
and r13, r14
mov rax, qword [rsp + 0x50]
movdqu xmm8, xmmword [rax + r13]
movdqa xmm0, xmm7
pcmpeqb xmm0, xmm8
pmovmskb esi, xmm0
test esi, esi
jne 0x18010c20c
pcmpeqb xmm8, xmm6
pmovmskb eax, xmm8
test eax, eax
jne 0x18010c25e
add r13, rdi
add r13, 0x10
add rdi, 0x10
jmp 0x18010c1be
lea eax, [rsi - 1]
and eax, esi
mov esi, eax
test ax, ax
je 0x18010c1dd
tzcnt eax, esi
add rax, r13
and rax, r14
mov rbx, rax
neg rbx
shl rax, 3
shl rbx, 7
sub rbx, rax
cmp qword [rbp + rbx + 0x10], r12
jne 0x18010c200
add rbx, rbp
mov rdx, qword [rbx]
mov rcx, r15
mov r8, r12
call fcn.180182a30
test eax, eax
jne 0x18010c200
lea rcx, [rsp + 0x4a8]
movzx eax, word [rcx + 4]
mov word [rbx + 0x84], ax
mov eax, dword [rcx]
mov dword [rbx + 0x80], eax
cmp qword [rsp + 0x60], 0
je 0x18010c150
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, r15
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18010c150
mov rsi, rdi
lea rax, [rsp + 0x110]
mov qword [rsp + 0x150], rax
lea rax, [0x180029b90]
mov qword [rsp + 0x158], rax
lea rax, [0x1801e7180]
mov qword [rsp + 0x490], rax
mov qword [rsp + 0x498], 1
mov qword [rsp + 0x4b0], 0
lea rax, [rsp + 0x150]
mov qword [rsp + 0x4a0], rax
mov qword [rsp + 0x4a8], 1
lea rcx, [rsp + 0x1f0]
lea rdx, [rsp + 0x490]
call fcn.18001e780
mov rcx, rsi
call fcn.180178c00
mov rdi, qword [rsp + 0x1f0]
mov rsi, qword [rsp + 0x58]
test rdi, rdi
je 0x18010c0ee
cmp qword [rsp + 0x1f8], 0
je 0x18010c336
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
movzx eax, word [rsi + 8]
cmp al, 2
jne 0x18010d4fe
cmp byte [rsi + 2], 0
je 0x18010dfaa
call sub.kernel32.dll_GetLogicalDrives
mov dword [rsp + 0xb0], eax
test eax, eax
je 0x18010c3bc
mov qword [rsp + 0x1f0], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0x1f8], xmm0
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x150], rax
movabs rax, 0x2000000000
mov qword [rsp + 0x158], rax
mov eax, dword [0x180221a34]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x50]
test rax, rax
je 0x18010c3d1
add rax, 0x110
jmp 0x18010c3d6
xorps xmm0, xmm0
movaps xmmword [rsp + 0x490], xmm0
mov edi, 8
jmp 0x18010c555
call fcn.180077870
mov rax, qword [rax]
mov r9, qword [rax + 0x210]
lea rax, [rsp + 0x150]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 0x20
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 1
lea rcx, [rsp + 0x490]
mov edx, 0x20
xor r8d, r8d
call fcn.18010e170
mov rbx, qword [rsp + 0x490]
mov rax, qword [rsp + 0x4a0]
test rax, rax
je 0x18010c45b
xor r8d, r8d
mov rcx, rbx
nop word cs:[rax + rax]
test rcx, rcx
je 0x18010c452
add r8, qword [rcx + 0x10]
mov rcx, qword [rcx + 0x18]
dec rax
jne 0x18010c440
test r8, r8
jne 0x18010e03c
lea r12, [rsp + 0x1f8]
test rbx, rbx
je 0x18010c540
mov r13, qword [sym.imp.kernel32.dll_HeapFree]
lea rdi, [rsp + 0x1f0]
jmp 0x18010c48c
mov rbx, rsi
test rsi, rsi
je 0x18010c540
mov rsi, qword [rbx + 0x18]
test rsi, rsi
je 0x18010c49d
mov qword [rsi + 0x20], 0
mov r14, qword [rbx]
mov rbp, qword [rbx + 8]
mov r15, qword [rbx + 0x10]
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, rbx
call r13
test r14, r14
je 0x18010c537
mov rax, qword [rsp + 0x1f8]
mov rbx, qword [rsp + 0x200]
sub rax, rbx
cmp rax, r15
jb 0x18010c51f
lea rcx, [rbx + rbx*8]
shl rcx, 4
add rcx, qword [rsp + 0x1f0]
mov rax, r15
shl rax, 4
lea r8, [rax + rax*8]
mov rdx, r14
call fcn.180181ff0
add rbx, r15
mov qword [rsp + 0x200], rbx
test rbp, rbp
je 0x18010c480
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, r14
call r13
jmp 0x18010c480
mov rcx, rdi
mov rdx, rbx
mov r8, r15
call fcn.18018c220
mov rbx, qword [rsp + 0x200]
jmp 0x18010c4d4
test rsi, rsi
jne 0x18010ce0b
mov rdi, qword [rsp + 0x1f0]
movups xmm0, xmmword [r12]
movaps xmmword [rsp + 0x490], xmm0
lea rbx, [rsp + 0x3b0]
mov rsi, qword [rsp + 0x3a8]
mov rdx, qword [rsp + 0x3b8]
mov rcx, rsi
call fcn.18010f090
cmp qword [rsp + 0x3b0], 0
je 0x18010c592
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
mov qword [rsp + 0x3a8], rdi
movaps xmm0, xmmword [rsp + 0x490]
movups xmmword [rbx], xmm0
mov rax, qword [rsp + 0x58]
cmp byte [rax + 7], 0
je 0x18010cfcf
mov qword [rsp + 0x150], 8
xorps xmm6, xmm6
movups xmmword [rsp + 0x158], xmm6
mov dword [rsp + 0x6c], 0
mov r14d, 8
xor ebx, ebx
lea rdi, [rsp + 0x6c]
mov r12, qword [sym.imp.kernel32.dll_HeapFree]
nop word [rax + rax]
mov qword [rsp + 0x78], 0
mov dword [rsp + 0x10c], 0
mov dword [rsp + 0x1e8], 0
mov qword [rsp + 0x38], rdi
lea rax, [rsp + 0x1e8]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x10c]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xffffffff
xor ecx, ecx
xor edx, edx
mov r8d, 2
lea r9, [rsp + 0x78]
call sub.netapi32.dll_NetUserEnum
mov ebp, eax
cmp eax, 0xea
je 0x18010c65b
test ebp, ebp
jne 0x18010ce43
mov r15, qword [rsp + 0x78]
mov eax, dword [rsp + 0x10c]
lea rsi, [r15 + rax*8]
mov rax, r15
nop
cmp rax, rsi
je 0x18010cdd0
lea r15, [rax + 8]
cmp qword [rax], 0
mov rax, r15
je 0x18010c670
mov qword [rsp + 0x88], 0
mov rdx, qword [r15 - 8]
xor ecx, ecx
mov r8d, 0x17
lea r9, [rsp + 0x88]
call sub.netapi32.dll_NetUserGetInfo
test eax, eax
je 0x18010c6c3
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x18010c66b
call sub.netapi32.dll_NetApiBufferFree
jmp 0x18010c66b
mov rcx, qword [rsp + 0x88]
mov rdi, qword [rcx + 0x20]
test rdi, rdi
je 0x18010c881
mov rcx, rdi
call sub.advapi32.dll_IsValidSid
test eax, eax
je 0x18010c890
mov rcx, rdi
call sub.advapi32.dll_GetLengthSid
test eax, eax
je 0x18010c89a
mov qword [rsp + 0x58], rbx
mov ebx, eax
mov rax, qword [0x1802219b8]
test rax, rax
jne 0x18010c721
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18010e093
mov qword [0x1802219b8], rax
mov rcx, rax
mov edx, 8
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18010e093
mov r13, rax
mov qword [rsp + 0x50], rbx
mov ecx, ebx
mov rdx, rax
mov r8, rdi
call sub.advapi32.dll_CopySid
test eax, eax
je 0x18010c8bb
cmp byte [r13], 1
jne 0x18010e07e
mov dword [rsp + 0x90], 0
mov dword [rsp + 0x110], 0
mov dword [rsp + 0xb0], 8
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x110]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
xor ecx, ecx
mov rdx, r13
xor r8d, r8d
lea r9, [rsp + 0x90]
call sub.advapi32.dll_LookupAccountSidW
test eax, eax
jne 0x18010c7ce
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x18010c9c4
mov r14d, dword [rsp + 0x90]
test r14, r14
je 0x18010c8d9
lea rbx, [r14 + r14]
mov rax, qword [0x1802219b8]
test rax, rax
jne 0x18010c805
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18010e0d9
mov qword [0x1802219b8], rax
mov rcx, rax
mov edx, 8
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18010e0d9
mov rdi, rax
mov dword [rsp + 0x110], 0
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x110]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
xor ecx, ecx
mov rdx, r13
mov r8, rdi
lea r9, [rsp + 0x90]
call sub.advapi32.dll_LookupAccountSidW
test eax, eax
jne 0x18010c92c
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, rdi
call r12
jmp 0x18010c9c4
lea rdi, [rsp + 0x6c]
call sub.netapi32.dll_NetApiBufferFree
jmp 0x18010c66b
lea rdi, [rsp + 0x6c]
jmp 0x18010c6af
mov edx, 1
xor ecx, ecx
mov r8, rdi
call sub.advapi32.dll_CopySid
test eax, eax
lea rdi, [rsp + 0x6c]
je 0x18010c6af
jmp 0x18010e07e
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, r13
call r12
lea rdi, [rsp + 0x6c]
mov rbx, qword [rsp + 0x58]
jmp 0x18010c6af
mov dword [rsp + 0x110], 0
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x110]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
mov edi, 2
mov r8d, 2
xor ecx, ecx
mov rdx, r13
lea r9, [rsp + 0x90]
call sub.advapi32.dll_LookupAccountSidW
test eax, eax
je 0x18010c9c4
mov r8, 0xffffffffffffffff
nop word cs:[rax + rax]
cmp word [rdi + r8*2 + 2], 0
lea r8, [r8 + 1]
jne 0x18010c940
lea rcx, [rsp + 0x490]
mov rdx, rdi
call fcn.18001eb30
mov rax, qword [rsp + 0x490]
test rax, rax
je 0x18010ca16
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x498]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x1f0], xmm0
movaps xmm0, xmmword [rsp + 0x1f0]
movaps xmmword [rsp + 0x490], xmm0
test r14, r14
je 0x18010c9aa
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, rdi
call r12
movaps xmm0, xmmword [rsp + 0x490]
movaps xmmword [rsp + 0x90], xmm0
lea rdi, [rsp + 0x6c]
jmp 0x18010ca58
mov rdx, qword [r15 - 8]
mov r8, 0xffffffffffffffff
nop
cmp word [rdx + r8*2 + 2], 0
lea r8, [r8 + 1]
jne 0x18010c9d0
lea rcx, [rsp + 0x490]
call fcn.18001eb30
mov rax, qword [rsp + 0x490]
test rax, rax
lea rdi, [rsp + 0x6c]
je 0x18010ca46
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x498]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x90], xmm0
jmp 0x18010ca58
movaps xmmword [rsp + 0x1f0], xmm6
mov eax, 1
mov qword [rsp + 0x58], rax
movaps xmm0, xmmword [rsp + 0x1f0]
movaps xmmword [rsp + 0x490], xmm0
test r14, r14
jne 0x18010c99b
jmp 0x18010c9aa
movaps xmmword [rsp + 0x90], xmm6
mov eax, 1
mov qword [rsp + 0x58], rax
movaps xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x110], xmm0
mov rdx, qword [r15 - 8]
mov qword [rsp + 0x80], 0
mov dword [rsp + 0xac], 0
mov dword [rsp + 0x1ec], 0
lea rax, [rsp + 0x1ec]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0xac]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0xffffffff
lea rcx, [0x18020a502]
xor r8d, r8d
mov r9d, 1
call sub.netapi32.dll_NetUserGetLocalGroups
test eax, eax
je 0x18010caf2
mov qword [rsp + 0x1f0], 8
lea rax, [rsp + 0x1f8]
movups xmmword [rax], xmm6
jmp 0x18010cc52
mov ebx, dword [rsp + 0xac]
test rbx, rbx
je 0x18010cb4e
lea rax, [rbx*8]
lea r14, [rax + rax*2]
movzx eax, byte [0x180221a30]
mov rax, qword [0x1802219b8]
test rax, rax
jne 0x18010cb33
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18010e108
mov qword [0x1802219b8], rax
mov rcx, rax
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x18010cb53
jmp 0x18010e108
mov edi, 8
mov qword [rsp + 0x1f0], rdi
mov qword [rsp + 0x1f8], rbx
mov qword [rsp + 0x200], 0
mov r14, qword [rsp + 0x80]
test r14, r14
je 0x18010cc96
mov qword [rsp + 0x60], r13
mov r13d, dword [rsp + 0xac]
cmp ebx, r13d
jb 0x18010cda4
mov eax, 0
mov ebx, 0
test r13, r13
je 0x18010cc40
lea r13, [r14 + r13*8]
mov rbx, rax
jmp 0x18010cbea
movaps xmmword [rsp + 0xb0], xmm6
mov eax, 1
lea rcx, [rbx + rbx*2]
mov qword [rdi + rcx*8], rax
movaps xmm0, xmmword [rsp + 0xb0]
movups xmmword [rdi + rcx*8 + 8], xmm0
inc rbx
cmp r14, r13
je 0x18010cc40
mov rdx, qword [r14]
mov r8, 0xffffffffffffffff
nop word cs:[rax + rax]
cmp word [rdx + r8*2 + 2], 0
lea r8, [r8 + 1]
jne 0x18010cc00
add r14, 8
lea rcx, [rsp + 0x490]
call fcn.18001eb30
mov rax, qword [rsp + 0x490]
test rax, rax
je 0x18010cbc0
lea rcx, [rsp + 0x498]
movups xmm0, xmmword [rcx]
movaps xmmword [rsp + 0xb0], xmm0
jmp 0x18010cbcd
mov qword [rsp + 0x200], rbx
lea rdi, [rsp + 0x6c]
mov r13, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x1f0]
mov qword [rsp + 0x490], rax
mov rax, qword [rsp + 0x1f8]
mov qword [rsp + 0x498], rax
mov rax, qword [rsp + 0x200]
mov qword [rsp + 0x4a0], rax
test rcx, rcx
je 0x18010cccb
call sub.netapi32.dll_NetApiBufferFree
jmp 0x18010cccb
mov rax, qword [rsp + 0x200]
mov qword [rsp + 0x4a0], rax
mov rax, qword [rsp + 0x1f0]
mov qword [rsp + 0x490], rax
mov rax, qword [rsp + 0x1f8]
mov qword [rsp + 0x498], rax
lea rdi, [rsp + 0x6c]
movaps xmm0, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0xb0], xmm0
mov rax, qword [rsp + 0x490]
mov qword [rsp + 0x1f0], rax
mov rax, qword [rsp + 0x498]
mov qword [rsp + 0x1f8], rax
mov rax, qword [rsp + 0x4a0]
mov qword [rsp + 0x200], rax
mov rbx, qword [rsp + 0x160]
cmp rbx, qword [rsp + 0x158]
jne 0x18010cd35
lea rcx, [rsp + 0x150]
mov rdx, rbx
call fcn.180142490
mov rbx, qword [rsp + 0x160]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov r14, qword [rsp + 0x150]
lea rax, [rbx + rbx*4]
shl rax, 4
mov qword [r14 + rax], r13
mov qword [r14 + rax + 8], rcx
mov qword [r14 + rax + 0x10], rcx
mov qword [r14 + rax + 0x18], rdx
movaps xmm0, xmmword [rsp + 0xb0]
movups xmmword [r14 + rax + 0x20], xmm0
movaps xmm0, xmmword [rsp + 0x1f0]
movups xmmword [r14 + rax + 0x30], xmm0
mov rcx, qword [rsp + 0x200]
mov qword [r14 + rax + 0x40], rcx
mov dword [r14 + rax + 0x48], 0
inc rbx
mov qword [rsp + 0x160], rbx
jmp 0x18010c6af
lea rcx, [rsp + 0x1f0]
mov rdx, r13
call fcn.18018af10
mov rdi, qword [rsp + 0x1f0]
mov rax, qword [rsp + 0x200]
jmp 0x18010cba9
cmp ebp, 0xea
jne 0x18010ce43
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x18010c5f0
call sub.netapi32.dll_NetApiBufferFree
jmp 0x18010c5f0
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, rsi
call r13
mov rsi, rbx
test rbx, rbx
je 0x18010c540
mov rbx, qword [rsi + 0x18]
test rbx, rbx
je 0x18010ce1c
mov qword [rbx + 0x20], 0
mov rdi, qword [rsi]
mov rdx, qword [rsi + 0x10]
mov rcx, rdi
call fcn.18010f090
cmp qword [rsi + 8], 0
je 0x18010cdf0
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, rdi
call r13
jmp 0x18010cdf0
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x18010ce52
call sub.netapi32.dll_NetApiBufferFree
mov dword [rsp + 0x78], 0
mov qword [rsp + 0x110], 0
lea rcx, [rsp + 0x78]
lea rdx, [rsp + 0x110]
call sub.secur32.dll_LsaEnumerateLogonSessions
test eax, eax
je 0x18010d017
mov rsi, qword [rsp + 0x110]
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x4a0], rax
movups xmm0, xmmword [rsp + 0x150]
movaps xmmword [rsp + 0x490], xmm0
test rsi, rsi
je 0x18010ceb5
mov rcx, rsi
call sub.secur32.dll_LsaFreeReturnBuffer
mov rsi, qword [rsp + 0x3c0]
mov rbx, qword [rsp + 0x3d0]
test rbx, rbx
je 0x18010cf93
xor r14d, r14d
jmp 0x18010cee9
cmp r14, rbx
je 0x18010cf93
lea r15, [r14 + r14*4]
shl r15, 4
cmp qword [rsi + r15 + 8], 0
je 0x18010cf0c
lea rax, [rsi + r15]
mov r8, qword [rax]
mov rcx, qword [0x1802219b8]
xor edx, edx
call r12
cmp qword [rsi + r15 + 0x20], 0
je 0x18010cf25
mov r8, qword [rsi + r15 + 0x18]
mov rcx, qword [0x1802219b8]
xor edx, edx
call r12
mov rdi, qword [rsi + r15 + 0x30]
mov r13, qword [rsi + r15 + 0x40]
test r13, r13
je 0x18010cf70
lea rbp, [rdi + 8]
jmp 0x18010cf49
add rbp, 0x18
dec r13
je 0x18010cf70
cmp qword [rbp], 0
je 0x18010cf40
mov r8, qword [rbp - 8]
mov rcx, qword [0x1802219b8]
xor edx, edx
call r12
jmp 0x18010cf40
inc r14
cmp qword [rsi + r15 + 0x38], 0
je 0x18010cee0
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, rdi
call r12
jmp 0x18010cee0
cmp qword [rsp + 0x3c8], 0
je 0x18010cfb0
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rsp + 0x4a0]
lea rcx, [rsp + 0x3c0]
mov qword [rcx + 0x10], rax
movaps xmm0, xmmword [rsp + 0x490]
movups xmmword [rcx], xmm0
lea rdx, [rsp + 0x2c8]
mov r8d, 0x1a0
mov rcx, qword [rsp + 0x488]
call fcn.180181ff0
movaps xmm6, xmmword [rsp + 0x9e0]
movaps xmm7, xmmword [rsp + 0x9f0]
movaps xmm8, xmmword [rsp + 0xa00]
add rsp, 0xa18
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rsi, qword [rsp + 0x110]
mov eax, dword [rsp + 0x78]
test rax, rax
je 0x18010ce88
lea r15, [rsi + rax*8]
lea rdi, [rsp + 0xb0]
xorps xmm6, xmm6
mov qword [rsp + 0x70], r15
jmp 0x18010d062
call sub.secur32.dll_LsaFreeReturnBuffer
add rsi, 8
cmp rsi, r15
je 0x18010ce80
mov qword [rsp + 0xb0], 0
mov rcx, rsi
mov rdx, rdi
call sub.secur32.dll_LsaGetLogonSessionData
mov rcx, qword [rsp + 0xb0]
test eax, eax
jne 0x18010d158
test rcx, rcx
je 0x18010d158
cmp dword [rcx + 0x40], 3
je 0x18010d150
movzx r13d, word [rcx + 0x10]
mov rax, qword [rcx + 0x18]
mov qword [rsp + 0x58], rax
mov rdx, qword [rcx + 0x48]
lea rcx, [rsp + 0x490]
call fcn.180109930
mov rbp, qword [rsp + 0x490]
test rbp, rbp
je 0x18010d150
mov qword [rsp + 0x60], r13
mov rax, qword [rsp + 0x498]
mov qword [rsp + 0x50], rax
mov r13, qword [rsp + 0x4a0]
test rbx, rbx
je 0x18010d166
mov rax, rbx
shl rax, 4
lea rdi, [rax + rax*4]
xor r15d, r15d
jmp 0x18010d109
add r15, 0x50
cmp rdi, r15
je 0x18010d166
cmp r13, qword [r14 + r15 + 0x10]
jne 0x18010d100
mov rcx, qword [r14 + r15]
mov rdx, rbp
mov r8, r13
call fcn.180182a30
test eax, eax
jne 0x18010d100
cmp qword [rsp + 0x50], 0
mov r15, qword [rsp + 0x70]
lea rdi, [rsp + 0xb0]
je 0x18010d150
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, rbp
call r12
nop word [rax + rax]
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
jne 0x18010d050
jmp 0x18010d055
mov dword [rsp + 0x88], 0
mov dword [rsp + 0x80], 0
mov dword [rsp + 0x90], 8
lea rax, [rsp + 0x90]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
xor ecx, ecx
mov rdx, rbp
xor r8d, r8d
lea r9, [rsp + 0x88]
call sub.advapi32.dll_LookupAccountSidW
test eax, eax
jne 0x18010d1d1
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x18010d36d
mov edi, dword [rsp + 0x88]
test rdi, rdi
mov qword [rsp + 0xf8], rdi
je 0x18010d28d
lea r8, [rdi + rdi]
mov rax, qword [0x1802219b8]
test rax, rax
jne 0x18010d215
mov rdi, r8
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18010e0e8
mov qword [0x1802219b8], rax
mov r8, rdi
mov rcx, rax
mov edx, 8
mov rdi, r8
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18010e0e8
mov r15, rax
mov dword [rsp + 0x80], 0
lea rax, [rsp + 0x90]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
xor ecx, ecx
mov rdx, rbp
mov r8, r15
lea r9, [rsp + 0x88]
call sub.advapi32.dll_LookupAccountSidW
test eax, eax
jne 0x18010d2e1
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, r15
call r12
jmp 0x18010d36d
mov dword [rsp + 0x80], 0
lea rax, [rsp + 0x90]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
mov r15d, 2
mov r8d, 2
xor ecx, ecx
mov rdx, rbp
lea r9, [rsp + 0x88]
call sub.advapi32.dll_LookupAccountSidW
test eax, eax
je 0x18010d36d
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
cmp word [r15 + r8*2 + 2], 0
lea r8, [r8 + 1]
jne 0x18010d2f0
lea rcx, [rsp + 0x490]
mov rdx, r15
call fcn.18001eb30
mov rdi, qword [rsp + 0x490]
test rdi, rdi
je 0x18010d3a9
lea rax, [rsp + 0x498]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x1f0], xmm0
movaps xmm0, xmmword [rsp + 0x1f0]
movaps xmmword [rsp + 0x490], xmm0
cmp qword [rsp + 0xf8], 0
je 0x18010d35b
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, r15
call r12
movaps xmm0, xmmword [rsp + 0x490]
movaps xmmword [rsp + 0x1f0], xmm0
jmp 0x18010d3e4
mov r8, qword [rsp + 0x60]
shr r8, 1
lea rcx, [rsp + 0x490]
mov rdx, qword [rsp + 0x58]
call fcn.18001eb30
mov rdi, qword [rsp + 0x490]
test rdi, rdi
je 0x18010d3d7
lea rax, [rsp + 0x498]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x1f0], xmm0
jmp 0x18010d3e4
movaps xmmword [rsp + 0x1f0], xmm6
mov edi, 1
movaps xmm0, xmmword [rsp + 0x1f0]
movaps xmmword [rsp + 0x490], xmm0
cmp qword [rsp + 0xf8], 0
jne 0x18010d34c
jmp 0x18010d35b
movaps xmmword [rsp + 0x1f0], xmm6
mov edi, 1
mov r15, qword [rsp + 0x70]
movaps xmm0, xmmword [rsp + 0x1f0]
movaps xmmword [rsp + 0x490], xmm0
cmp rbx, qword [rsp + 0x158]
jne 0x18010d423
lea rcx, [rsp + 0x150]
mov rdx, rbx
call fcn.180142490
mov r14, qword [rsp + 0x150]
mov rbx, qword [rsp + 0x160]
lea rax, [rbx + rbx*4]
shl rax, 4
mov qword [r14 + rax], rbp
mov rcx, qword [rsp + 0x50]
mov qword [r14 + rax + 8], rcx
mov qword [r14 + rax + 0x10], r13
mov qword [r14 + rax + 0x18], rdi
movaps xmm0, xmmword [rsp + 0x490]
movups xmmword [r14 + rax + 0x20], xmm0
mov qword [r14 + rax + 0x30], 8
inc rbx
movups xmmword [r14 + rax + 0x38], xmm6
mov dword [r14 + rax + 0x48], 0
mov qword [rsp + 0x160], rbx
mov rcx, qword [rsp + 0xb0]
lea rdi, [rsp + 0xb0]
test rcx, rcx
jne 0x18010d050
jmp 0x18010d055
lea rsi, [rsp + 0x490]
lea rdi, [rsp + 0x150]
mov rbx, qword [sym.imp.kernel32.dll_HeapFree]
nop dword [rax]
mov rcx, rsi
mov rdx, rdi
call fcn.180109640
mov r8, qword [rsp + 0x490]
test r8, r8
je 0x18010d4e0
cmp qword [rsp + 0x498], 0
je 0x18010d4b0
mov rcx, qword [0x1802219b8]
xor edx, edx
call rbx
jmp 0x18010d4b0
mov rcx, qword [rsp + 0x150]
call fcn.180178c00
mov rsi, qword [rsp + 0x58]
movzx eax, word [rsi + 8]
cmp al, 2
je 0x18010c342
movzx ecx, byte [rsi + 0xa]
shl ecx, 0x10
or eax, ecx
mov word [rsp + 0x78], ax
shr eax, 0x10
mov byte [rsp + 0x7a], al
movzx eax, byte [0x180221a30]
mov rcx, qword [0x1802219b8]
test rcx, rcx
jne 0x18010d53f
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18010e0c8
mov rcx, rax
mov qword [0x1802219b8], rax
mov r13d, 0x80000
mov r8d, 0x80000
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18010e0c8
mov rsi, rax
lea r15, [rsp + 0x308]
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], 0x80000
mov qword [rsp + 0x120], 0
xor edx, edx
lea rdi, [rsp + 0x110]
lea r14, [rsp + 0x490]
mov r12, qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
mov ebx, 0x80000
mov dword [rsp + 0x490], 0
sub r13, rdx
cmp r13, rbx
jae 0x18010d610
jmp 0x18010d5f9
mov eax, dword [rsp + 0x490]
add rbx, rbx
lea ecx, [rax + 0x2800]
test eax, eax
cmovne rbx, rcx
mov r13, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x120]
mov dword [rsp + 0x490], 0
sub r13, rdx
cmp r13, rbx
jae 0x18010d610
mov rcx, rdi
mov r8, rbx
call fcn.180185da0
mov rsi, qword [rsp + 0x110]
nop dword [rax]
mov ecx, 5
mov rdx, rsi
mov r8d, ebx
mov r9, r14
call r12
cmp eax, 0xc0000004
je 0x18010d5c0
test eax, eax
jne 0x18010d6f2
mov qword [rsp + 0x120], rbx
movzx eax, byte [0x180221a30]
mov rcx, qword [0x1802219b8]
test rcx, rcx
jne 0x18010d664
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18010e0f7
mov rcx, rax
mov qword [0x1802219b8], rax
mov r8d, 0xfa0
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18010e0f7
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], 0x1f4
mov qword [rsp + 0xc0], 0
xor edx, edx
lea rdi, [rsp + 0xb0]
xor ebx, ebx
jmp 0x18010d6ca
mov qword [rax + rdx*8], r14
inc rdx
mov qword [rsp + 0xc0], rdx
mov ecx, dword [r14]
add rbx, rcx
test rcx, rcx
je 0x18010d712
lea r14, [rsi + rbx]
cmp rdx, qword [rsp + 0xb8]
jne 0x18010d6b0
mov rcx, rdi
call fcn.180119630
mov rax, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xc0]
jmp 0x18010d6b0
cmp qword [rsp + 0x118], 0
je 0x18010df9b
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, rsi
jmp 0x18010df95
mov qword [rsp + 0x88], r15
cmp byte [rsp + 0x78], 0
je 0x18010d73a
lea rcx, [rsp + 0x3d8]
xor edx, edx
call fcn.180110680
mov rax, qword [rsp + 0x458]
jmp 0x18010d73c
xor eax, eax
movabs rsi, 0x19db1ded53e7fff
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x490], 0
mov rax, qword [0x180220030]
lea rcx, [rsp + 0x490]
call rax
mov rax, qword [rsp + 0x490]
cmp rax, rsi
jle 0x18010d798
movabs rcx, 0xfe624e212ac18000
add rax, rcx
movabs rcx, 0xd6bf94d5e57a42bd
mul rcx
shr rdx, 0x17
jmp 0x18010d79a
xor edx, edx
mov qword [rsp + 0x90], rdx
mov rsi, qword [rsp + 0xc0]
mov qword [rsp + 0x4a0], rsi
movdqu xmm0, xmmword [rsp + 0xb0]
movdqa xmmword [rsp + 0x490], xmm0
mov qword [rsp + 0x150], 8
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x158], xmm0
lea rax, [rsp + 0x88]
mov qword [rsp + 0x4a8], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x4b0], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x4b8], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x4c0], rax
mov rbx, qword [rsp + 0x498]
cmp rbx, rsi
jb 0x18010e07e
lea r14, [rsp + 0x4a8]
mov rdi, qword [rsp + 0x490]
mov eax, dword [0x180221a34]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x50]
test rax, rax
je 0x18010d862
add rax, 0x110
jmp 0x18010d867
call fcn.180077870
mov rax, qword [rax]
mov r9, qword [rax + 0x210]
xor eax, eax
cmp rsi, 0xffffffffffffffff
sete al
cmp rax, r9
cmova r9, rax
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], 1
lea rcx, [rsp + 0x1f0]
mov rdx, rsi
xor r8d, r8d
call fcn.180111160
test rbx, rbx
je 0x18010d8c3
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rdi, qword [rsp + 0x1f0]
mov rax, qword [rsp + 0x200]
test rax, rax
je 0x18010d8fb
xor r8d, r8d
mov rcx, rdi
nop
test rcx, rcx
je 0x18010d8f2
add r8, qword [rcx + 0x10]
mov rcx, qword [rcx + 0x18]
dec rax
jne 0x18010d8e0
test r8, r8
jne 0x18010e061
test rdi, rdi
je 0x18010d9d7
mov r12, qword [sym.imp.kernel32.dll_HeapFree]
lea rbx, [rsp + 0x150]
jmp 0x18010d92c
mov rdi, rsi
test rsi, rsi
je 0x18010d9d7
mov rsi, qword [rdi + 0x18]
test rsi, rsi
je 0x18010d93d
mov qword [rsi + 0x20], 0
mov r14, qword [rdi]
mov r13, qword [rdi + 8]
mov r15, qword [rdi + 0x10]
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, rdi
call r12
test r14, r14
je 0x18010d9d2
mov rax, qword [rsp + 0x158]
mov rdi, qword [rsp + 0x160]
sub rax, rdi
cmp rax, r15
jb 0x18010d9ba
imul rcx, rdi, 0x150
add rcx, qword [rsp + 0x150]
imul r8, r15, 0x150
mov rdx, r14
call fcn.180181ff0
add rdi, r15
mov qword [rsp + 0x160], rdi
test r13, r13
je 0x18010d920
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, r14
call r12
jmp 0x18010d920
mov rcx, rbx
mov rdx, rdi
mov r8, r15
call fcn.18018c830
mov rdi, qword [rsp + 0x160]
jmp 0x18010d974
test rsi, rsi
jne 0x18010da47
mov rbx, qword [rsp + 0x150]
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x160]
imul rcx, rax, 0x150
add rcx, rbx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x60], rbx
test rax, rax
je 0x18010ddbd
lea r15, [rsp + 0x1f0]
lea r14, [rsp + 0x150]
pcmpeqd xmm6, xmm6
mov rbx, qword [rsp + 0x60]
jmp 0x18010db3b
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, rsi
call r12
mov rsi, r14
test r14, r14
je 0x18010d9d7
mov r14, qword [rsi + 0x18]
test r14, r14
je 0x18010da58
mov qword [r14 + 0x20], 0
mov rdi, qword [rsi]
mov r15, qword [rsi + 0x10]
test r15, r15
je 0x18010da84
mov rbx, rdi
nop word [rax + rax]
mov rcx, rbx
call fcn.180113760
add rbx, 0x150
dec r15
jne 0x18010da70
cmp qword [rsi + 8], 0
je 0x18010da30
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, rdi
call r12
jmp 0x18010da30
movzx edx, r12b
sub qword [rsp + 0x318], rdx
lea rdx, [rcx - 0x10]
and rdx, rax
mov byte [rdi + rcx], r14b
mov byte [rdx + rdi + 0x10], r14b
inc qword [rsp + 0x320]
mov rdi, qword [rsp + 0x308]
neg rcx
imul r14, rcx, 0x158
mov qword [rdi + r14 - 0x158], r13
mov qword [rdi + r14 - 0x150], rbp
lea rcx, [rdi + r14]
add rcx, 0xfffffffffffffeb8
mov r8d, 0xb8
mov r15, rsi
mov rdx, rsi
call fcn.180181ff0
mov qword [rdi + r14 - 0x90], r13
lea rcx, [rdi + r14]
add rcx, 0xffffffffffffff78
mov r8d, 0x88
lea r14, [rsp + 0x150]
mov rdx, r14
call fcn.180181ff0
nop word [rax + rax]
cmp rbx, qword [rsp + 0x50]
je 0x18010de04
mov rdx, rbx
add rbx, 0x150
mov rbp, qword [rdx]
cmp rbp, 2
je 0x18010ddbd
lea rdi, [rdx + 0xc8]
mov r13, qword [rdx + 0xc0]
add rdx, 8
mov r8d, 0xb8
mov rsi, r15
mov rcx, r15
call fcn.180181ff0
mov r8d, 0x88
mov rcx, r14
mov rdx, rdi
call fcn.180181ff0
mov rcx, qword [rsp + 0x328]
mov rdx, qword [rsp + 0x330]
mov r8, r13
call fcn.180117ed0
mov r15, rax
mov rdi, qword [rsp + 0x308]
mov rax, qword [rsp + 0x310]
mov r14, r15
shr r14, 0x39
movd xmm0, r14d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
lea rcx, [rdi - 0x158]
xor edx, edx
mov r8, r15
and r8, rax
movdqu xmm1, xmmword [rdi + r8]
movdqa xmm2, xmm0
pcmpeqb xmm2, xmm1
pmovmskb r9d, xmm2
nop dword [rax]
test r9w, r9w
je 0x18010dc20
lea r10d, [r9 - 1]
and r10d, r9d
tzcnt r9d, r9d
add r9, r8
and r9, rax
neg r9
imul r12, r9, 0x158
mov r9d, r10d
cmp qword [rcx + r12], r13
jne 0x18010dbf0
jmp 0x18010dc40
pcmpeqb xmm1, xmm6
pmovmskb r9d, xmm1
test r9d, r9d
jne 0x18010dccc
add r8, rdx
add r8, 0x10
add rdx, 0x10
jmp 0x18010dbd7
lea rdx, [rdi + r12]
add rdx, 0xfffffffffffffeb0
mov r8d, 0x150
lea rcx, [rsp + 0x490]
call fcn.180181ff0
mov qword [rdi + r12 - 0x150], rbp
lea rcx, [rdi + r12]
add rcx, 0xfffffffffffffeb8
mov r8d, 0xb8
mov r15, rsi
mov rdx, rsi
call fcn.180181ff0
mov qword [rdi + r12 - 0x90], r13
lea rcx, [rdi + r12]
add rcx, 0xffffffffffffff78
mov r8d, 0x88
lea r14, [rsp + 0x150]
mov rdx, r14
call fcn.180181ff0
cmp qword [rsp + 0x490], 2
je 0x18010db30
lea rcx, [rsp + 0x490]
call fcn.180113760
jmp 0x18010db30
mov rdx, rax
and rdx, r15
movdqu xmm0, xmmword [rdi + rdx]
pmovmskb ecx, xmm0
test ecx, ecx
jne 0x18010dd07
mov r8d, 0x10
nop word cs:[rax + rax]
add rdx, r8
and rdx, rax
movdqu xmm0, xmmword [rdi + rdx]
pmovmskb ecx, xmm0
add r8, 0x10
test ecx, ecx
je 0x18010dcf0
tzcnt ecx, ecx
add rcx, rdx
and rcx, rax
movzx r12d, byte [rdi + rcx]
test r12b, r12b
js 0x18010dd2c
movdqa xmm0, xmmword [rdi]
pmovmskb ecx, xmm0
tzcnt ecx, ecx
movzx r12d, byte [rdi + rcx]
and r12b, 1
je 0x18010da9c
cmp qword [rsp + 0x318], 0
jne 0x18010da9c
lea rcx, [rsp + 0x308]
lea rdx, [rsp + 0x328]
call fcn.18018c900
mov rdi, qword [rsp + 0x308]
mov rax, qword [rsp + 0x310]
and r15, rax
movdqu xmm0, xmmword [rdi + r15]
pmovmskb ecx, xmm0
test ecx, ecx
jne 0x18010dd98
mov edx, 0x10
add r15, rdx
and r15, rax
movdqu xmm0, xmmword [rdi + r15]
pmovmskb ecx, xmm0
add rdx, 0x10
test ecx, ecx
je 0x18010dd80
tzcnt ecx, ecx
add rcx, r15
and rcx, rax
cmp byte [rdi + rcx], 0
js 0x18010da9c
movdqa xmm0, xmmword [rdi]
pmovmskb ecx, xmm0
tzcnt ecx, ecx
jmp 0x18010da9c
mov r8, qword [rsp + 0x50]
mov rax, r8
sub rax, rbx
shr rax, 4
movabs rcx, 0xc30c30c30c30c31
mul rcx
cmp r8, rbx
je 0x18010de04
mov rdi, rdx
nop word cs:[rax + rax]
mov rcx, rbx
call fcn.180113760
add rbx, 0x150
dec rdi
jne 0x18010ddf0
cmp qword [rsp + 0x70], 0
je 0x18010de20
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, qword [rsp + 0x60]
call qword [sym.imp.kernel32.dll_HeapFree]
mov rsi, qword [rsp + 0x320]
test rsi, rsi
je 0x18010df79
mov rdi, qword [rsp + 0x308]
mov rbx, qword [rsp + 0x310]
lea r14, [rdi + 0x10]
movdqa xmm0, xmmword [rdi]
pmovmskb eax, xmm0
not eax
mov r15, qword [rsp + 0x318]
pcmpeqd xmm6, xmm6
mov r13, rsi
mov rbp, rdi
jmp 0x18010dea0
lea rcx, [rax + rbp]
add rcx, 0xfffffffffffffeb0
mov byte [rdi + rdx], r9b
mov byte [r8 + rdi + 0x10], r9b
dec rsi
mov qword [rsp + 0x320], rsi
call fcn.180113760
mov eax, r12d
test r13, r13
je 0x18010df79
test ax, ax
je 0x18010deb0
lea r12d, [rax - 1]
and r12d, eax
jmp 0x18010ded9
movdqa xmm0, xmmword [r14]
pmovmskb eax, xmm0
add rbp, 0xffffffffffffea80
add r14, 0x10
cmp ax, 0xffff
je 0x18010deb0
mov ecx, 0xfffffffe
sub ecx, eax
not eax
mov r12d, eax
and r12d, ecx
tzcnt eax, eax
neg rax
imul rax, rax, 0x158
dec r13
cmp byte [rbp + rax - 4], 0
mov byte [rbp + rax - 4], 0
jne 0x18010de94
mov rdx, rdi
sub rdx, rbp
sub rdx, rax
sar rdx, 3
movabs rcx, 0x82fa0be82fa0be83
imul rdx, rcx
lea r8, [rdx - 0x10]
and r8, rbx
movdqu xmm0, xmmword [rdi + r8]
pcmpeqb xmm0, xmm6
psllw xmm0, 7
pmovmskb ecx, xmm0
test ecx, ecx
je 0x18010df38
bsr cx, cx
xor ecx, 0xf
jmp 0x18010df3c
mov cx, 0x10
movdqu xmm0, xmmword [rdi + rdx]
pcmpeqb xmm0, xmm6
pmovmskb r9d, xmm0
or r9d, 0x10000
tzcnt r9d, r9d
add ecx, r9d
mov r9b, 0x80
cmp cx, 0xf
ja 0x18010de70
inc r15
mov qword [rsp + 0x318], r15
mov r9b, 0xff
jmp 0x18010de70
cmp qword [rsp + 0x118], 0
je 0x18010df9b
mov r8, qword [rsp + 0x110]
mov rcx, qword [0x1802219b8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rsi, qword [rsp + 0x58]
cmp byte [rsi + 2], 0
jne 0x18010c34c
cmp byte [rsi + 3], 0
je 0x18010c5a5
mov rax, qword [rsp + 0x3b8]
test rax, rax
je 0x18010c5a5
mov rdi, qword [rsp + 0x3a8]
shl rax, 4
lea rbx, [rax + rax*8]
xor r14d, r14d
lea rsi, [rsp + 0x490]
jmp 0x18010e000
add r14, 0x90
cmp rbx, r14
je 0x18010c5a5
cmp qword [rdi + r14 + 0x78], 0
je 0x18010dff0
mov qword [rsp + 0x490], 0
mov rcx, qword [rdi + r14 + 0x48]
xor edx, edx
xor r8d, r8d
mov r9, rsi
call sub.kernel32.dll_GetDiskFreeSpaceExW
test eax, eax
je 0x18010dff0
mov rax, qword [rsp + 0x490]
mov qword [rdi + r14 + 0x80], rax
jmp 0x18010dff0
lea rcx, [rsp + 0x1f0]
xor edx, edx
call fcn.18018c220
lea r12, [rsp + 0x1f8]
test rbx, rbx
jne 0x18010c46c
jmp 0x18010c540
lea rcx, [rsp + 0x150]
xor edx, edx
call fcn.18018c830
test rdi, rdi
jne 0x18010d904
jmp 0x18010d9d7
ud2
mov ecx, 2
mov edx, 0x14
call fcn.180183f50
ud2
mov ecx, 1
jmp 0x18010e0de
mov ecx, 0x56410
call fcn.18004d180
ud2
mov ecx, 1
mov edx, 9
call fcn.180183f50
ud2
mov ecx, 8
mov edx, 0x120
call fcn.180183f50
ud2
mov ecx, 1
mov edx, 0x80000
call fcn.180183f50
ud2
mov ecx, 2
mov rdx, rbx
call fcn.180183f50
ud2
mov ecx, 2
mov rdx, rdi
call fcn.180183f50
ud2
mov ecx, 8
mov edx, 0xfa0
call fcn.180183f50
ud2
mov ecx, 8
mov rdx, r14
call fcn.180183f50
ud2
mov ecx, 1
mov edx, 0x32
call fcn.180183f50
ud2
mov ecx, 1
mov edx, 0x1e
call fcn.180183f50
ud2
mov ecx, 1
mov edx, 5
call fcn.180183f50
ud2
mov ecx, 1
mov edx, 8
call fcn.180183f50
ud2
mov ecx, 8
mov edx, 0x60
call fcn.180183f50
ud2