Function at 0x180107240
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 [0x18021ea3c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0xa8], 0
jne 0x180107295
call fcn.18007c110
mov qword [rsp + 0x58], rsi
mov eax, dword [0x18021ea3c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movups xmm6, xmmword [rax + 0xb0]
inc qword [rax + 0xb0]
movzx eax, byte [0x18021ea38]
mov rcx, qword [0x18021e9c0]
test rcx, rcx
jne 0x1801072e7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18010b8ba
mov rcx, rax
mov qword [0x18021e9c0], rax
mov r8d, 0x56410
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18010b8ba
mov rsi, rax
add rsi, 0x56000
mov r8d, 0x410
mov rcx, rsi
mov dl, 0xff
call fcn.180181020
movzx eax, byte [0x18021ea38]
mov rcx, qword [0x18021e9c0]
test rcx, rcx
jne 0x180107344
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18010b8c6
mov rcx, rax
mov qword [0x18021e9c0], rax
mov r8d, 9
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18010b8c6
mov rdi, rax
movabs rax, 0x5043206c61746f54
mov qword [rdi], rax
mov byte [rdi + 8], 0x55
movzx eax, byte [0x18021ea38]
mov rcx, qword [0x18021e9c0]
test rcx, rcx
jne 0x18010739b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18010b8d7
mov rcx, rax
mov qword [0x18021e9c0], rax
mov r8d, 0x120
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18010b8d7
mov rbx, rax
mov eax, dword [0x18021ea3c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0xa8], 0
jne 0x1801073d7
call fcn.18007c110
mov eax, dword [0x18021ea3c]
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 [0x18021d030]
lea rcx, [rsp + 0x490]
call rax
mov rax, qword [rsp + 0x490]
cmp rax, r15
mov qword [rsp + 0x488], r14
jle 0x18010747b
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 0x18010747d
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, [0x180207ec0]
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 0x1801076e3
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 0x1801076e3
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 0x180107861
movzx ebp, byte [rsi + 0xc]
cmp qword [rsp + 0x2c8], 0
jne 0x180107779
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 0x180107cfb
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 0x180107861
mov rcx, qword [rsp + 0x2f8]
call sub.pdh.dll_PdhCollectQueryData
mov rdx, qword [rsp + 0x420]
test rdx, rdx
je 0x1801077c5
mov r8, qword [rsp + 0x430]
lea rcx, [rsp + 0x2c8]
call fcn.1801135a0
test eax, eax
je 0x18010b89e
movss xmm1, dword [0x1801912b4]
subss xmm1, xmm0
movss dword [rsp + 0x440], xmm1
mov edx, ebp
and dl, 1
lea rcx, [rsp + 0x3d8]
call fcn.18010e160
mov rax, qword [rsp + 0x458]
test rax, rax
je 0x180107848
mov rdi, qword [rsp + 0x448]
imul rbx, rax, 0x70
xor r14d, r14d
lea rsi, [rsp + 0x2c8]
movss xmm6, dword [0x1801912b4]
jmp 0x180107819
add r14, 0x70
cmp rbx, r14
je 0x180107848
mov rdx, qword [rdi + r14 + 0x48]
test rdx, rdx
je 0x180107810
mov r8, qword [rdi + r14 + 0x58]
mov rcx, rsi
call fcn.1801135a0
test eax, eax
je 0x18010b89e
movaps xmm1, xmm6
subss xmm1, xmm0
movss dword [rdi + r14 + 0x68], xmm1
jmp 0x180107810
test bpl, 1
mov rsi, qword [rsp + 0x58]
je 0x180107861
cmp byte [rsp + 0x460], 0
je 0x180107c09
cmp byte [rsi + 6], 0
je 0x180107ef3
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 0x180107b29
mov qword [rsp + 0x90], 0
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
lea rcx, [0x1802077d8]
lea r9, [0x1802077bc]
xor edx, edx
mov r8d, 1
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x180107b29
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.180106930
mov r14, qword [rsp + 0x150]
cmp r14, 2
je 0x180107b34
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 0x180107cb4
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 0x180107cb4
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.180106a70
mov rax, qword [rsp + 0xb0]
cmp rax, 2
je 0x180107b34
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.180106bc0
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 0x180108608
test rdi, rdi
je 0x180107afc
test r14, r14
je 0x180107afc
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x10]
test r13, r13
je 0x180107b0f
test rbx, rbx
je 0x180107b0f
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
test r12, r12
je 0x180107b22
test r15, r15
je 0x180107b22
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x10]
test sil, sil
jne 0x180107b2e
jmp 0x180107b34
cmp esi, 2
jae 0x180107b34
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 0x18010871b
mov r15, qword [sym.imp.ole32.dll_CoUninitialize]
mov r12, qword [sym.imp.KERNEL32.dll_HeapFree]
mov r13, rdi
jmp 0x180107b7d
add r13, 0x60
dec r14
je 0x18010871b
cmp qword [r13 + 0x48], 0
je 0x180107b94
mov r8, qword [r13 + 0x40]
mov rcx, qword [0x18021e9c0]
xor edx, edx
call r12
mov rbp, qword [r13]
cmp rbp, 2
je 0x180107b70
mov rcx, qword [r13 + 0x28]
cmp qword [r13 + 0x20], 0
mov qword [r13 + 0x20], 0
je 0x180107bbc
test rcx, rcx
je 0x180107bbc
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [r13 + 0x18]
cmp qword [r13 + 0x10], 0
mov qword [r13 + 0x10], 0
je 0x180107bda
test rcx, rcx
je 0x180107bda
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [r13 + 8]
mov qword [r13], 0
test rbp, rbp
je 0x180107bf6
test rcx, rcx
je 0x180107bf6
mov rax, qword [rcx]
call qword [rax + 0x10]
cmp byte [r13 + 0x30], 0
je 0x180107b70
call r15
jmp 0x180107b70
mov rsi, qword [rsp + 0x458]
lea rcx, [rsp + 0x490]
mov rdx, rsi
call fcn.180112b10
mov rdi, qword [rsp + 0x448]
mov r8, qword [rsp + 0x490]
mov rax, qword [rsp + 0x498]
test rsi, rsi
je 0x180107c8e
mov rcx, qword [rsp + 0x4a0]
test rcx, rcx
je 0x180107c8e
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 0x180107c8e
lea r11, [r10 + 8]
add r9, 0x70
cmp rcx, r10
mov r10, r11
jne 0x180107c70
test rax, rax
je 0x180107ca2
mov rcx, qword [0x18021e9c0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test rsi, rsi
je 0x180107ed2
mov rax, qword [rdi + 0x60]
jmp 0x180107ed4
test r12, r12
je 0x180107cc7
test rbx, rbx
je 0x180107cc7
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
test r15, r15
je 0x180107cda
test rdi, rdi
je 0x180107cda
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
test r14, r14
je 0x180107ced
test rsi, rsi
je 0x180107ced
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x10]
test bpl, bpl
jne 0x180107b2e
jmp 0x180107b34
mov esi, eax
mov r13, qword [rsp + 0x1f0]
mov eax, dword [0x18021ea3c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0xa8], 0
jne 0x180107d27
call fcn.18007c110
mov eax, dword [0x18021ea3c]
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 0x18010835c
mov rbx, qword [rsp + 0x2e0]
test rbx, rbx
je 0x180107df9
lea r14, [rdi + 0x10]
movdqa xmm0, xmmword [rdi]
pmovmskb eax, xmm0
not eax
mov r15, rdi
mov r12, rbx
jmp 0x180107dc3
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 0x180107df9
test ax, ax
jne 0x180107da0
nop dword [rax + rax]
movdqa xmm0, xmmword [r14]
pmovmskb eax, xmm0
add r15, 0xfffffffffffffe00
add r14, 0x10
cmp ax, 0xffff
je 0x180107dd0
mov ecx, 0xfffffffe
sub ecx, eax
not eax
mov ebp, eax
and ebp, ecx
jmp 0x180107da5
mov rcx, qword [rsp + 0x300]
test rcx, rcx
je 0x180107e0c
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x2f8]
test rcx, rcx
je 0x180107e1e
call sub.pdh.dll_PdhCloseQuery
mov r14, qword [rsp + 0x2d0]
test r14, r14
je 0x180108305
mov qword [rsp + 0x60], r13
test rbx, rbx
je 0x1801082d7
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 0x180107e6b
mov eax, ebp
test rbx, rbx
je 0x1801082d7
test ax, ax
je 0x180107e80
lea ebp, [rax - 1]
and ebp, eax
jmp 0x180107ea8
movdqa xmm0, xmmword [r12]
pmovmskb eax, xmm0
add r15, 0xfffffffffffffe00
add r12, 0x10
cmp ax, 0xffff
je 0x180107e80
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 0x180107e60
mov r8, qword [rax - 0x20]
mov rcx, qword [0x18021e9c0]
xor edx, edx
call r13
jmp 0x180107e60
xor eax, eax
mov rsi, qword [rsp + 0x58]
mov qword [rsp + 0x438], rax
mov byte [rsp + 0x460], 1
cmp byte [rsi + 6], 0
jne 0x18010786b
cmp byte [rsi + 5], 0
je 0x180108750
mov rax, qword [rsp + 0x3a0]
test rax, rax
je 0x180108750
mov rsi, qword [rsp + 0x390]
shl rax, 5
lea r12, [rax + rax*2]
jmp 0x180107f2e
add rsi, 0x60
add r12, 0xffffffffffffffa0
je 0x180108750
mov r15, qword [rsi]
cmp r15, 2
jne 0x180108040
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 0x180108080
mov qword [rsp + 0x490], 0
lea r14, [rsp + 0x490]
mov qword [rsp + 0x20], r14
lea rcx, [0x1802077d8]
xor edx, edx
mov r8d, 1
lea r9, [0x1802077bc]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x180108080
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.180106930
mov r15, qword [rsp + 0x150]
cmp r15, 2
jne 0x1801081d4
mov r15d, 2
jmp 0x180108091
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 0x1801080f0
mov r15d, 2
cmp edi, 1
ja 0x180108091
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 0x1801080f0
mov qword [rsp + 0x150], 2
jmp 0x180108157
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.180106a70
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 0x180107f20
lea rcx, [rsp + 0x150]
mov rdx, rsi
xor r8d, r8d
call fcn.180106bc0
cmp dword [rsp + 0x154], 2
je 0x180107f20
movss xmm0, dword [rsp + 0x150]
movss dword [rsi + 0x58], xmm0
ucomiss xmm0, dword [rsi + 0x5c]
jbe 0x180107f20
movss dword [rsi + 0x5c], xmm0
jmp 0x180107f20
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 0x18010826b
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 0x18010826b
lea rdx, [rsp + 0x181]
mov eax, dword [rdx]
mov edx, dword [rdx + 3]
mov dword [rsp + 0xb3], edx
mov dword [rsp + 0xb0], eax
jmp 0x180108091
test r13, r13
je 0x180108283
test rdi, rdi
je 0x180108283
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x50]
test rbp, rbp
je 0x18010829b
test r14, r14
je 0x18010829b
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x50]
test r15, r15
je 0x1801082b0
test rcx, rcx
je 0x1801082b0
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x50]
test bl, bl
je 0x1801082ca
call qword [sym.imp.ole32.dll_CoUninitialize]
mov rcx, qword [rsp + 0x50]
mov r15d, 2
jmp 0x180108091
xor ebx, ebx
mov r15d, 2
jmp 0x180108091
mov rax, r14
shl rax, 5
add r14, rax
cmp r14, 0xffffffffffffffcf
mov r13, qword [rsp + 0x60]
je 0x180108305
sub rdi, rax
add rdi, 0xffffffffffffffe0
mov rcx, qword [0x18021e9c0]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rax, [0x180207ec0]
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 0x180107760
jmp 0x1801083a9
lea rax, [0x180207ec0]
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 [0x18021ea38]
mov rcx, qword [0x18021e9c0]
test rcx, rcx
je 0x1801083c3
movzx ebx, byte [rsp + 0x50]
jmp 0x1801083e1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
movzx ebx, byte [rsp + 0x50]
je 0x18010b948
mov rcx, rax
mov qword [0x18021e9c0], rax
mov r8d, 0x1e
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18010b948
movups xmm0, xmmword [0x1801e4298]
movups xmmword [rax + 0xe], xmm0
movdqu xmm0, xmmword [0x1801e428a]
movdqu xmmword [rax], xmm0
mov qword [rsp + 0x1f0], rax
mov qword [rsp + 0x1f8], 0x1e
mov qword [rsp + 0x200], 0x1e
movzx eax, byte [0x18021ea38]
mov rcx, qword [0x18021e9c0]
test rcx, rcx
jne 0x18010845b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18010b959
mov rcx, rax
mov qword [0x18021e9c0], rax
mov r8d, 5
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18010b959
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.180112d30
lea rcx, [rsp + 0x3d8]
mov edx, ebx
call fcn.18010e160
mov rax, qword [rsp + 0x458]
test rax, rax
je 0x180107760
mov rdi, qword [rsp + 0x448]
add rdi, 0x48
imul r12, rax, 0x70
xor r13d, r13d
lea rbp, [rsp + 0x110]
lea r15, [0x18002b1b0]
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, [0x1801e42c0]
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.18001dcc0
mov qword [rsp + 0xb0], rbp
mov qword [rsp + 0xb8], r15
lea rax, str.description___is_deprecated__use_Display
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.18001dcc0
mov rcx, rbx
lea rdx, [rsp + 0x2c8]
mov r8, rdi
mov r9, rsi
call fcn.180112d30
add rdi, 0x70
add r12, 0xffffffffffffff90
jne 0x180108520
jmp 0x180107760
mov qword [rsp + 0x60], r15
mov byte [rsp + 0x50], sil
movss xmm6, dword [rsp + 0x150]
movd xmm7, dword [rsp + 0x158]
movzx eax, byte [0x18021ea38]
mov esi, 8
mov ecx, 8
mov edx, 1
call fcn.180032860
test rax, rax
je 0x18010b96a
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 0x180107b39
movzx eax, byte [0x18021ea38]
mov ecx, 0x60
mov edx, 8
call fcn.180032860
test rax, rax
je 0x18010b97b
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 0x180107b54
cmp qword [rsp + 0x398], 0
je 0x180108738
mov rcx, qword [0x18021e9c0]
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 0x18010881f
mov qword [rsp + 0xb0], 0
lea rcx, [rsp + 0xb0]
call sub.iphlpapi.dll_GetIfTable2
test eax, eax
jne 0x180109b56
mov rax, qword [rsp + 0x350]
test rax, rax
je 0x1801089b1
mov rcx, qword [rsp + 0x338]
lea rdx, [rcx + 0x10]
movdqa xmm0, xmmword [rcx]
pmovmskb r8d, xmm0
not r8d
jmp 0x1801087df
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 0x1801089b1
test r8w, r8w
jne 0x1801087b0
nop word cs:[rax + rax]
movdqa xmm0, xmmword [rdx]
pmovmskb r8d, xmm0
add rcx, 0xfffffffffffff780
add rdx, 0x10
cmp r8w, 0xffff
je 0x1801087f0
mov r10d, 0xfffffffe
sub r10d, r8d
not r8d
mov r9d, r8d
and r9d, r10d
jmp 0x1801087b7
cmp byte [rsi], 0
je 0x180109b56
lea rcx, [rsp + 0x490]
mov r8d, 0x548
xor edx, edx
call fcn.180181020
mov rdi, qword [rsp + 0x350]
test rdi, rdi
je 0x18010ad0d
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 0x18010888b
mov eax, ebp
test rdi, rdi
je 0x18010ad0d
test ax, ax
je 0x1801088a0
lea ebp, [rax - 1]
and ebp, eax
jmp 0x1801088c7
movdqa xmm0, xmmword [r14]
pmovmskb eax, xmm0
add rbx, 0xfffffffffffff780
add r14, 0x10
cmp ax, 0xffff
je 0x1801088a0
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 0x180108880
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 0x180108880
mov eax, dword [0x18021ea3c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0xa8], 0
jne 0x1801089d3
call fcn.18007c110
lea rax, [0x180207ec0]
mov qword [rsp + 0x490], rax
xorps xmm6, xmm6
movups xmmword [rsp + 0x498], xmm6
mov qword [rsp + 0x4a8], 0
mov eax, dword [0x18021ea3c]
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 0x180109566
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 0x180108a8c
mov rcx, qword [0x18021e9c0]
xor edx, edx
mov r8, r13
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop
inc r12
cmp r12, r15
je 0x180108dec
imul rsi, r12, 0x548
cmp qword [rbx + rsi + 0x4a8], 0
jne 0x180108aa9
cmp qword [rbx + rsi + 0x4b0], 0
je 0x180108a80
cmp dword [rbx + rsi + 0x48c], 2
je 0x180108a80
cmp dword [rbx + rsi + 0x420], 0
je 0x180108a80
movzx eax, byte [0x18021ea38]
mov rax, qword [0x18021e9c0]
test rax, rax
jne 0x180108ae6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18010b8a2
mov qword [0x18021e9c0], rax
mov r8d, 0x14
mov rcx, rax
xor edx, edx
call rdi
test rax, rax
je 0x18010b8a2
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 [0x18021ea38]
mov rax, qword [0x18021e9c0]
test rax, rax
jne 0x180108b40
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18010b8a2
mov qword [0x18021e9c0], rax
mov r8d, 0x14
mov rcx, rax
xor edx, edx
call rdi
test rax, rax
je 0x18010b8a2
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.180106ef0
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 0x180108c10
pcmpeqb xmm1, xmm7
pmovmskb r9d, xmm1
test r9d, r9d
jne 0x180108cff
add r8, rdx
add r8, 0x10
add rdx, 0x10
jmp 0x180108bbd
lea r10d, [r9 - 1]
and r10d, r9d
mov r9d, r10d
test r10w, r10w
je 0x180108bd8
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 0x180108c00
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 0x180108c00
neg rbx
shl rbx, 5
add rsi, rbx
mov rcx, qword [0x18021e9c0]
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 0x180108a6d
mov rdx, qword [rsp + 0x160]
cmp rdx, qword [rsp + 0x158]
jne 0x180108cc5
lea rcx, [rsp + 0x150]
call fcn.180079740
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 0x180108a80
cmp qword [rsp + 0x4a0], 0
je 0x180108dc2
and rdi, rax
movdqu xmm0, xmmword [rsi + rdi]
pmovmskb ecx, xmm0
test ecx, ecx
jne 0x180108d47
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 0x180108d30
mov rbx, qword [rsp + 0x70]
tzcnt ecx, ecx
add rcx, rdi
and rcx, rax
movzx edx, byte [rsi + rcx]
test dl, dl
js 0x180108d6e
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 0x180108c86
lea rcx, [rsp + 0x490]
lea rdx, [rsp + 0x4b0]
call fcn.18018ab40
mov rsi, qword [rsp + 0x490]
mov rax, qword [rsp + 0x498]
jmp 0x180108d0e
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 0x180109506
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 0x180108e82
test rdi, rdi
je 0x180108e79
mov rcx, qword [0x18021e9c0]
xor edx, edx
mov r8, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp rsi, r13
je 0x180109544
mov rax, rsi
add rsi, 0x20
mov rcx, qword [rax + 8]
mov qword [rsp + 0x50], rcx
test rcx, rcx
je 0x180109506
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 0x180109000
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.180106ef0
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 0x180108f7f
pcmpeqb xmm8, xmm6
pmovmskb eax, xmm8
test eax, eax
jne 0x180109301
add rbx, r12
add rbx, 0x10
add r12, 0x10
mov rcx, qword [rsp + 0x60]
jmp 0x180108f22
lea eax, [r13 - 1]
and eax, r13d
mov r13d, eax
test ax, ax
je 0x180108f3e
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 0x180108f70
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x50]
mov r8, r14
call fcn.1801813c0
test eax, eax
jne 0x180108f70
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 0x180109002
xor eax, eax
lea rcx, [rax + 0x18]
test rax, rax
lea rax, [0x1801e4230]
cmove rcx, rax
cmp dword [rcx], 1
jg 0x180108e60
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 0x180109089
cmp r8, 0x100
je 0x180109072
cmp word [rax + r8*2 - 4], 0
je 0x18010907a
cmp word [rax + r8*2 - 2], 0
je 0x18010907f
cmp word [rax + r8*2], 0
je 0x180109085
add r8, 4
cmp word [rax + r8*2 - 6], 0
jne 0x180109040
jmp 0x180109089
mov r8d, 0x101
jmp 0x180109096
inc r8
jmp 0x180109089
add r8, 2
jmp 0x180109089
add r8, 3
cmp r8, 0x102
jae 0x18010b89e
lea rcx, [rsp + 0x1f0]
call fcn.18001e070
mov rbp, qword [rsp + 0x1f0]
test rbp, rbp
je 0x180108e60
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.18007c990
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 0x1801091ac
pcmpeqb xmm8, xmm6
pmovmskb eax, xmm8
test eax, eax
jne 0x180109308
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 0x180109149
lea eax, [rbx - 1]
and eax, ebx
mov ebx, eax
test ax, ax
je 0x180109163
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 0x1801091a0
add rax, r15
mov rcx, qword [rax]
mov rdx, rbp
mov r8, r14
call fcn.1801813c0
test eax, eax
jne 0x1801091a0
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 0x1801092e5
mov rcx, qword [0x18021e9c0]
xor edx, edx
mov r8, rbp
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rsp + 0x2c0], 0
mov rsi, qword [rsp + 0xf8]
jne 0x180108e65
jmp 0x180108e79
xor ecx, ecx
jmp 0x180108fc0
cmp qword [rsp + 0x348], 0
mov rdi, qword [rsp + 0x70]
mov r11, qword [rsp + 0x100]
je 0x1801094dc
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 0x1801093d8
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 0x1801093c0
mov r12, qword [rsp + 0xf0]
tzcnt edi, edi
add rdi, r15
and rdi, rsi
movzx ebx, byte [r11 + rdi]
test bl, bl
js 0x180109405
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 0x180108e65
jmp 0x180108e79
lea rcx, [rsp + 0x338]
lea rdx, [rsp + 0x358]
call fcn.18018a0d0
mov r11, qword [rsp + 0x338]
mov rsi, qword [rsp + 0x340]
jmp 0x180109324
sub r13, rsi
je 0x180109544
shr r13, 5
add rsi, 0x10
jmp 0x180109529
add rsi, 0x20
dec r13
je 0x180109544
cmp qword [rsi], 0
je 0x180109520
mov r8, qword [rsi - 8]
mov rcx, qword [0x18021e9c0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x180109520
cmp qword [rsp + 0x468], 0
je 0x180109566
mov rcx, qword [0x18021e9c0]
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 0x180109662
mov rbx, qword [rsp + 0x4a8]
test rbx, rbx
je 0x180109631
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 0x1801095c7
mov eax, ebp
test rbx, rbx
je 0x180109639
test ax, ax
je 0x1801095e0
lea ebp, [rax - 1]
and ebp, eax
jmp 0x180109607
movdqa xmm0, xmmword [r14]
pmovmskb eax, xmm0
add r12, 0xfffffffffffffe00
add r14, 0x10
cmp ax, 0xffff
je 0x1801095e0
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 0x1801095c0
mov r8, qword [rax - 0x20]
mov rcx, qword [0x18021e9c0]
xor edx, edx
call r15
jmp 0x1801095c0
mov rsi, qword [rsp + 0x490]
mov rax, rdi
shl rax, 5
add rdi, rax
cmp rdi, 0xffffffffffffffcf
je 0x180109662
sub rsi, rax
add rsi, 0xffffffffffffffe0
mov rcx, qword [0x18021e9c0]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rsp + 0x350]
test rsi, rsi
je 0x1801097d8
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 0x1801096b9
test rsi, rsi
je 0x1801097d8
test bp, bp
je 0x1801096d0
lea eax, [rbp - 1]
and eax, ebp
jmp 0x1801096f7
movdqa xmm0, xmmword [r14]
pmovmskb ebp, xmm0
add rdi, 0xfffffffffffff780
add r14, 0x10
cmp bp, 0xffff
je 0x1801096d0
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 0x1801096b0
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 0x180109761
bsr r8w, r8w
xor r8d, 0xf
jmp 0x180109766
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 0x18010979d
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 0x1801096b0
mov r8, qword [rax - 0x88]
mov rcx, qword [0x18021e9c0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1801096b0
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 0x180109aa4
mov edx, dword [rsp + 0x90]
mov rcx, rsi
call fcn.180177588
test rax, rax
je 0x180109872
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 0x180109800
test eax, eax
jne 0x180109aa1
mov qword [rsp + 0x1f8], rdi
mov qword [rsp + 0x200], rdi
xor edi, edi
mov rsi, qword [rsp + 0x58]
test rdi, rdi
jne 0x180109b39
jmp 0x18010990e
movzx eax, byte [0x18021ea38]
mov rcx, qword [0x18021e9c0]
test rcx, rcx
jne 0x18010989e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18010b937
mov rcx, rax
mov qword [0x18021e9c0], rax
mov r8d, 0x32
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18010b937
mov rdi, rax
movups xmm0, xmmword [0x1801e43b8]
movups xmmword [rax + 0x20], xmm0
movups xmm0, xmmword [0x1801e43a8]
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.180177590
mov qword [rsp + 0x1f8], 0x32
mov qword [rsp + 0x200], 0x32
mov rsi, qword [rsp + 0x58]
test rdi, rdi
jne 0x180109b39
movdqu xmm0, xmmword [rsp + 0x1f8]
movdqa xmmword [rsp + 0x150], xmm0
cmp qword [rsp + 0x350], 0
je 0x18010acb2
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.180106da0
mov r15, qword [rsp + 0x490]
test r15, r15
je 0x18010ad00
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.18007c990
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 0x180109a2c
pcmpeqb xmm8, xmm6
pmovmskb eax, xmm8
test eax, eax
jne 0x180109a7e
add r13, rdi
add r13, 0x10
add rdi, 0x10
jmp 0x1801099de
lea eax, [rsi - 1]
and eax, esi
mov esi, eax
test ax, ax
je 0x1801099fd
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 0x180109a20
add rbx, rbp
mov rdx, qword [rbx]
mov rcx, r15
mov r8, r12
call fcn.1801813c0
test eax, eax
jne 0x180109a20
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 0x180109970
mov rcx, qword [0x18021e9c0]
xor edx, edx
mov r8, r15
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x180109970
mov rsi, rdi
lea rax, [rsp + 0x110]
mov qword [rsp + 0x150], rax
lea rax, [0x1800293f0]
mov qword [rsp + 0x158], rax
lea rax, [0x1801e43f8]
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.18001dcc0
mov rcx, rsi
call fcn.180177590
mov rdi, qword [rsp + 0x1f0]
mov rsi, qword [rsp + 0x58]
test rdi, rdi
je 0x18010990e
cmp qword [rsp + 0x1f8], 0
je 0x180109b56
mov rcx, qword [0x18021e9c0]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
movzx eax, word [rsi + 8]
cmp al, 2
jne 0x18010ad1e
cmp byte [rsi + 2], 0
je 0x18010b7ca
call sub.KERNEL32.dll_GetLogicalDrives
mov dword [rsp + 0xb0], eax
test eax, eax
je 0x180109bdc
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 [0x18021ea3c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x50]
test rax, rax
je 0x180109bf1
add rax, 0x110
jmp 0x180109bf6
xorps xmm0, xmm0
movaps xmmword [rsp + 0x490], xmm0
mov edi, 8
jmp 0x180109d75
call fcn.1800774f0
mov rax, qword [rax]
mov r9, qword [rax + 0x1f0]
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.18010ba60
mov rbx, qword [rsp + 0x490]
mov rax, qword [rsp + 0x4a0]
test rax, rax
je 0x180109c7b
xor r8d, r8d
mov rcx, rbx
nop word cs:[rax + rax]
test rcx, rcx
je 0x180109c72
add r8, qword [rcx + 0x10]
mov rcx, qword [rcx + 0x18]
dec rax
jne 0x180109c60
test r8, r8
jne 0x18010b85c
lea r12, [rsp + 0x1f8]
test rbx, rbx
je 0x180109d60
mov r13, qword [sym.imp.KERNEL32.dll_HeapFree]
lea rdi, [rsp + 0x1f0]
jmp 0x180109cac
mov rbx, rsi
test rsi, rsi
je 0x180109d60
mov rsi, qword [rbx + 0x18]
test rsi, rsi
je 0x180109cbd
mov qword [rsi + 0x20], 0
mov r14, qword [rbx]
mov rbp, qword [rbx + 8]
mov r15, qword [rbx + 0x10]
mov rcx, qword [0x18021e9c0]
xor edx, edx
mov r8, rbx
call r13
test r14, r14
je 0x180109d57
mov rax, qword [rsp + 0x1f8]
mov rbx, qword [rsp + 0x200]
sub rax, rbx
cmp rax, r15
jb 0x180109d3f
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.180180980
add rbx, r15
mov qword [rsp + 0x200], rbx
test rbp, rbp
je 0x180109ca0
mov rcx, qword [0x18021e9c0]
xor edx, edx
mov r8, r14
call r13
jmp 0x180109ca0
mov rcx, rdi
mov rdx, rbx
mov r8, r15
call fcn.18018b3d0
mov rbx, qword [rsp + 0x200]
jmp 0x180109cf4
test rsi, rsi
jne 0x18010a62b
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.18010c980
cmp qword [rsp + 0x3b0], 0
je 0x180109db2
mov rcx, qword [0x18021e9c0]
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 0x18010a7ef
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 0x180109e7b
test ebp, ebp
jne 0x18010a663
mov r15, qword [rsp + 0x78]
mov eax, dword [rsp + 0x10c]
lea rsi, [r15 + rax*8]
mov rax, r15
nop
cmp rax, rsi
je 0x18010a5f0
lea r15, [rax + 8]
cmp qword [rax], 0
mov rax, r15
je 0x180109e90
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 0x180109ee3
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x180109e8b
call sub.netapi32.dll_NetApiBufferFree
jmp 0x180109e8b
mov rcx, qword [rsp + 0x88]
mov rdi, qword [rcx + 0x20]
test rdi, rdi
je 0x18010a0a1
mov rcx, rdi
call sub.ADVAPI32.dll_IsValidSid
test eax, eax
je 0x18010a0b0
mov rcx, rdi
call sub.ADVAPI32.dll_GetLengthSid
test eax, eax
je 0x18010a0ba
mov qword [rsp + 0x58], rbx
mov ebx, eax
mov rax, qword [0x18021e9c0]
test rax, rax
jne 0x180109f41
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18010b8b3
mov qword [0x18021e9c0], rax
mov rcx, rax
mov edx, 8
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18010b8b3
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 0x18010a0db
cmp byte [r13], 1
jne 0x18010b89e
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 0x180109fee
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x18010a1e4
mov r14d, dword [rsp + 0x90]
test r14, r14
je 0x18010a0f9
lea rbx, [r14 + r14]
mov rax, qword [0x18021e9c0]
test rax, rax
jne 0x18010a025
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18010b8f9
mov qword [0x18021e9c0], rax
mov rcx, rax
mov edx, 8
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18010b8f9
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 0x18010a14c
mov rcx, qword [0x18021e9c0]
xor edx, edx
mov r8, rdi
call r12
jmp 0x18010a1e4
lea rdi, [rsp + 0x6c]
call sub.netapi32.dll_NetApiBufferFree
jmp 0x180109e8b
lea rdi, [rsp + 0x6c]
jmp 0x180109ecf
mov edx, 1
xor ecx, ecx
mov r8, rdi
call sub.ADVAPI32.dll_CopySid
test eax, eax
lea rdi, [rsp + 0x6c]
je 0x180109ecf
jmp 0x18010b89e
mov rcx, qword [0x18021e9c0]
xor edx, edx
mov r8, r13
call r12
lea rdi, [rsp + 0x6c]
mov rbx, qword [rsp + 0x58]
jmp 0x180109ecf
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 0x18010a1e4
mov r8, 0xffffffffffffffff
nop word cs:[rax + rax]
cmp word [rdi + r8*2 + 2], 0
lea r8, [r8 + 1]
jne 0x18010a160
lea rcx, [rsp + 0x490]
mov rdx, rdi
call fcn.18001e070
mov rax, qword [rsp + 0x490]
test rax, rax
je 0x18010a236
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 0x18010a1ca
mov rcx, qword [0x18021e9c0]
xor edx, edx
mov r8, rdi
call r12
movaps xmm0, xmmword [rsp + 0x490]
movaps xmmword [rsp + 0x90], xmm0
lea rdi, [rsp + 0x6c]
jmp 0x18010a278
mov rdx, qword [r15 - 8]
mov r8, 0xffffffffffffffff
nop
cmp word [rdx + r8*2 + 2], 0
lea r8, [r8 + 1]
jne 0x18010a1f0
lea rcx, [rsp + 0x490]
call fcn.18001e070
mov rax, qword [rsp + 0x490]
test rax, rax
lea rdi, [rsp + 0x6c]
je 0x18010a266
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x498]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x90], xmm0
jmp 0x18010a278
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 0x18010a1bb
jmp 0x18010a1ca
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, [0x180207716]
xor r8d, r8d
mov r9d, 1
call sub.netapi32.dll_NetUserGetLocalGroups
test eax, eax
je 0x18010a312
mov qword [rsp + 0x1f0], 8
lea rax, [rsp + 0x1f8]
movups xmmword [rax], xmm6
jmp 0x18010a472
mov ebx, dword [rsp + 0xac]
test rbx, rbx
je 0x18010a36e
lea rax, [rbx*8]
lea r14, [rax + rax*2]
movzx eax, byte [0x18021ea38]
mov rax, qword [0x18021e9c0]
test rax, rax
jne 0x18010a353
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18010b928
mov qword [0x18021e9c0], rax
mov rcx, rax
xor edx, edx
mov r8, r14
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x18010a373
jmp 0x18010b928
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 0x18010a4b6
mov qword [rsp + 0x60], r13
mov r13d, dword [rsp + 0xac]
cmp ebx, r13d
jb 0x18010a5c4
mov eax, 0
mov ebx, 0
test r13, r13
je 0x18010a460
lea r13, [r14 + r13*8]
mov rbx, rax
jmp 0x18010a40a
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 0x18010a460
mov rdx, qword [r14]
mov r8, 0xffffffffffffffff
nop word cs:[rax + rax]
cmp word [rdx + r8*2 + 2], 0
lea r8, [r8 + 1]
jne 0x18010a420
add r14, 8
lea rcx, [rsp + 0x490]
call fcn.18001e070
mov rax, qword [rsp + 0x490]
test rax, rax
je 0x18010a3e0
lea rcx, [rsp + 0x498]
movups xmm0, xmmword [rcx]
movaps xmmword [rsp + 0xb0], xmm0
jmp 0x18010a3ed
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 0x18010a4eb
call sub.netapi32.dll_NetApiBufferFree
jmp 0x18010a4eb
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 0x18010a555
lea rcx, [rsp + 0x150]
mov rdx, rbx
call fcn.18010b990
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 0x180109ecf
lea rcx, [rsp + 0x1f0]
mov rdx, r13
call fcn.18018a000
mov rdi, qword [rsp + 0x1f0]
mov rax, qword [rsp + 0x200]
jmp 0x18010a3c9
cmp ebp, 0xea
jne 0x18010a663
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x180109e10
call sub.netapi32.dll_NetApiBufferFree
jmp 0x180109e10
mov rcx, qword [0x18021e9c0]
xor edx, edx
mov r8, rsi
call r13
mov rsi, rbx
test rbx, rbx
je 0x180109d60
mov rbx, qword [rsi + 0x18]
test rbx, rbx
je 0x18010a63c
mov qword [rbx + 0x20], 0
mov rdi, qword [rsi]
mov rdx, qword [rsi + 0x10]
mov rcx, rdi
call fcn.18010c980
cmp qword [rsi + 8], 0
je 0x18010a610
mov rcx, qword [0x18021e9c0]
xor edx, edx
mov r8, rdi
call r13
jmp 0x18010a610
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x18010a672
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 0x18010a837
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 0x18010a6d5
mov rcx, rsi
call sub.Secur32.dll_LsaFreeReturnBuffer
mov rsi, qword [rsp + 0x3c0]
mov rbx, qword [rsp + 0x3d0]
test rbx, rbx
je 0x18010a7b3
xor r14d, r14d
jmp 0x18010a709
cmp r14, rbx
je 0x18010a7b3
lea r15, [r14 + r14*4]
shl r15, 4
cmp qword [rsi + r15 + 8], 0
je 0x18010a72c
lea rax, [rsi + r15]
mov r8, qword [rax]
mov rcx, qword [0x18021e9c0]
xor edx, edx
call r12
cmp qword [rsi + r15 + 0x20], 0
je 0x18010a745
mov r8, qword [rsi + r15 + 0x18]
mov rcx, qword [0x18021e9c0]
xor edx, edx
call r12
mov rdi, qword [rsi + r15 + 0x30]
mov r13, qword [rsi + r15 + 0x40]
test r13, r13
je 0x18010a790
lea rbp, [rdi + 8]
jmp 0x18010a769
add rbp, 0x18
dec r13
je 0x18010a790
cmp qword [rbp], 0
je 0x18010a760
mov r8, qword [rbp - 8]
mov rcx, qword [0x18021e9c0]
xor edx, edx
call r12
jmp 0x18010a760
inc r14
cmp qword [rsi + r15 + 0x38], 0
je 0x18010a700
mov rcx, qword [0x18021e9c0]
xor edx, edx
mov r8, rdi
call r12
jmp 0x18010a700
cmp qword [rsp + 0x3c8], 0
je 0x18010a7d0
mov rcx, qword [0x18021e9c0]
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.180180980
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 0x18010a6a8
lea r15, [rsi + rax*8]
lea rdi, [rsp + 0xb0]
xorps xmm6, xmm6
mov qword [rsp + 0x70], r15
jmp 0x18010a882
call sub.Secur32.dll_LsaFreeReturnBuffer
add rsi, 8
cmp rsi, r15
je 0x18010a6a0
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 0x18010a978
test rcx, rcx
je 0x18010a978
cmp dword [rcx + 0x40], 3
je 0x18010a970
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.180107150
mov rbp, qword [rsp + 0x490]
test rbp, rbp
je 0x18010a970
mov qword [rsp + 0x60], r13
mov rax, qword [rsp + 0x498]
mov qword [rsp + 0x50], rax
mov r13, qword [rsp + 0x4a0]
test rbx, rbx
je 0x18010a986
mov rax, rbx
shl rax, 4
lea rdi, [rax + rax*4]
xor r15d, r15d
jmp 0x18010a929
add r15, 0x50
cmp rdi, r15
je 0x18010a986
cmp r13, qword [r14 + r15 + 0x10]
jne 0x18010a920
mov rcx, qword [r14 + r15]
mov rdx, rbp
mov r8, r13
call fcn.1801813c0
test eax, eax
jne 0x18010a920
cmp qword [rsp + 0x50], 0
mov r15, qword [rsp + 0x70]
lea rdi, [rsp + 0xb0]
je 0x18010a970
mov rcx, qword [0x18021e9c0]
xor edx, edx
mov r8, rbp
call r12
nop word [rax + rax]
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
jne 0x18010a870
jmp 0x18010a875
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 0x18010a9f1
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x18010ab8d
mov edi, dword [rsp + 0x88]
test rdi, rdi
mov qword [rsp + 0xf8], rdi
je 0x18010aaad
lea r8, [rdi + rdi]
mov rax, qword [0x18021e9c0]
test rax, rax
jne 0x18010aa35
mov rdi, r8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18010b908
mov qword [0x18021e9c0], rax
mov r8, rdi
mov rcx, rax
mov edx, 8
mov rdi, r8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18010b908
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 0x18010ab01
mov rcx, qword [0x18021e9c0]
xor edx, edx
mov r8, r15
call r12
jmp 0x18010ab8d
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 0x18010ab8d
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
cmp word [r15 + r8*2 + 2], 0
lea r8, [r8 + 1]
jne 0x18010ab10
lea rcx, [rsp + 0x490]
mov rdx, r15
call fcn.18001e070
mov rdi, qword [rsp + 0x490]
test rdi, rdi
je 0x18010abc9
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 0x18010ab7b
mov rcx, qword [0x18021e9c0]
xor edx, edx
mov r8, r15
call r12
movaps xmm0, xmmword [rsp + 0x490]
movaps xmmword [rsp + 0x1f0], xmm0
jmp 0x18010ac04
mov r8, qword [rsp + 0x60]
shr r8, 1
lea rcx, [rsp + 0x490]
mov rdx, qword [rsp + 0x58]
call fcn.18001e070
mov rdi, qword [rsp + 0x490]
test rdi, rdi
je 0x18010abf7
lea rax, [rsp + 0x498]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x1f0], xmm0
jmp 0x18010ac04
movaps xmmword [rsp + 0x1f0], xmm6
mov edi, 1
movaps xmm0, xmmword [rsp + 0x1f0]
movaps xmmword [rsp + 0x490], xmm0
cmp qword [rsp + 0xf8], 0
jne 0x18010ab6c
jmp 0x18010ab7b
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 0x18010ac43
lea rcx, [rsp + 0x150]
mov rdx, rbx
call fcn.18010b990
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 0x18010a870
jmp 0x18010a875
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.180106da0
mov r8, qword [rsp + 0x490]
test r8, r8
je 0x18010ad00
cmp qword [rsp + 0x498], 0
je 0x18010acd0
mov rcx, qword [0x18021e9c0]
xor edx, edx
call rbx
jmp 0x18010acd0
mov rcx, qword [rsp + 0x150]
call fcn.180177590
mov rsi, qword [rsp + 0x58]
movzx eax, word [rsi + 8]
cmp al, 2
je 0x180109b62
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 [0x18021ea38]
mov rcx, qword [0x18021e9c0]
test rcx, rcx
jne 0x18010ad5f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18010b8e8
mov rcx, rax
mov qword [0x18021e9c0], rax
mov r13d, 0x80000
mov r8d, 0x80000
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18010b8e8
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 0x18010ae30
jmp 0x18010ae19
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 0x18010ae30
mov rcx, rdi
mov r8, rbx
call fcn.180184d40
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 0x18010ade0
test eax, eax
jne 0x18010af12
mov qword [rsp + 0x120], rbx
movzx eax, byte [0x18021ea38]
mov rcx, qword [0x18021e9c0]
test rcx, rcx
jne 0x18010ae84
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18010b917
mov rcx, rax
mov qword [0x18021e9c0], rax
mov r8d, 0xfa0
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18010b917
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 0x18010aeea
mov qword [rax + rdx*8], r14
inc rdx
mov qword [rsp + 0xc0], rdx
mov ecx, dword [r14]
add rbx, rcx
test rcx, rcx
je 0x18010af32
lea r14, [rsi + rbx]
cmp rdx, qword [rsp + 0xb8]
jne 0x18010aed0
mov rcx, rdi
call fcn.18011a910
mov rax, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xc0]
jmp 0x18010aed0
cmp qword [rsp + 0x118], 0
je 0x18010b7bb
mov rcx, qword [0x18021e9c0]
xor edx, edx
mov r8, rsi
jmp 0x18010b7b5
mov qword [rsp + 0x88], r15
cmp byte [rsp + 0x78], 0
je 0x18010af5a
lea rcx, [rsp + 0x3d8]
xor edx, edx
call fcn.18010e160
mov rax, qword [rsp + 0x458]
jmp 0x18010af5c
xor eax, eax
movabs rsi, 0x19db1ded53e7fff
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x490], 0
mov rax, qword [0x18021d030]
lea rcx, [rsp + 0x490]
call rax
mov rax, qword [rsp + 0x490]
cmp rax, rsi
jle 0x18010afb8
movabs rcx, 0xfe624e212ac18000
add rax, rcx
movabs rcx, 0xd6bf94d5e57a42bd
mul rcx
shr rdx, 0x17
jmp 0x18010afba
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 0x18010b89e
lea r14, [rsp + 0x4a8]
mov rdi, qword [rsp + 0x490]
mov eax, dword [0x18021ea3c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x50]
test rax, rax
je 0x18010b082
add rax, 0x110
jmp 0x18010b087
call fcn.1800774f0
mov rax, qword [rax]
mov r9, qword [rax + 0x1f0]
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.18010ec40
test rbx, rbx
je 0x18010b0e3
mov rcx, qword [0x18021e9c0]
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 0x18010b11b
xor r8d, r8d
mov rcx, rdi
nop
test rcx, rcx
je 0x18010b112
add r8, qword [rcx + 0x10]
mov rcx, qword [rcx + 0x18]
dec rax
jne 0x18010b100
test r8, r8
jne 0x18010b881
test rdi, rdi
je 0x18010b1f7
mov r12, qword [sym.imp.KERNEL32.dll_HeapFree]
lea rbx, [rsp + 0x150]
jmp 0x18010b14c
mov rdi, rsi
test rsi, rsi
je 0x18010b1f7
mov rsi, qword [rdi + 0x18]
test rsi, rsi
je 0x18010b15d
mov qword [rsi + 0x20], 0
mov r14, qword [rdi]
mov r13, qword [rdi + 8]
mov r15, qword [rdi + 0x10]
mov rcx, qword [0x18021e9c0]
xor edx, edx
mov r8, rdi
call r12
test r14, r14
je 0x18010b1f2
mov rax, qword [rsp + 0x158]
mov rdi, qword [rsp + 0x160]
sub rax, rdi
cmp rax, r15
jb 0x18010b1da
imul rcx, rdi, 0x150
add rcx, qword [rsp + 0x150]
imul r8, r15, 0x150
mov rdx, r14
call fcn.180180980
add rdi, r15
mov qword [rsp + 0x160], rdi
test r13, r13
je 0x18010b140
mov rcx, qword [0x18021e9c0]
xor edx, edx
mov r8, r14
call r12
jmp 0x18010b140
mov rcx, rbx
mov rdx, rdi
mov r8, r15
call fcn.18018b9e0
mov rdi, qword [rsp + 0x160]
jmp 0x18010b194
test rsi, rsi
jne 0x18010b267
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 0x18010b5dd
lea r15, [rsp + 0x1f0]
lea r14, [rsp + 0x150]
pcmpeqd xmm6, xmm6
mov rbx, qword [rsp + 0x60]
jmp 0x18010b35b
mov rcx, qword [0x18021e9c0]
xor edx, edx
mov r8, rsi
call r12
mov rsi, r14
test r14, r14
je 0x18010b1f7
mov r14, qword [rsi + 0x18]
test r14, r14
je 0x18010b278
mov qword [r14 + 0x20], 0
mov rdi, qword [rsi]
mov r15, qword [rsi + 0x10]
test r15, r15
je 0x18010b2a4
mov rbx, rdi
nop word [rax + rax]
mov rcx, rbx
call fcn.180111240
add rbx, 0x150
dec r15
jne 0x18010b290
cmp qword [rsi + 8], 0
je 0x18010b250
mov rcx, qword [0x18021e9c0]
xor edx, edx
mov r8, rdi
call r12
jmp 0x18010b250
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.180180980
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.180180980
nop word [rax + rax]
cmp rbx, qword [rsp + 0x50]
je 0x18010b624
mov rdx, rbx
add rbx, 0x150
mov rbp, qword [rdx]
cmp rbp, 2
je 0x18010b5dd
lea rdi, [rdx + 0xc8]
mov r13, qword [rdx + 0xc0]
add rdx, 8
mov r8d, 0xb8
mov rsi, r15
mov rcx, r15
call fcn.180180980
mov r8d, 0x88
mov rcx, r14
mov rdx, rdi
call fcn.180180980
mov rcx, qword [rsp + 0x328]
mov rdx, qword [rsp + 0x330]
mov r8, r13
call fcn.1801113d0
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 0x18010b440
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 0x18010b410
jmp 0x18010b460
pcmpeqb xmm1, xmm6
pmovmskb r9d, xmm1
test r9d, r9d
jne 0x18010b4ec
add r8, rdx
add r8, 0x10
add rdx, 0x10
jmp 0x18010b3f7
lea rdx, [rdi + r12]
add rdx, 0xfffffffffffffeb0
mov r8d, 0x150
lea rcx, [rsp + 0x490]
call fcn.180180980
mov qword [rdi + r12 - 0x150], rbp
lea rcx, [rdi + r12]
add rcx, 0xfffffffffffffeb8
mov r8d, 0xb8
mov r15, rsi
mov rdx, rsi
call fcn.180180980
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.180180980
cmp qword [rsp + 0x490], 2
je 0x18010b350
lea rcx, [rsp + 0x490]
call fcn.180111240
jmp 0x18010b350
mov rdx, rax
and rdx, r15
movdqu xmm0, xmmword [rdi + rdx]
pmovmskb ecx, xmm0
test ecx, ecx
jne 0x18010b527
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 0x18010b510
tzcnt ecx, ecx
add rcx, rdx
and rcx, rax
movzx r12d, byte [rdi + rcx]
test r12b, r12b
js 0x18010b54c
movdqa xmm0, xmmword [rdi]
pmovmskb ecx, xmm0
tzcnt ecx, ecx
movzx r12d, byte [rdi + rcx]
and r12b, 1
je 0x18010b2bc
cmp qword [rsp + 0x318], 0
jne 0x18010b2bc
lea rcx, [rsp + 0x308]
lea rdx, [rsp + 0x328]
call fcn.18018bab0
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 0x18010b5b8
mov edx, 0x10
add r15, rdx
and r15, rax
movdqu xmm0, xmmword [rdi + r15]
pmovmskb ecx, xmm0
add rdx, 0x10
test ecx, ecx
je 0x18010b5a0
tzcnt ecx, ecx
add rcx, r15
and rcx, rax
cmp byte [rdi + rcx], 0
js 0x18010b2bc
movdqa xmm0, xmmword [rdi]
pmovmskb ecx, xmm0
tzcnt ecx, ecx
jmp 0x18010b2bc
mov r8, qword [rsp + 0x50]
mov rax, r8
sub rax, rbx
shr rax, 4
movabs rcx, 0xc30c30c30c30c31
mul rcx
cmp r8, rbx
je 0x18010b624
mov rdi, rdx
nop word cs:[rax + rax]
mov rcx, rbx
call fcn.180111240
add rbx, 0x150
dec rdi
jne 0x18010b610
cmp qword [rsp + 0x70], 0
je 0x18010b640
mov rcx, qword [0x18021e9c0]
xor edx, edx
mov r8, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rsp + 0x320]
test rsi, rsi
je 0x18010b799
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 0x18010b6c0
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.180111240
mov eax, r12d
test r13, r13
je 0x18010b799
test ax, ax
je 0x18010b6d0
lea r12d, [rax - 1]
and r12d, eax
jmp 0x18010b6f9
movdqa xmm0, xmmword [r14]
pmovmskb eax, xmm0
add rbp, 0xffffffffffffea80
add r14, 0x10
cmp ax, 0xffff
je 0x18010b6d0
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 0x18010b6b4
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 0x18010b758
bsr cx, cx
xor ecx, 0xf
jmp 0x18010b75c
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 0x18010b690
inc r15
mov qword [rsp + 0x318], r15
mov r9b, 0xff
jmp 0x18010b690
cmp qword [rsp + 0x118], 0
je 0x18010b7bb
mov r8, qword [rsp + 0x110]
mov rcx, qword [0x18021e9c0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rsp + 0x58]
cmp byte [rsi + 2], 0
jne 0x180109b6c
cmp byte [rsi + 3], 0
je 0x180109dc5
mov rax, qword [rsp + 0x3b8]
test rax, rax
je 0x180109dc5
mov rdi, qword [rsp + 0x3a8]
shl rax, 4
lea rbx, [rax + rax*8]
xor r14d, r14d
lea rsi, [rsp + 0x490]
jmp 0x18010b820
add r14, 0x90
cmp rbx, r14
je 0x180109dc5
cmp qword [rdi + r14 + 0x78], 0
je 0x18010b810
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 0x18010b810
mov rax, qword [rsp + 0x490]
mov qword [rdi + r14 + 0x80], rax
jmp 0x18010b810
lea rcx, [rsp + 0x1f0]
xor edx, edx
call fcn.18018b3d0
lea r12, [rsp + 0x1f8]
test rbx, rbx
jne 0x180109c8c
jmp 0x180109d60
lea rcx, [rsp + 0x150]
xor edx, edx
call fcn.18018b9e0
test rdi, rdi
jne 0x18010b124
jmp 0x18010b1f7
ud2
mov ecx, 2
mov edx, 0x14
call fcn.1801828e0
ud2
mov ecx, 1
jmp 0x18010b8fe
mov ecx, 0x56410
call fcn.18004ccc0
ud2
mov ecx, 1
mov edx, 9
call fcn.1801828e0
ud2
mov ecx, 8
mov edx, 0x120
call fcn.1801828e0
ud2
mov ecx, 1
mov edx, 0x80000
call fcn.1801828e0
ud2
mov ecx, 2
mov rdx, rbx
call fcn.1801828e0
ud2
mov ecx, 2
mov rdx, rdi
call fcn.1801828e0
ud2
mov ecx, 8
mov edx, 0xfa0
call fcn.1801828e0
ud2
mov ecx, 8
mov rdx, r14
call fcn.1801828e0
ud2
mov ecx, 1
mov edx, 0x32
call fcn.1801828e0
ud2
mov ecx, 1
mov edx, 0x1e
call fcn.1801828e0
ud2
mov ecx, 1
mov edx, 5
call fcn.1801828e0
ud2
mov ecx, 1
mov edx, 8
call fcn.1801828e0
ud2
mov ecx, 8
mov edx, 0x60
call fcn.1801828e0
ud2