Function at 0x18001d7a0
Capabilities:
Enumerate disk volumes
Get memory capacity

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x388
movaps xmmword [rsp + 0x370], xmm7
movaps xmmword [rsp + 0x360], xmm6
mov r15, rcx
mov eax, dword [0x1801fd9dc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0xa0], 0
jne 0x18001d7e8
call fcn.18011ed90
mov eax, dword [0x1801fd9dc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movups xmm6, xmmword [rax + 0xa8]
inc qword [rax + 0xa8]
movzx eax, byte [0x1801fd9d8]
mov rcx, qword [0x1801fd960]
test rcx, rcx
jne 0x18001d835
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18001eccd
mov rcx, rax
mov qword [0x1801fd960], rax
mov r8d, 0x56410
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18001eccd
mov rdi, rax
add rdi, 0x56000
mov r8d, 0x410
mov rcx, rdi
mov dl, 0xff
call fcn.18015b1d0
movzx eax, byte [0x1801fd9d8]
mov rcx, qword [0x1801fd960]
test rcx, rcx
jne 0x18001d892
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18001ecd9
mov rcx, rax
mov qword [0x1801fd960], rax
mov r8d, 9
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18001ecd9
movabs rcx, 0x5043206c61746f54
mov qword [rax], rcx
mov byte [rax + 8], 0x55
xorps xmm7, xmm7
movups xmmword [rsp + 0x150], xmm7
movups xmmword [rsp + 0x168], xmm7
mov qword [rsp + 0x178], 0
movups xmmword [rsp + 0x1a8], xmm7
mov byte [rsp + 0x1b8], 0
movups xmmword [rsp + 0x110], xmm7
movups xmmword [rsp + 0x120], xmm7
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xe0], rdi
mov qword [rsp + 0xe8], 0x3ff
mov qword [rsp + 0xf0], 0x380
mov qword [rsp + 0xf8], 0
movups xmmword [rsp + 0x100], xmm6
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], 9
mov qword [rsp + 0x140], 9
mov qword [rsp + 0x148], 1
mov qword [rsp + 0x160], 1
mov qword [rsp + 0x190], 0
mov dword [rsp + 0x198], 0
mov qword [rsp + 0x1a0], 8
movaps xmmword [rsp + 0x240], xmm7
movaps xmmword [rsp + 0x270], xmm7
movaps xmmword [rsp + 0x260], xmm7
movaps xmmword [rsp + 0x250], xmm7
mov dword [rsp + 0x240], 0x40
lea rcx, [rsp + 0x240]
call qword [sym.imp.kernel32.dll_GlobalMemoryStatusEx]
test eax, eax
jne 0x18001d9d6
call sub.kernel32.dll_GetLastError
movups xmm0, xmmword [rsp + 0x248]
movups xmmword [rsp + 0x110], xmm0
movaps xmmword [rsp + 0x290], xmm7
movaps xmmword [rsp + 0x280], xmm7
movaps xmmword [rsp + 0x270], xmm7
movaps xmmword [rsp + 0x260], xmm7
movaps xmmword [rsp + 0x250], xmm7
movaps xmmword [rsp + 0x240], xmm7
mov qword [rsp + 0x2a0], 0
lea rcx, [rsp + 0x240]
mov edx, 0x68
call qword [sym.imp.kernel32.dll_K32GetPerformanceInfo]
test eax, eax
je 0x18001da95
mov r8, qword [rsp + 0x260]
mov r9, qword [rsp + 0x250]
xor r10d, r10d
sub r9, r8
cmovb r9, r10
mov rcx, qword [rsp + 0x290]
mov rax, rcx
mul r9
mov r9, 0xffffffffffffffff
cmovo rax, r9
mov r11, qword [rsp + 0x248]
sub r11, r8
cmovb r11, r10
mov qword [rsp + 0x120], rax
mov rax, rcx
mul r11
cmovo rax, r9
mov qword [rsp + 0x128], rax
movabs rdi, 0x202020202020101
lea rsi, [rsp + 0xa0]
mov rcx, rsi
mov dl, 1
call fcn.1800f7ba0
mov byte [rsp + 0x240], 1
mov qword [rsp + 0x241], rdi
lea rdx, [rsp + 0x240]
mov rcx, rsi
call fcn.1800f8050
lea rcx, [rsp + 0x240]
mov r8d, 0x120
mov rdx, rsi
call fcn.18015ab20
xorps xmm6, xmm6
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0xd0], xmm6
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xb0], xmm6
mov dword [rsp + 0xa0], 0x40
lea rcx, [rsp + 0xa0]
call qword [sym.imp.kernel32.dll_GlobalMemoryStatusEx]
test eax, eax
jne 0x18001db2c
call sub.kernel32.dll_GetLastError
movups xmm0, xmmword [rsp + 0xa8]
movups xmmword [rsp + 0x2b0], xmm0
movaps xmmword [rsp + 0xf0], xmm6
movaps xmmword [rsp + 0xe0], xmm6
movaps xmmword [rsp + 0xd0], xmm6
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xb0], xmm6
movaps xmmword [rsp + 0xa0], xmm6
mov qword [rsp + 0x100], 0
lea rcx, [rsp + 0xa0]
mov edx, 0x68
call qword [sym.imp.kernel32.dll_K32GetPerformanceInfo]
test eax, eax
je 0x18001dbeb
mov r8, qword [rsp + 0xc0]
mov r9, qword [rsp + 0xb0]
xor r10d, r10d
sub r9, r8
cmovb r9, r10
mov rcx, qword [rsp + 0xf0]
mov rax, rcx
mul r9
mov r9, 0xffffffffffffffff
cmovo rax, r9
mov r11, qword [rsp + 0xa8]
sub r11, r8
cmovb r11, r10
mov qword [rsp + 0x2c0], rax
mov rax, rcx
mul r11
cmovo rax, r9
mov qword [rsp + 0x2c8], rax
lea rsi, [rsp + 0x240]
mov rcx, rsi
mov dl, 1
call fcn.1800f7ba0
mov byte [rsp + 0xa0], 1
mov qword [rsp + 0xa1], rdi
lea rdi, [rsp + 0xa0]
mov rcx, rsi
mov rdx, rdi
call fcn.1800f8050
mov rbx, qword [rsp + 0x2b0]
mov qword [rsp + 0x58], rbx
movzx eax, byte [0x1801fd9d8]
mov rcx, qword [0x1801fd960]
test rcx, rcx
jne 0x18001dc59
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18001ecea
mov rcx, rax
mov qword [0x1801fd960], rax
mov r8d, 0x140
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18001ecea
mov rsi, rax
mov qword [rsp + 0xa0], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0xa8], xmm0
movzx eax, byte [0x1801fd9d8]
mov rcx, qword [0x1801fd960]
test rcx, rcx
jne 0x18001dcb6
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18001ecfb
mov rcx, rax
mov qword [0x1801fd960], rax
mov r8d, 0x20a
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18001ecfb
mov r14, rax
mov qword [rsp + 0x50], r15
mov r8d, 0x20a
mov rcx, rax
xor edx, edx
call fcn.18015b1d0
mov rcx, r14
mov edx, 0x105
call qword [sym.imp.kernel32.dll_FindFirstVolumeW]
mov r15, rax
inc rax
cmp rax, 2
mov qword [rsp + 0x48], rsi
jae 0x18001dd31
call sub.kernel32.dll_GetLastError
xorps xmm0, xmm0
movaps xmmword [rsp + 0x1c0], xmm0
mov rcx, qword [0x1801fd960]
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapFree]
mov r14d, 8
jmp 0x18001df70
mov edi, 2
nop word cs:[rax + rax]
cmp word [r14 + rdi*2 - 4], 0
je 0x18001dd6b
cmp word [r14 + rdi*2 - 2], 0
je 0x18001dd71
cmp word [r14 + rdi*2], 0
je 0x18001dd74
add rdi, 3
cmp rdi, 0x107
jne 0x18001dd40
ud2
add rdi, 0xfffffffffffffffe
jmp 0x18001dd74
dec rdi
lea r12, [rdi + rdi]
add r12, 2
movzx eax, byte [0x1801fd9d8]
mov rcx, qword [0x1801fd960]
test rcx, rcx
jne 0x18001dda8
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18001ed0c
mov rcx, rax
mov qword [0x1801fd960], rax
xor edx, edx
mov r8, r12
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18001ed0c
mov rsi, rax
inc rdi
mov rcx, rax
mov rdx, r14
mov r8, r12
call fcn.18015ab20
lea rcx, [rsp + 0xa0]
xor edx, edx
call fcn.18012b140
mov r12, qword [rsp + 0xa0]
mov r13, qword [rsp + 0xb0]
jmp 0x18001de03
inc rdi
lea rcx, [r13*2]
add rcx, r13
lea rax, [r12 + rcx*8]
mov qword [r12 + rcx*8], rsi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rdi
inc r13
mov qword [rsp + 0xb0], r13
mov rcx, r15
mov rdx, r14
mov r8d, 0x105
call qword [sym.imp.kernel32.dll_FindNextVolumeW]
test eax, eax
je 0x18001df1f
mov edi, 2
nop dword [rax + rax]
cmp word [r14 + rdi*2 - 4], 0
je 0x18001de80
cmp word [r14 + rdi*2 - 2], 0
je 0x18001de90
cmp word [r14 + rdi*2], 0
je 0x18001de93
add rdi, 3
cmp rdi, 0x107
jne 0x18001de50
jmp 0x18001dd67
add rdi, 0xfffffffffffffffe
jmp 0x18001de93
dec rdi
lea rbp, [rdi + rdi]
add rbp, 2
movzx eax, byte [0x1801fd9d8]
mov rax, qword [0x1801fd960]
test rax, rax
jne 0x18001dec4
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18001ecbe
mov qword [0x1801fd960], rax
mov rcx, rax
xor edx, edx
mov r8, rbp
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18001ecbe
mov rsi, rax
mov rcx, rax
mov rdx, r14
mov r8, rbp
call fcn.18015ab20
cmp r13, qword [rsp + 0xa8]
jne 0x18001de00
lea rcx, [rsp + 0xa0]
mov rdx, r13
call fcn.18012b140
mov r12, qword [rsp + 0xa0]
mov r13, qword [rsp + 0xb0]
jmp 0x18001de00
call sub.kernel32.dll_GetLastError
call sub.kernel32.dll_GetLastError
mov rcx, r15
call qword [sym.imp.kernel32.dll_FindVolumeClose]
test eax, eax
jne 0x18001df3b
call sub.kernel32.dll_GetLastError
mov rcx, qword [0x1801fd960]
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapFree]
mov r14, qword [rsp + 0xa0]
lea rax, [rsp + 0xa8]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x1c0], xmm0
lea rdi, [rsp + 0xa0]
movaps xmm0, xmmword [rsp + 0x1c0]
movups xmmword [rsp + 0xa8], xmm0
mov qword [rsp + 0x60], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0xa0], r14
mov rsi, qword [rsp + 0xa8]
mov r15, qword [rsp + 0xb0]
cmp rsi, r15
jb 0x18001dd67
mov eax, dword [0x1801fd9dc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x48]
test rax, rax
jne 0x18001dfd8
call fcn.180069ee0
jmp 0x18001dfde
add rax, 0x110
mov rax, qword [rax]
mov r9, qword [rax + 0x210]
xor eax, eax
cmp r15, 0xffffffffffffffff
sete al
cmp rax, r9
cmova r9, rax
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], 1
lea rcx, [rsp + 0x1c0]
mov rdx, r15
xor r8d, r8d
call fcn.1800feb70
test rsi, rsi
je 0x18001e03a
mov rcx, qword [0x1801fd960]
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapFree]
mov r12, qword [rsp + 0x1c0]
mov rax, qword [rsp + 0x1d0]
test rax, rax
je 0x18001e083
xor r8d, r8d
mov rcx, r12
nop word cs:[rax + rax]
test rcx, rcx
je 0x18001e072
add r8, qword [rcx + 0x10]
mov rcx, qword [rcx + 0x18]
dec rax
jne 0x18001e060
test r8, r8
je 0x18001e083
lea rcx, [rsp + 0x60]
xor edx, edx
call fcn.180171350
test r12, r12
je 0x18001e151
mov rdi, qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18001e0ac
mov r12, r14
test r14, r14
je 0x18001e151
mov r14, qword [r12 + 0x18]
test r14, r14
je 0x18001e0be
mov qword [r14 + 0x20], 0
mov r13, qword [r12]
mov r15, qword [r12 + 8]
mov rbp, qword [r12 + 0x10]
mov rcx, qword [0x1801fd960]
xor edx, edx
mov r8, r12
call rdi
test r13, r13
je 0x18001e148
mov rax, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
sub rax, rsi
cmp rax, rbp
jb 0x18001e131
lea rcx, [rsi + rsi*4]
shl rcx, 5
add rcx, qword [rsp + 0x60]
mov rax, rbp
shl rax, 5
lea r8, [rax + rax*4]
mov rdx, r13
call fcn.18015ab20
add rsi, rbp
mov qword [rsp + 0x70], rsi
test r15, r15
je 0x18001e0a0
mov rcx, qword [0x1801fd960]
xor edx, edx
mov r8, r13
call rdi
jmp 0x18001e0a0
lea rcx, [rsp + 0x60]
mov rdx, rsi
mov r8, rbp
call fcn.180171350
mov rsi, qword [rsp + 0x70]
jmp 0x18001e0f1
test r14, r14
jne 0x18001e2da
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x48]
mov rcx, rdi
xor edx, edx
call fcn.1800ff100
mov rcx, qword [0x1801fd960]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
test r15, r15
je 0x18001e31f
mov qword [rsp + 0x48], r14
lea r12, [r15 + r15*4]
shl r12, 5
add r12, rsi
lea rdi, [rsp + 0xa0]
mov r13d, 3
lea rbp, str.abcW
mov r14, rsi
jmp 0x18001e1ce
mov qword [rsp + 0x58], rbx
cmp r14, r12
je 0x18001e311
mov rax, r14
add r14, 0xa0
cmp dword [rax], 1
ja 0x18001e1c5
add rbx, qword [rax + 0x88]
mov qword [rsp + 0x58], rbx
mov rdx, qword [rax + 0x10]
mov r8, qword [rax + 0x20]
mov rcx, rdi
call fcn.180024530
cmp qword [rsp + 0xa0], 0
jne 0x18001e210
mov rax, qword [rsp + 0xa8]
jmp 0x18001e212
xor eax, eax
test rax, rax
mov rdx, qword [rsp + 0xb0]
cmove rdx, r13
cmove rax, rbp
test rdx, rdx
je 0x18001e1c5
mov rcx, rdx
and rcx, 7
je 0x18001e25f
xor r8d, r8d
nop word cs:[rax + rax]
movzx r9d, byte [rax + r8]
add rbx, r9
inc r8
cmp rcx, r8
jne 0x18001e240
add rcx, rax
cmp rdx, 8
jb 0x18001e1c0
jmp 0x18001e26c
mov rcx, rax
cmp rdx, 8
jb 0x18001e1c0
add rax, rdx
nop
movzx edx, byte [rcx]
add rdx, rbx
movzx r8d, byte [rcx + 1]
movzx r9d, byte [rcx + 2]
add r9, r8
add r9, rdx
movzx edx, byte [rcx + 3]
movzx r8d, byte [rcx + 4]
add r8, rdx
movzx edx, byte [rcx + 5]
add rdx, r8
add rdx, r9
movzx r8d, byte [rcx + 6]
movzx ebx, byte [rcx + 7]
add rcx, 8
add rbx, r8
add rbx, rdx
cmp rcx, rax
jne 0x18001e270
jmp 0x18001e1c0
mov rcx, qword [0x1801fd960]
xor edx, edx
mov r8, r14
call rdi
mov r14, r15
test r15, r15
je 0x18001e151
mov r15, qword [r14 + 0x18]
test r15, r15
je 0x18001e2eb
mov qword [r15 + 0x20], 0
mov rsi, qword [r14]
mov rdx, qword [r14 + 0x10]
mov rcx, rsi
call fcn.1800ff100
cmp qword [r14 + 8], 0
je 0x18001e2c0
mov rcx, qword [0x1801fd960]
xor edx, edx
mov r8, rsi
call rdi
jmp 0x18001e2c0
test r15, r15
mov r14, qword [rsp + 0x48]
jne 0x18001ebf1
test r14, r14
je 0x18001e336
mov rcx, qword [0x1801fd960]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rsp + 0x300]
mov rcx, qword [rsp + 0x310]
mov qword [rsp + 0x230], rax
mov qword [rsp + 0x238], rcx
lea rax, [rsp + 0x58]
mov qword [rsp + 0x1c0], rax
lea rax, [0x180028120]
mov qword [rsp + 0x1c8], rax
lea rax, [rsp + 0x230]
mov qword [rsp + 0x1d0], rax
lea rax, [0x180034750]
mov qword [rsp + 0x1d8], rax
lea rax, [0x180175b60]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], 3
mov qword [rsp + 0xc0], 0
lea rax, [rsp + 0x1c0]
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], 2
lea rcx, [rsp + 0x60]
lea rdx, [rsp + 0xa0]
call fcn.18001f3c0
mov rdi, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x70]
lea r14, [rsp + 0x1e8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x218], xmm0
movups xmmword [rsp + 0x208], xmm0
movups xmmword [rsp + 0x1f8], xmm0
movups xmmword [rsp + 0x1e8], xmm0
mov byte [rsp + 0x228], 0
movaps xmm0, xmmword [0x180174a90]
movups xmmword [rsp + 0x1d0], xmm0
movaps xmm0, xmmword [0x180174aa0]
movups xmmword [rsp + 0x1c0], xmm0
mov qword [rsp + 0x1e0], 0
cmp rbx, 0x3f
ja 0x18001e468
mov rcx, r14
mov rdx, rdi
mov r8, rbx
call fcn.18015ab20
jmp 0x18001e4a9
mov rsi, rbx
and rsi, 0xffffffffffffffc0
mov r15d, ebx
and r15d, 0x3f
add rsi, rdi
shr rbx, 6
mov qword [rsp + 0x1e0], rbx
lea rcx, [rsp + 0x1c0]
mov rdx, rdi
mov r8, rbx
call fcn.1800eddc0
mov rcx, r14
mov rdx, rsi
mov r8, r15
call fcn.18015ab20
mov rbx, r15
mov r15, qword [rsp + 0x50]
mov byte [rsp + 0x228], bl
mov rax, qword [rsp + 0x220]
mov qword [rsp + 0x100], rax
movzx eax, byte [rsp + 0x228]
mov byte [rsp + 0x108], al
mov eax, dword [rsp + 0x229]
mov dword [rsp + 0x109], eax
movzx eax, word [rsp + 0x22d]
mov word [rsp + 0x10d], ax
movzx eax, byte [rsp + 0x22f]
mov byte [rsp + 0x10f], al
movdqu xmm0, xmmword [rsp + 0x1c0]
movups xmm1, xmmword [rsp + 0x1d0]
movups xmm2, xmmword [rsp + 0x1e0]
movups xmm3, xmmword [rsp + 0x1f0]
movaps xmmword [rsp + 0xc0], xmm2
movups xmm2, xmmword [rsp + 0x210]
movaps xmmword [rsp + 0xf0], xmm2
movups xmm2, xmmword [rsp + 0x200]
movaps xmmword [rsp + 0xe0], xmm2
movaps xmmword [rsp + 0xd0], xmm3
movaps xmmword [rsp + 0xb0], xmm1
movdqa xmmword [rsp + 0xa0], xmm0
lea rbx, [rsp + 0xc8]
movzx esi, byte [rsp + 0x108]
mov rax, qword [rsp + 0xc0]
shl rax, 9
lea r14, [rsi*8]
or r14, rax
mov byte [rsp + rsi + 0xc8], 0x80
mov r8, rsi
xor r8, 0x3f
je 0x18001e5a9
lea rcx, [rsi + rbx]
inc rcx
xor edx, edx
call fcn.18015b1d0
bswap r14
xor esi, 0x38
cmp esi, 8
jae 0x18001e60a
lea rsi, [rsp + 0xa0]
mov r8d, 1
mov rcx, rsi
mov rdx, rbx
call fcn.1800eddc0
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x80], xmm0
movdqa xmmword [rsp + 0x70], xmm0
movdqa xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], r14
lea rdx, [rsp + 0x60]
mov r8d, 1
mov rcx, rsi
jmp 0x18001e623
mov qword [rsp + 0x100], r14
lea rcx, [rsp + 0xa0]
mov r8d, 1
mov rdx, rbx
call fcn.1800eddc0
pxor xmm0, xmm0
movdqa xmm1, xmmword [rsp + 0xa0]
movdqa xmm2, xmmword [rsp + 0xb0]
movdqa xmm3, xmm1
punpckhbw xmm3, xmm0
pshuflw xmm3, xmm3, 0x1b
pshufhw xmm3, xmm3, 0x1b
punpcklbw xmm1, xmm0
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm3
movdqa xmmword [rsp + 0x60], xmm1
movdqa xmm1, xmm2
punpckhbw xmm1, xmm0
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
punpcklbw xmm2, xmm0
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
packuswb xmm2, xmm1
movdqa xmmword [rsp + 0x70], xmm2
mov qword [rsp + 0xa0], 1
movdqu xmmword [rsp + 0xa8], xmm0
xor esi, esi
lea rbx, [rsp + 0xa0]
mov r8d, 0x40
mov rcx, rbx
xor edx, edx
call fcn.18016ab70
mov edx, 0x110000
lea r14, str.0123456789abcdefuuuuuuuubtnufruuuuuuuuuuuuuuuuuu
jmp 0x18001e6df
mov ebp, 0x110000
mov rcx, rbx
call fcn.18000b900
mov edx, ebp
cmp edx, 0x110000
jne 0x18001e6d0
cmp rsi, 0x20
je 0x18001e70a
movzx eax, byte [rsp + rsi + 0x60]
inc rsi
mov ecx, eax
and ecx, 0xf
shr rax, 4
movzx edx, byte [rax + r14]
movzx ebp, byte [rcx + r14]
jmp 0x18001e6d5
mov rax, qword [rsp + 0xb0]
mov qword [r15 + 0x10], rax
movdqu xmm0, xmmword [rsp + 0xa0]
movdqu xmmword [r15], xmm0
test r12, r12
je 0x18001e73b
mov rcx, qword [0x1801fd960]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rsp + 0x288]
test rax, rax
je 0x18001e9da
mov qword [rsp + 0x48], rax
mov rsi, qword [rsp + 0x298]
test rsi, rsi
je 0x18001e99e
mov r14, qword [rsp + 0x280]
movdqa xmm0, xmmword [r14]
pmovmskb r13d, xmm0
not r13d
lea r15, [r14 + 0x10]
mov r12, qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18001e799
test rsi, rsi
je 0x18001e99e
test r13w, r13w
je 0x18001e7b0
lea eax, [r13 - 1]
and eax, r13d
jmp 0x18001e7dc
movdqa xmm0, xmmword [r15]
pmovmskb r13d, xmm0
add r14, 0xffffffffffffea80
add r15, 0x10
cmp r13w, 0xffff
je 0x18001e7b0
mov ecx, 0xfffffffe
sub ecx, r13d
not r13d
mov eax, r13d
and eax, ecx
mov qword [rsp + 0x50], rsi
mov ecx, r13d
tzcnt ecx, ecx
mov r13d, eax
neg rcx
imul rax, rcx, 0x158
lea rbp, [r14 + rax]
cmp qword [r14 + rax - 0xd0], 0
je 0x18001e817
mov r8, qword [rbp - 0xd8]
mov rcx, qword [0x1801fd960]
xor edx, edx
call r12
mov rsi, qword [rbp - 0xc0]
mov rdi, qword [rbp - 0xb0]
test rdi, rdi
je 0x18001e860
lea rbx, [rsi + 8]
jmp 0x18001e839
add rbx, 0x18
dec rdi
je 0x18001e860
cmp qword [rbx], 0
je 0x18001e830
mov r8, qword [rbx - 8]
mov rcx, qword [0x1801fd960]
xor edx, edx
call r12
jmp 0x18001e830
cmp qword [rbp - 0xb8], 0
je 0x18001e879
mov rcx, qword [0x1801fd960]
xor edx, edx
mov r8, rsi
call r12
cmp byte [rbp - 0x120], 2
je 0x18001e89f
cmp qword [rbp - 0x130], 0
je 0x18001e89f
mov r8, qword [rbp - 0x138]
mov rcx, qword [0x1801fd960]
xor edx, edx
call r12
mov r8, qword [rbp - 0x88]
test r8, r8
je 0x18001e8be
cmp qword [rbp - 0x80], 0
je 0x18001e8be
mov rcx, qword [0x1801fd960]
xor edx, edx
call r12
mov rsi, qword [rbp - 0xa8]
mov rdi, qword [rbp - 0x98]
test rdi, rdi
je 0x18001e910
lea rbx, [rsi + 8]
jmp 0x18001e8e9
add rbx, 0x18
dec rdi
je 0x18001e910
cmp qword [rbx], 0
je 0x18001e8e0
mov r8, qword [rbx - 8]
mov rcx, qword [0x1801fd960]
xor edx, edx
call r12
jmp 0x18001e8e0
cmp qword [rbp - 0xa0], 0
je 0x18001e929
mov rcx, qword [0x1801fd960]
xor edx, edx
mov r8, rsi
call r12
cmp byte [rbp - 0x100], 2
je 0x18001e94f
cmp qword [rbp - 0x110], 0
je 0x18001e94f
mov r8, qword [rbp - 0x118]
mov rcx, qword [0x1801fd960]
xor edx, edx
call r12
cmp byte [rbp - 0xe0], 2
mov rsi, qword [rsp + 0x50]
je 0x18001e97a
cmp qword [rbp - 0xf0], 0
je 0x18001e97a
mov r8, qword [rbp - 0xf8]
mov rcx, qword [0x1801fd960]
xor edx, edx
call r12
dec rsi
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x18001e790
lock dec qword [rcx]
jne 0x18001e790
call fcn.18000b4c0
jmp 0x18001e790
mov r8, qword [rsp + 0x48]
lea rax, [r8 + 1]
mov ecx, 0x158
mul rcx
add rax, 0xf
and rax, 0xfffffffffffffff0
add r8, rax
cmp r8, 0xffffffffffffffef
je 0x18001e9da
mov r8, qword [rsp + 0x280]
sub r8, rax
mov rcx, qword [0x1801fd960]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0x2d8], 0
je 0x18001e9fc
mov r8, qword [rsp + 0x2d0]
mov rcx, qword [0x1801fd960]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov r8, qword [rsp + 0x318]
test r8, r8
je 0x18001ea23
cmp qword [rsp + 0x320], 0
je 0x18001ea23
mov rcx, qword [0x1801fd960]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0x2f0], 0
je 0x18001ea45
mov r8, qword [rsp + 0x2e8]
mov rcx, qword [0x1801fd960]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0x308], 0
je 0x18001ea67
mov r8, qword [rsp + 0x300]
mov rcx, qword [0x1801fd960]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rsi, qword [rsp + 0x340]
mov rdi, qword [rsp + 0x350]
test rdi, rdi
je 0x18001eafb
lea rbx, [rsi + 0x50]
mov r14, qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18001ea99
add rbx, 0x70
dec rdi
je 0x18001eafb
cmp qword [rbx - 0x48], 0
je 0x18001eab0
mov r8, qword [rbx - 0x50]
mov rcx, qword [0x1801fd960]
xor edx, edx
call r14
mov r8, qword [rbx - 8]
test r8, r8
je 0x18001eacb
cmp qword [rbx], 0
je 0x18001eacb
mov rcx, qword [0x1801fd960]
xor edx, edx
call r14
cmp qword [rbx - 0x30], 0
je 0x18001eae2
mov r8, qword [rbx - 0x38]
mov rcx, qword [0x1801fd960]
xor edx, edx
call r14
cmp qword [rbx - 0x18], 0
je 0x18001ea90
mov r8, qword [rbx - 0x20]
mov rcx, qword [0x1801fd960]
xor edx, edx
call r14
jmp 0x18001ea90
cmp qword [rsp + 0x348], 0
je 0x18001eb18
mov rcx, qword [0x1801fd960]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0x240], 0
je 0x18001ec9a
lea rcx, [rsp + 0x240]
call fcn.1800fe0a0
mov rdi, qword [rsp + 0x248]
test rdi, rdi
je 0x18001ec9a
mov rbx, qword [rsp + 0x258]
test rbx, rbx
je 0x18001ec69
mov rsi, qword [rsp + 0x240]
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 0x18001eb8b
mov eax, ebp
test rbx, rbx
je 0x18001ec71
test ax, ax
je 0x18001eba0
lea ebp, [rax - 1]
and ebp, eax
jmp 0x18001ebc7
movdqa xmm0, xmmword [r14]
pmovmskb eax, xmm0
add r12, 0xfffffffffffffe00
add r14, 0x10
cmp ax, 0xffff
je 0x18001eba0
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 0x18001eb80
mov r8, qword [rax - 0x20]
mov rcx, qword [0x1801fd960]
xor edx, edx
call r15
jmp 0x18001eb80
lea rdi, [rsi + 0x78]
mov rbx, qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18001ec10
add rdi, 0xa0
dec r15
je 0x18001e31f
cmp qword [rdi - 0x60], 0
je 0x18001ec26
mov r8, qword [rdi - 0x68]
mov rcx, qword [0x1801fd960]
xor edx, edx
call rbx
cmp qword [rdi - 0x40], 0
je 0x18001ec3c
mov r8, qword [rdi - 0x48]
mov rcx, qword [0x1801fd960]
xor edx, edx
call rbx
cmp qword [rdi], 0
je 0x18001ec51
mov r8, qword [rdi - 8]
mov rcx, qword [0x1801fd960]
xor edx, edx
call rbx
cmp qword [rdi - 0x20], 0
je 0x18001ec00
mov r8, qword [rdi - 0x28]
mov rcx, qword [0x1801fd960]
xor edx, edx
call rbx
jmp 0x18001ec00
mov rsi, qword [rsp + 0x240]
mov rax, rdi
shl rax, 5
add rdi, rax
cmp rdi, 0xffffffffffffffcf
je 0x18001ec9a
sub rsi, rax
add rsi, 0xffffffffffffffe0
mov rcx, qword [0x1801fd960]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
movaps xmm6, xmmword [rsp + 0x360]
movaps xmm7, xmmword [rsp + 0x370]
add rsp, 0x388
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 2
mov rdx, rbp
call fcn.180168710
ud2
mov ecx, 0x56410
call fcn.180046430
ud2
mov ecx, 1
mov edx, 9
call fcn.180168710
ud2
mov ecx, 8
mov edx, 0x140
call fcn.180168710
ud2
mov ecx, 2
mov edx, 0x20a
call fcn.180168710
ud2
mov ecx, 2
mov rdx, r12
call fcn.180168710
ud2