Function at 0x18001b550
Capabilities:
Hash data using sha256

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x4a8
movaps xmmword [rsp + 0x490], xmm8
movaps xmmword [rsp + 0x480], xmm7
movdqa xmmword [rsp + 0x470], xmm6
mov r13, rcx
movabs rax, 0x101010101010101
mov qword [rsp + 0xb5], rax
mov qword [rsp + 0xb0], rax
lea rcx, [rsp + 0x290]
lea rbx, [rsp + 0xb0]
mov rdx, rbx
call fcn.180105540
mov qword [rsp + 0x240], 8
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x248], xmm0
mov byte [rsp + 0x258], 1
lea rcx, [rsp + 0x240]
xor edx, edx
call fcn.18007bab0
mov rax, qword [rsp + 0x240]
mov rdi, qword [rsp + 0x250]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 6
inc rdi
mov qword [rsp + 0x250], rdi
je 0x18001b62f
lea rcx, [rcx*8 + 0x18]
xor edx, edx
nop word cs:[rax + rax]
cmp dword [rax + rdx], 8
je 0x18001b670
add rdx, 0x18
cmp rcx, rdx
jne 0x18001b620
cmp rdi, qword [rsp + 0x248]
jne 0x18001b659
lea rcx, [rsp + 0x240]
mov rdx, rdi
call fcn.18007bab0
mov rax, qword [rsp + 0x240]
mov rdi, qword [rsp + 0x250]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 8
inc rdi
mov qword [rsp + 0x250], rdi
lea rax, [0x180180ec2]
mov qword [rsp + 0xb0], rax
mov rcx, qword [rsp + 0xb0]
movabs rax, 0xf5c1b474ec2ca933
mov qword [rsp + 0xb0], rax
mov rdx, qword [rsp + 0xb0]
call fcn.18000d360
movabs rcx, 0x9b2981ed48f2a651
xor rcx, qword [rax]
mov edx, 0xc99af887
xor edx, dword [rax + 8]
movzx eax, byte [rax + 0xc]
test rdi, rdi
je 0x18001d7ab
mov dword [rsp + 0x7c], edx
mov qword [rsp + 0x238], rcx
xor al, 0x82
mov byte [rsp + 0x27], al
mov rbx, qword [rsp + 0x240]
lea rax, [rdi + rdi*2]
lea rbp, [rax*8 - 0x18]
lea r15, [rsp + 0xb0]
xor r14d, r14d
nop dword [rax]
mov rcx, r15
mov rdx, rbx
call fcn.180069a10
mov r12, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xb8]
test r12, r12
jne 0x18001b9a2
test rsi, rsi
jne 0x18001b9c7
add rbx, 0x18
add rbp, 0xffffffffffffffe8
cmp rbp, 0xffffffffffffffe8
jne 0x18001b700
mov eax, 1
mov qword [rsp + 0x28], rax
xor r12d, r12d
movzx ecx, byte [rsp + 0x27]
movzx eax, byte [rsp + 0x258]
test eax, eax
je 0x18001c417
cmp eax, 1
jne 0x18001bad1
pxor xmm6, xmm6
movdqu xmmword [rsp + 0x3d], xmm6
movdqu xmmword [rsp + 0x4d], xmm6
movdqu xmmword [rsp + 0x5d], xmm6
mov dword [rsp + 0x6c], 0
mov rax, qword [rsp + 0x238]
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x7c]
mov dword [rsp + 0x38], eax
mov byte [rsp + 0x3c], cl
movaps xmm0, xmmword [str.6666666666666666]
movaps xmm1, xmmword [rsp + 0x30]
xorps xmm1, xmm0
movaps xmmword [rsp + 0x30], xmm1
movaps xmm1, xmmword [rsp + 0x40]
xorps xmm1, xmm0
movaps xmmword [rsp + 0x40], xmm1
movaps xmm1, xmmword [rsp + 0x50]
xorps xmm1, xmm0
movaps xmmword [rsp + 0x50], xmm1
xorps xmm0, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x60], xmm0
movups xmm7, xmmword [0x1801d99c0]
movaps xmmword [rsp + 0x270], xmm7
movups xmm8, xmmword [0x1801d99b0]
movaps xmmword [rsp + 0x260], xmm8
mov qword [rsp + 0x280], 1
lea rcx, [rsp + 0x260]
lea rsi, [rsp + 0x30]
mov r8d, 1
mov rdx, rsi
call fcn.1800fa5b0
movaps xmm0, xmmword [str.jjjjjjjjjjjjjjjj_a]
movaps xmm1, xmmword [rsp + 0x30]
xorps xmm1, xmm0
movaps xmmword [rsp + 0x30], xmm1
movaps xmm1, xmmword [rsp + 0x40]
xorps xmm1, xmm0
movaps xmmword [rsp + 0x40], xmm1
movaps xmm1, xmmword [rsp + 0x50]
xorps xmm1, xmm0
movaps xmmword [rsp + 0x50], xmm1
xorps xmm0, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x90], xmm7
movaps xmmword [rsp + 0x80], xmm8
mov qword [rsp + 0xa0], 1
lea rcx, [rsp + 0x80]
mov r8d, 1
mov rdx, rsi
call fcn.1800fa5b0
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0xf8], rax
movaps xmm0, xmmword [rsp + 0x80]
movaps xmm1, xmmword [rsp + 0x90]
movups xmmword [rsp + 0xe8], xmm1
movups xmmword [rsp + 0xd8], xmm0
mov rax, qword [rsp + 0x280]
mov qword [rsp + 0xd0], rax
movaps xmm0, xmmword [rsp + 0x260]
movaps xmm1, xmmword [rsp + 0x270]
movaps xmmword [rsp + 0x1d0], xmm1
movaps xmmword [rsp + 0x1c0], xmm0
movaps xmmword [rsp + 0x180], xmm1
movaps xmmword [rsp + 0x170], xmm0
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0x1b0], rcx
mov rcx, qword [rsp + 0xf8]
mov qword [rsp + 0x1b8], rcx
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x1a0], xmm0
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0x190], rcx
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0x198], rcx
lea rsi, [rsp + 0x1e8]
movdqu xmmword [rsp + 0x218], xmm6
movdqu xmmword [rsp + 0x208], xmm6
movdqu xmmword [rsp + 0x1f8], xmm6
movdqu xmmword [rsp + 0x1e8], xmm6
mov byte [rsp + 0x228], 0
mov qword [rsp + 0x1e0], rax
cmp r14, 0x40
jae 0x18001bd5f
mov rcx, rsi
mov rdx, qword [rsp + 0x28]
mov r8, r14
call fcn.180170ea0
jmp 0x18001bda8
movups xmm6, xmmword [rsp + 0xc0]
mov r14, qword [rsp + 0xd0]
mov rcx, qword [0x180219958]
test rcx, rcx
je 0x18001c876
jmp 0x18001c88f
mov r12, qword [rsp + 0xc0]
mov r14, qword [rsp + 0xc8]
mov qword [rsp + 0x170], rsi
mov qword [rsp + 0x178], r12
mov qword [rsp + 0x180], r14
test rbp, rbp
je 0x18001c3fd
mov qword [rsp + 0x28], r13
add rbx, 0x18
lea r13, [rsp + 0xb0]
mov rdi, qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x18001ba2e
add rbx, 0x18
add rbp, 0xffffffffffffffe8
je 0x18001c3e8
mov rcx, r13
mov rdx, rbx
call fcn.180069a10
mov r12, qword [rsp + 0xb0]
mov r15, qword [rsp + 0xb8]
movdqu xmm6, xmmword [rsp + 0xc0]
test r12, r12
jne 0x18001c39e
mov rax, qword [rsp + 0x178]
sub rax, r14
pshufd xmm0, xmm6, 0xee
movq r12, xmm0
cmp rax, r12
jb 0x18001baac
lea rcx, [rsi + r14]
mov rdx, r15
mov r8, r12
call fcn.180170ea0
add r14, r12
mov qword [rsp + 0x180], r14
movq rax, xmm6
test rax, rax
je 0x18001ba20
mov rcx, qword [0x180219958]
xor edx, edx
mov r8, r15
call rdi
jmp 0x18001ba20
lea rcx, [rsp + 0x170]
mov rdx, r14
mov r8, r12
call fcn.18017fd30
mov rsi, qword [rsp + 0x170]
mov r14, qword [rsp + 0x180]
jmp 0x18001ba75
mov qword [rsp + 0x288], r12
mov rbx, r15
pxor xmm6, xmm6
movdqu xmmword [rsp + 0xbd], xmm6
movdqu xmmword [rsp + 0xcd], xmm6
movdqu xmmword [rsp + 0xdd], xmm6
mov dword [rsp + 0xec], 0
mov rax, qword [rsp + 0x238]
mov qword [rsp + 0xb0], rax
mov eax, dword [rsp + 0x7c]
mov dword [rsp + 0xb8], eax
mov byte [rsp + 0xbc], cl
movaps xmm0, xmmword [str.6666666666666666]
movaps xmm1, xmmword [rsp + 0xb0]
xorps xmm1, xmm0
movaps xmmword [rsp + 0xb0], xmm1
movaps xmm1, xmmword [rsp + 0xc0]
xorps xmm1, xmm0
movaps xmmword [rsp + 0xc0], xmm1
movaps xmm1, xmmword [rsp + 0xd0]
xorps xmm1, xmm0
movaps xmmword [rsp + 0xd0], xmm1
xorps xmm0, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0xe0], xmm0
lea rcx, [rsp + 0x88]
movaps xmm7, xmmword [0x18018b870]
movups xmmword [rsp + 0x88], xmm7
mov dword [rsp + 0x98], 0xc3d2e1f0
mov qword [rsp + 0x80], 1
lea rsi, [rsp + 0xb0]
mov r8d, 1
mov rdx, rsi
call fcn.1800f8ed0
movaps xmm0, xmmword [str.jjjjjjjjjjjjjjjj_a]
movaps xmm1, xmmword [rsp + 0xb0]
xorps xmm1, xmm0
movaps xmmword [rsp + 0xb0], xmm1
movaps xmm1, xmmword [rsp + 0xc0]
xorps xmm1, xmm0
movaps xmmword [rsp + 0xc0], xmm1
movaps xmm1, xmmword [rsp + 0xd0]
xorps xmm1, xmm0
movaps xmmword [rsp + 0xd0], xmm1
xorps xmm0, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0xe0], xmm0
lea rcx, [rsp + 0x38]
movups xmmword [rsp + 0x38], xmm7
mov dword [rsp + 0x48], 0xc3d2e1f0
mov qword [rsp + 0x30], 1
mov r8d, 1
mov rdx, rsi
call fcn.1800f8ed0
movups xmm0, xmmword [rsp + 0x80]
movups xmm1, xmmword [rsp + 0x88]
movups xmm2, xmmword [rsp + 0x90]
movups xmmword [rsp + 0x1b8], xmm1
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x1c8], eax
mov rax, qword [rsp + 0x80]
movups xmm1, xmmword [rsp + 0x30]
movups xmm3, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x170], xmm0
movaps xmmword [rsp + 0x180], xmm2
movaps xmmword [rsp + 0x190], xmm1
movaps xmmword [rsp + 0x1a0], xmm3
movdqu xmmword [rsp + 0xc4], xmm6
movdqu xmmword [rsp + 0xb4], xmm6
movdqu xmmword [rsp + 0xd4], xmm6
movdqu xmmword [rsp + 0xe4], xmm6
mov byte [rsp + 0xf4], 0
mov rcx, qword [rsp + 0xed]
mov qword [rsp + 0x209], rcx
movups xmm0, xmmword [rsp + 0xb0]
movups xmm1, xmmword [rsp + 0xd0]
movdqu xmm2, xmmword [rsp + 0xe0]
movdqu xmmword [rsp + 0x1fc], xmm2
movups xmmword [rsp + 0x1ec], xmm1
movups xmm1, xmmword [rsp + 0xc0]
movups xmmword [rsp + 0x1dc], xmm1
movups xmmword [rsp + 0x1cc], xmm0
mov qword [rsp + 0x1b0], rax
lea r15, [rsp + 0x1d0]
movzx r12d, byte [rsp + 0x210]
mov r8d, 0x40
sub r8, r12
mov rdi, r14
sub rdi, r8
jae 0x18001be6c
add r15, r12
mov rcx, r15
mov rdx, qword [rsp + 0x28]
mov r8, r14
call fcn.180170ea0
add r14, r12
mov r12, r14
jmp 0x18001bef5
mov r15, r14
and r15, 0xffffffffffffffc0
mov rdi, r12
mov r12d, r14d
and r12d, 0x3f
mov rdx, qword [rsp + 0x28]
add r15, rdx
shr r14, 6
add qword [rsp + 0x190], r14
lea rcx, [rsp + 0x170]
mov r8, r14
call fcn.1800fa5b0
mov rcx, rsi
mov rdx, r15
mov r8, r12
call fcn.180170ea0
mov r14, r12
mov r12, rdi
mov byte [rsp + 0x228], r14b
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x170]
mov r8d, 0xc0
call fcn.180170ea0
lea r14, [rsp + 0x128]
movzx esi, byte [rsp + 0x168]
mov rax, qword [rsp + 0xd0]
shl rax, 9
lea rdi, [rsi*8]
or rdi, rax
mov byte [rsp + rsi + 0x128], 0x80
mov r8, rsi
xor r8, 0x3f
je 0x18001be11
lea rcx, [rsi + r14]
inc rcx
xor edx, edx
call fcn.180171550
bswap rdi
xor esi, 0x38
cmp esi, 8
jae 0x18001bfe2
lea rsi, [rsp + 0xb0]
mov r8d, 1
mov rcx, rsi
mov rdx, r14
call fcn.1800fa5b0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], rdi
lea rdx, [rsp + 0x30]
mov r8d, 1
mov rcx, rsi
jmp 0x18001bffb
mov rbp, r13
mov rsi, qword [rsp + 0x28]
test r12, r12
je 0x18001beae
mov rdx, qword [rsp + 0x28]
lea rsi, [rdx + r8]
add r12, r15
mov rcx, r12
call fcn.180170ea0
inc qword [rsp + 0x170]
lea rcx, [rsp + 0x178]
mov r8d, 1
mov rdx, r15
call fcn.1800f8ed0
mov r14, rdi
mov r13, r14
and r13, 0xffffffffffffffc0
mov r12d, r14d
and r12d, 0x3f
add r13, rsi
cmp r14, 0x40
jb 0x18001bee4
shr r14, 6
add qword [rsp + 0x170], r14
lea rcx, [rsp + 0x178]
mov rdx, rsi
mov r8, r14
call fcn.1800f8ed0
mov rcx, r15
mov rdx, r13
mov r8, r12
call fcn.180170ea0
mov r13, rbp
mov byte [rsp + 0x210], r12b
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x170]
mov r8d, 0xa8
call fcn.180170ea0
lea r14, [rsp + 0x110]
movzx esi, byte [rsp + 0x150]
mov rax, qword [rsp + 0xb0]
shl rax, 9
lea rdi, [rsi*8]
or rdi, rax
mov eax, dword [rsp + 0xc8]
mov dword [rsp + 0x90], eax
movups xmm0, xmmword [rsp + 0xb8]
movaps xmmword [rsp + 0x80], xmm0
mov byte [rsp + rsi + 0x110], 0x80
mov r8, rsi
xor r8, 0x3f
mov r15, rbx
je 0x18001bf7f
lea rcx, [rsi + r14]
inc rcx
xor edx, edx
call fcn.180171550
bswap rdi
xor esi, 0x38
cmp esi, 8
mov r12, qword [rsp + 0x288]
jae 0x18001c203
lea rsi, [rsp + 0x80]
mov r8d, 1
mov rcx, rsi
mov rdx, r14
call fcn.1800f8ed0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], rdi
lea rdx, [rsp + 0x30]
mov r8d, 1
mov rcx, rsi
jmp 0x18001c21c
mov qword [rsp + 0x160], rdi
lea rcx, [rsp + 0xb0]
mov r8d, 1
mov rdx, r14
call fcn.1800fa5b0
mov rax, qword [rsp + 0xf8]
movups xmm0, xmmword [rsp + 0xd8]
movaps xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [rsp + 0xe8]
movaps xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rax
movdqa xmm0, xmmword [rsp + 0xb0]
movdqa xmm1, xmmword [rsp + 0xc0]
pxor xmm6, xmm6
movdqa xmm2, xmm0
punpckhbw xmm2, xmm6
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpcklbw xmm0, xmm6
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm2
movdqu xmmword [rsp + 0x128], xmm0
movdqa xmm0, xmm1
punpckhbw xmm0, xmm6
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
punpcklbw xmm1, xmm6
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm0
movdqu xmmword [rsp + 0x138], xmm1
mov byte [rsp + 0x168], 0x20
shl rax, 9
or rax, 0x100
bswap rax
mov byte [rsp + 0x148], 0x80
movdqu xmmword [rsp + 0x149], xmm6
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x160], rax
lea r15, [rsp + 0x30]
mov r8d, 1
mov rcx, r15
mov rdx, r14
call fcn.1800fa5b0
movdqa xmm0, xmmword [rsp + 0x30]
movdqa xmm1, xmmword [rsp + 0x40]
movdqa xmm2, xmm0
punpckhbw xmm2, xmm6
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpcklbw xmm0, xmm6
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm2
movdqa xmm2, xmm1
punpckhbw xmm2, xmm6
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpcklbw xmm1, xmm6
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm2
movdqa xmmword [rsp + 0xb0], xmm0
movdqa xmmword [rsp + 0xc0], xmm1
mov qword [rsp + 0x30], 1
movdqu xmmword [rsp + 0x38], xmm6
xor esi, esi
lea rcx, [rsp + 0x30]
mov r8d, 0x40
xor edx, edx
call fcn.18017fd30
mov edx, 0x110000
lea rdi, [0x1802022b0]
jmp 0x18001c18f
mov ebp, 0x110000
mov rcx, r15
call fcn.18000c7d0
mov edx, ebp
cmp edx, 0x110000
jne 0x18001c180
cmp rsi, 0x20
je 0x18001c1bb
movzx eax, byte [rsp + rsi + 0xb0]
inc rsi
mov ecx, eax
and ecx, 0xf
shr rax, 4
movzx edx, byte [rax + rdi]
movzx ebp, byte [rcx + rdi]
jmp 0x18001c185
mov rsi, qword [rsp + 0x30]
movdqu xmm6, xmmword [rsp + 0x38]
lea r15, [rsp + 0xb0]
test r12, r12
je 0x18001c867
mov rcx, qword [0x180219958]
xor r12d, r12d
xor edx, edx
mov r8, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [0x180219958]
test rcx, rcx
je 0x18001c876
jmp 0x18001c88f
mov qword [rsp + 0x148], rdi
lea rcx, [rsp + 0x80]
mov r8d, 1
mov rdx, r14
call fcn.1800f8ed0
mov eax, dword [rsp + 0x90]
bswap eax
movdqa xmm0, xmmword [rsp + 0x80]
pxor xmm6, xmm6
movdqa xmm1, xmm0
punpckhbw xmm1, xmm6
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
punpcklbw xmm0, xmm6
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm1
mov ecx, dword [rsp + 0xe8]
mov dword [rsp + 0x40], ecx
movups xmm1, xmmword [rsp + 0xd8]
movaps xmmword [rsp + 0x30], xmm1
mov rcx, qword [rsp + 0xd0]
movdqu xmmword [rsp + 0x110], xmm0
mov dword [rsp + 0x120], eax
mov byte [rsp + 0x150], 0x14
shl rcx, 9
or rcx, 0xa0
bswap rcx
mov byte [rsp + 0x124], 0x80
movdqu xmmword [rsp + 0x125], xmm6
movdqu xmmword [rsp + 0x135], xmm6
mov dword [rsp + 0x144], 0
mov qword [rsp + 0x148], rcx
lea rcx, [rsp + 0x30]
mov r8d, 1
mov rdx, r14
call fcn.1800f8ed0
mov eax, dword [rsp + 0x40]
bswap eax
movdqa xmm0, xmmword [rsp + 0x30]
movdqa xmm1, xmm0
punpckhbw xmm1, xmm6
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
punpcklbw xmm0, xmm6
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm1
movdqa xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x40], eax
mov qword [rsp + 0xb0], 1
movdqu xmmword [rsp + 0xb8], xmm6
xor edi, edi
lea rsi, [rsp + 0xb0]
mov r8d, 0x28
mov rcx, rsi
xor edx, edx
call fcn.18017fd30
mov edx, 0x110000
lea r14, [0x1802022b0]
jmp 0x18001c36f
mov ebp, 0x110000
mov rcx, rsi
call fcn.18000c7d0
mov edx, ebp
cmp edx, 0x110000
jne 0x18001c360
cmp rdi, 0x14
je 0x18001c84d
movzx eax, byte [rsp + rdi + 0x30]
inc rdi
mov ecx, eax
and ecx, 0xf
shr rax, 4
movzx edx, byte [rax + r14]
movzx ebp, byte [rcx + r14]
jmp 0x18001c365
mov r14, qword [rsp + 0xd0]
cmp qword [rsp + 0x178], 0
je 0x18001c3c3
mov rcx, qword [0x180219958]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, r15
mov r13, qword [rsp + 0x28]
lea r15, [rsp + 0xb0]
mov rcx, qword [0x180219958]
test rcx, rcx
je 0x18001c876
jmp 0x18001c88f
mov r12, qword [rsp + 0x178]
mov r13, qword [rsp + 0x28]
lea r15, [rsp + 0xb0]
movzx ecx, byte [rsp + 0x27]
mov qword [rsp + 0x28], rsi
movzx eax, byte [rsp + 0x258]
test eax, eax
jne 0x18001b75d
pxor xmm6, xmm6
movdqu xmmword [rsp + 0x3d], xmm6
movdqu xmmword [rsp + 0x4d], xmm6
movdqu xmmword [rsp + 0x5d], xmm6
mov dword [rsp + 0x6c], 0
mov rax, qword [rsp + 0x238]
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x7c]
mov dword [rsp + 0x38], eax
mov byte [rsp + 0x3c], cl
movaps xmm0, xmmword [str.6666666666666666]
movaps xmm1, xmmword [rsp + 0x30]
xorps xmm1, xmm0
movaps xmmword [rsp + 0x30], xmm1
movaps xmm1, xmmword [rsp + 0x40]
xorps xmm1, xmm0
movaps xmmword [rsp + 0x40], xmm1
movaps xmm1, xmmword [rsp + 0x50]
xorps xmm1, xmm0
movaps xmmword [rsp + 0x50], xmm1
xorps xmm0, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x60], xmm0
movups xmm7, xmmword [0x1801d98d8]
movaps xmmword [rsp + 0x260], xmm7
mov qword [rsp + 0x270], 1
lea rcx, [rsp + 0x260]
lea rsi, [rsp + 0x30]
mov r8d, 1
mov rdx, rsi
call fcn.18006cb50
movdqa xmm0, xmmword [str.jjjjjjjjjjjjjjjj_a]
movdqa xmm1, xmmword [rsp + 0x30]
pxor xmm1, xmm0
movdqa xmmword [rsp + 0x30], xmm1
movdqa xmm1, xmmword [rsp + 0x40]
pxor xmm1, xmm0
movdqa xmmword [rsp + 0x40], xmm1
movdqa xmm1, xmmword [rsp + 0x50]
pxor xmm1, xmm0
movdqa xmmword [rsp + 0x50], xmm1
pxor xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x80], xmm7
mov qword [rsp + 0x90], 1
lea rcx, [rsp + 0x80]
mov r8d, 1
mov rdx, rsi
call fcn.18006cb50
movaps xmm0, xmmword [rsp + 0x80]
movups xmmword [rsp + 0xc8], xmm0
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x270]
mov qword [rsp + 0xc0], rax
movaps xmm0, xmmword [rsp + 0x260]
movaps xmmword [rsp + 0x170], xmm0
movaps xmmword [rsp + 0x1a0], xmm0
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x180], rcx
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 0x188], rcx
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0x190], rcx
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0x198], rcx
lea rsi, [rsp + 0x1b8]
movdqu xmmword [rsp + 0x1e8], xmm6
movdqu xmmword [rsp + 0x1d8], xmm6
movdqu xmmword [rsp + 0x1c8], xmm6
movdqu xmmword [rsp + 0x1b8], xmm6
mov byte [rsp + 0x1f8], 0
mov qword [rsp + 0x1b0], rax
mov rbx, r15
cmp r14, 0x40
jae 0x18001c609
mov rcx, rsi
mov rdx, qword [rsp + 0x28]
mov r8, r14
call fcn.180170ea0
jmp 0x18001c652
mov r15, r14
and r15, 0xffffffffffffffc0
mov rdi, r12
mov r12d, r14d
and r12d, 0x3f
mov rdx, qword [rsp + 0x28]
add r15, rdx
shr r14, 6
add qword [rsp + 0x180], r14
lea rcx, [rsp + 0x170]
mov r8, r14
call fcn.18006cb50
mov rcx, rsi
mov rdx, r15
mov r8, r12
call fcn.180170ea0
mov r14, r12
mov r12, rdi
mov byte [rsp + 0x1f8], r14b
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x170]
mov r8d, 0x90
call fcn.180170ea0
lea r14, [rsp + 0xf8]
mov r15, qword [rsp + 0xc0]
movzx esi, byte [rsp + 0x138]
shl r15, 9
lea rdi, [rsi*8]
movaps xmm0, xmmword [rsp + 0x170]
movaps xmmword [rsp + 0x80], xmm0
mov byte [rsp + rsi + 0xf8], 0x80
mov r8, rsi
xor r8, 0x3f
je 0x18001c6c8
lea rcx, [rsi + r14]
inc rcx
xor edx, edx
call fcn.180171550
or rdi, r15
xor esi, 0x38
cmp esi, 8
jae 0x18001c71c
lea rsi, [rsp + 0x80]
mov r8d, 1
mov rcx, rsi
mov rdx, r14
call fcn.18006cb50
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], rdi
lea rdx, [rsp + 0x30]
mov r8d, 1
mov rcx, rsi
jmp 0x18001c735
mov qword [rsp + 0x130], rdi
lea rcx, [rsp + 0x80]
mov r8d, 1
mov rdx, r14
call fcn.18006cb50
mov r15, rbx
movaps xmm0, xmmword [rsp + 0x80]
movups xmmword [r14], xmm0
mov rax, qword [rsp + 0xd8]
movups xmm0, xmmword [rsp + 0xc8]
movaps xmmword [rsp + 0x30], xmm0
mov byte [rsp + 0x138], 0x10
shl rax, 9
or rax, 0x80
mov byte [rsp + 0x108], 0x80
pxor xmm6, xmm6
movdqu xmmword [rsp + 0x109], xmm6
movdqu xmmword [rsp + 0x119], xmm6
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], rax
lea rcx, [rsp + 0x30]
mov r8d, 1
mov rdx, r14
call fcn.18006cb50
movdqa xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0xb0], 1
movdqu xmmword [rsp + 0xb8], xmm6
xor edi, edi
lea rsi, [rsp + 0xb0]
mov r8d, 0x20
mov rcx, rsi
xor edx, edx
call fcn.18017fd30
mov edx, 0x110000
lea r14, [0x1802022b0]
jmp 0x18001c81f
mov ebp, 0x110000
mov rcx, rsi
call fcn.18000c7d0
mov edx, ebp
cmp edx, 0x110000
jne 0x18001c810
cmp rdi, 0x10
je 0x18001c84d
movzx eax, byte [rsp + rdi + 0x80]
inc rdi
mov ecx, eax
and ecx, 0xf
shr rax, 4
movzx edx, byte [rax + r14]
movzx ebp, byte [rcx + r14]
jmp 0x18001c815
mov rsi, qword [rsp + 0xb0]
movdqu xmm6, xmmword [rsp + 0xb8]
test r12, r12
jne 0x18001c1d7
xor r12d, r12d
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x18001c88f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18001d79a
mov rcx, rax
mov qword [0x180219958], rax
mov r8d, 7
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18001d79a
mov rbx, rax
mov dword [rax + 3], 0x73776f64
mov dword [rax], 0x646e6957
lea rax, [0x180183bd3]
mov qword [rsp + 0xb0], rax
mov rcx, qword [rsp + 0xb0]
movabs rax, 0xb757677b901ad1b0
mov qword [rsp + 0xb0], rax
mov rdx, qword [rsp + 0xb0]
call fcn.18000ce40
mov ebp, dword [rax]
movzx edi, word [rax + 4]
movzx r15d, byte [rax + 6]
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x18001c91c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18001d79a
mov rcx, rax
mov qword [0x180219958], rax
mov r8d, 7
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18001d79a
shl r15d, 0x10
or edi, r15d
mov ecx, edi
shr ecx, 0x10
xor cl, 0x14
mov edx, edi
shr edx, 8
not dl
xor dil, 0x6e
xor ebp, 0x9c3640be
mov dword [rax], ebp
mov byte [rax + 4], dil
mov byte [rax + 5], dl
mov byte [rax + 6], cl
mov rcx, qword [0x180219958]
xor edx, edx
mov r8, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12, r12
jne 0x18001c983
mov qword [rsp + 0x30], rsi
movdqu xmmword [rsp + 0x38], xmm6
jmp 0x18001c9bc
mov qword [rsp + 0x30], rbx
movdqa xmm0, xmmword [0x18018b890]
movdqu xmmword [rsp + 0x38], xmm0
test rsi, rsi
je 0x18001c9ad
mov rcx, qword [0x180219958]
xor edx, edx
mov r8, r12
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14, r14
je 0x18001c9ce
pshufd xmm0, xmm6, 0xee
movq rbx, xmm0
mov rcx, qword [0x180219958]
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rsp + 0x3d0]
mov rcx, qword [rsp + 0x3e0]
mov qword [rsp + 0x260], rax
mov qword [rsp + 0x268], rcx
lea rax, [rsp + 0x30]
mov qword [rsp + 0x170], rax
lea rax, [0x18000ca30]
mov qword [rsp + 0x178], rax
lea rax, [rsp + 0x260]
mov qword [rsp + 0x180], rax
lea rax, [0x1800555f0]
mov qword [rsp + 0x188], rax
lea rax, str.description___is_deprecated__use_Display
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], 2
mov qword [rsp + 0xd0], 0
lea rax, [rsp + 0x170]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 2
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0xb0]
call fcn.18001de40
cmp qword [rsp + 0x38], 0
je 0x18001ca9d
mov r8, qword [rsp + 0x30]
mov rcx, qword [0x180219958]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rsp + 0x80]
mov r12, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x90]
lea rbx, [rsp + 0x198]
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x1c8], xmm0
movdqu xmmword [rsp + 0x1b8], xmm0
movdqu xmmword [rsp + 0x1a8], xmm0
movdqu xmmword [rsp + 0x198], xmm0
mov byte [rsp + 0x1d8], 0
movups xmm0, xmmword [0x1801d99b0]
movaps xmmword [rsp + 0x170], xmm0
movups xmm0, xmmword [0x1801d99c0]
movaps xmmword [rsp + 0x180], xmm0
mov qword [rsp + 0x190], 0
cmp rsi, 0x3f
ja 0x18001cb2d
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call fcn.180170ea0
jmp 0x18001cb6e
mov r14, rsi
and r14, 0xffffffffffffffc0
mov r15d, esi
and r15d, 0x3f
add r14, rdi
shr rsi, 6
mov qword [rsp + 0x190], rsi
lea rcx, [rsp + 0x170]
mov rdx, rdi
mov r8, rsi
call fcn.1800fa5b0
mov rcx, rbx
mov rdx, r14
mov r8, r15
call fcn.180170ea0
mov rsi, r15
mov byte [rsp + 0x1d8], sil
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0x110], rax
movzx eax, byte [rsp + 0x1d8]
mov byte [rsp + 0x118], al
mov eax, dword [rsp + 0x1d9]
mov dword [rsp + 0x119], eax
movzx eax, word [rsp + 0x1dd]
mov word [rsp + 0x11d], ax
movzx eax, byte [rsp + 0x1df]
mov byte [rsp + 0x11f], al
movdqa xmm0, xmmword [rsp + 0x170]
movaps xmm1, xmmword [rsp + 0x180]
movaps xmm2, xmmword [rsp + 0x190]
movaps xmm3, xmmword [rsp + 0x1a0]
movaps xmmword [rsp + 0xd0], xmm2
movaps xmm2, xmmword [rsp + 0x1c0]
movaps xmmword [rsp + 0x100], xmm2
movaps xmm2, xmmword [rsp + 0x1b0]
movaps xmmword [rsp + 0xf0], xmm2
movaps xmmword [rsp + 0xe0], xmm3
movaps xmmword [rsp + 0xc0], xmm1
movdqa xmmword [rsp + 0xb0], xmm0
lea rsi, [rsp + 0xd8]
movzx ebx, byte [rsp + 0x118]
mov rax, qword [rsp + 0xd0]
shl rax, 9
lea r14, [rbx*8]
or r14, rax
mov byte [rsp + rbx + 0xd8], 0x80
mov r8, rbx
xor r8, 0x3f
je 0x18001cc6a
lea rcx, [rbx + rsi]
inc rcx
xor edx, edx
call fcn.180171550
bswap r14
xor ebx, 0x38
cmp ebx, 8
jae 0x18001ccc2
lea rbx, [rsp + 0xb0]
mov r8d, 1
mov rcx, rbx
mov rdx, rsi
call fcn.1800fa5b0
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x50], xmm0
movdqa xmmword [rsp + 0x40], xmm0
movdqa xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], r14
lea rdx, [rsp + 0x30]
mov r8d, 1
mov rcx, rbx
jmp 0x18001ccdb
mov qword [rsp + 0x110], r14
lea rcx, [rsp + 0xb0]
mov r8d, 1
mov rdx, rsi
call fcn.1800fa5b0
pxor xmm0, xmm0
movdqa xmm1, xmmword [rsp + 0xb0]
movdqa xmm2, xmmword [rsp + 0xc0]
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 + 0x30], 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 + 0x40], xmm2
mov qword [rsp + 0xb0], 1
movdqu xmmword [rsp + 0xb8], xmm0
xor ebx, ebx
lea rsi, [rsp + 0xb0]
mov r8d, 0x40
mov rcx, rsi
xor edx, edx
call fcn.18017fd30
mov edx, 0x110000
lea r14, [0x1802022b0]
jmp 0x18001cd9f
mov ebp, 0x110000
mov rcx, rsi
call fcn.18000c7d0
mov edx, ebp
cmp edx, 0x110000
jne 0x18001cd90
cmp rbx, 0x20
je 0x18001cdca
movzx eax, byte [rsp + rbx + 0x30]
inc rbx
mov ecx, eax
and ecx, 0xf
shr rax, 4
movzx edx, byte [rax + r14]
movzx ebp, byte [rcx + r14]
jmp 0x18001cd95
mov rax, qword [rsp + 0xc0]
mov qword [r13 + 0x10], rax
movdqu xmm0, xmmword [rsp + 0xb0]
movdqu xmmword [r13], xmm0
test r12, r12
je 0x18001cdfc
mov rcx, qword [0x180219958]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rsp + 0x248], 0
je 0x18001ce1e
mov r8, qword [rsp + 0x240]
mov rcx, qword [0x180219958]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rsp + 0x2d8]
test rcx, rcx
je 0x18001d0b1
mov rsi, qword [rsp + 0x2e8]
test rsi, rsi
je 0x18001d07a
mov rdi, qword [rsp + 0x2d0]
movdqa xmm0, xmmword [rdi]
pmovmskb r15d, xmm0
not r15d
lea rbx, [rdi + 0x10]
mov r14, qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x18001ce79
test rsi, rsi
je 0x18001d072
test r15w, r15w
je 0x18001ce90
lea eax, [r15 - 1]
and eax, r15d
jmp 0x18001cebb
movdqa xmm0, xmmword [rbx]
pmovmskb r15d, xmm0
add rdi, 0xffffffffffffea80
add rbx, 0x10
cmp r15w, 0xffff
je 0x18001ce90
mov ecx, 0xfffffffe
sub ecx, r15d
not r15d
mov eax, r15d
and eax, ecx
mov ecx, r15d
tzcnt ecx, ecx
mov r15d, eax
neg rcx
imul rax, rcx, 0x158
lea r12, [rdi + rax]
cmp qword [rdi + rax - 0xd0], 0
je 0x18001cef2
mov r8, qword [r12 - 0xd8]
mov rcx, qword [0x180219958]
xor edx, edx
call r14
mov r13, qword [r12 - 0xb0]
test r13, r13
je 0x18001cf40
mov rbp, qword [r12 - 0xc0]
add rbp, 8
jmp 0x18001cf19
add rbp, 0x18
dec r13
je 0x18001cf40
cmp qword [rbp], 0
je 0x18001cf10
mov r8, qword [rbp - 8]
mov rcx, qword [0x180219958]
xor edx, edx
call r14
jmp 0x18001cf10
cmp qword [r12 - 0xb8], 0
je 0x18001cf5f
mov r8, qword [r12 - 0xc0]
mov rcx, qword [0x180219958]
xor edx, edx
call r14
cmp qword [r12 - 0x130], 0
je 0x18001cf7e
mov r8, qword [r12 - 0x138]
mov rcx, qword [0x180219958]
xor edx, edx
call r14
mov r8, qword [r12 - 0x88]
test r8, r8
je 0x18001cf9f
cmp qword [r12 - 0x80], 0
je 0x18001cf9f
mov rcx, qword [0x180219958]
xor edx, edx
call r14
mov r13, qword [r12 - 0x98]
test r13, r13
je 0x18001cff0
mov rbp, qword [r12 - 0xa8]
add rbp, 8
jmp 0x18001cfc9
add rbp, 0x18
dec r13
je 0x18001cff0
cmp qword [rbp], 0
je 0x18001cfc0
mov r8, qword [rbp - 8]
mov rcx, qword [0x180219958]
xor edx, edx
call r14
jmp 0x18001cfc0
cmp qword [r12 - 0xa0], 0
je 0x18001d00f
mov r8, qword [r12 - 0xa8]
mov rcx, qword [0x180219958]
xor edx, edx
call r14
cmp qword [r12 - 0x110], 0
je 0x18001d02e
mov r8, qword [r12 - 0x118]
mov rcx, qword [0x180219958]
xor edx, edx
call r14
cmp qword [r12 - 0xf0], 0
je 0x18001d04d
mov r8, qword [r12 - 0xf8]
mov rcx, qword [0x180219958]
xor edx, edx
call r14
dec rsi
mov rcx, qword [r12 - 0x60]
test rcx, rcx
je 0x18001ce70
lock dec qword [rcx]
jne 0x18001ce70
call fcn.18000bdf0
jmp 0x18001ce70
mov rcx, qword [rsp + 0x2d8]
lea rax, [rcx + 1]
mov edx, 0x158
mul rdx
add rax, 0xf
and rax, 0xfffffffffffffff0
add rcx, rax
cmp rcx, 0xffffffffffffffef
je 0x18001d0b1
mov r8, qword [rsp + 0x2d0]
sub r8, rax
mov rcx, qword [0x180219958]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rsp + 0x3a8], 0
je 0x18001d0d3
mov r8, qword [rsp + 0x3a0]
mov rcx, qword [0x180219958]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8, qword [rsp + 0x3e8]
test r8, r8
je 0x18001d0fa
cmp qword [rsp + 0x3f0], 0
je 0x18001d0fa
mov rcx, qword [0x180219958]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rsp + 0x3c0], 0
je 0x18001d11c
mov r8, qword [rsp + 0x3b8]
mov rcx, qword [0x180219958]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rsp + 0x3d8], 0
je 0x18001d13e
mov r8, qword [rsp + 0x3d0]
mov rcx, qword [0x180219958]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rsp + 0x420]
test rsi, rsi
je 0x18001d1d7
mov rdi, qword [rsp + 0x410]
add rdi, 0x50
mov rbx, qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x18001d179
add rdi, 0x70
dec rsi
je 0x18001d1d7
cmp qword [rdi - 0x48], 0
je 0x18001d18f
mov r8, qword [rdi - 0x50]
mov rcx, qword [0x180219958]
xor edx, edx
call rbx
mov r8, qword [rdi - 8]
test r8, r8
je 0x18001d1a9
cmp qword [rdi], 0
je 0x18001d1a9
mov rcx, qword [0x180219958]
xor edx, edx
call rbx
cmp qword [rdi - 0x30], 0
je 0x18001d1bf
mov r8, qword [rdi - 0x38]
mov rcx, qword [0x180219958]
xor edx, edx
call rbx
cmp qword [rdi - 0x18], 0
je 0x18001d170
mov r8, qword [rdi - 0x20]
mov rcx, qword [0x180219958]
xor edx, edx
call rbx
jmp 0x18001d170
cmp qword [rsp + 0x418], 0
je 0x18001d1f9
mov r8, qword [rsp + 0x410]
mov rcx, qword [0x180219958]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rsp + 0x368]
test rsi, rsi
je 0x18001d307
mov rdi, qword [rsp + 0x358]
mov rbx, qword [sym.imp.ole32.dll_CoUninitialize]
mov r14, qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x18001d23d
add rdi, 0x60
dec rsi
je 0x18001d307
cmp qword [rdi + 0x48], 0
je 0x18001d254
mov r8, qword [rdi + 0x40]
mov rcx, qword [0x180219958]
xor edx, edx
call r14
cmp dword [rdi], 2
je 0x18001d230
mov rcx, qword [rdi + 0x28]
cmp qword [rdi + 0x20], 0
mov qword [rdi + 0x20], 0
je 0x18001d277
test rcx, rcx
je 0x18001d277
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rdi + 0x18]
cmp qword [rdi + 0x10], 0
mov qword [rdi + 0x10], 0
je 0x18001d295
test rcx, rcx
je 0x18001d295
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x18001d2b1
test rcx, rcx
je 0x18001d2b1
mov rax, qword [rcx]
call qword [rax + 0x10]
cmp byte [rdi + 0x30], 0
je 0x18001d2b9
call rbx
cmp qword [rdi], 0
je 0x18001d2ce
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x18001d2ce
mov rax, qword [rcx]
call qword [rax + 0x10]
cmp qword [rdi + 0x10], 0
je 0x18001d2e4
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x18001d2e4
mov rax, qword [rcx]
call qword [rax + 0x10]
cmp qword [rdi + 0x20], 0
je 0x18001d230
mov rcx, qword [rdi + 0x28]
test rcx, rcx
je 0x18001d230
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x18001d230
cmp qword [rsp + 0x360], 0
je 0x18001d329
mov r8, qword [rsp + 0x358]
mov rcx, qword [0x180219958]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rsp + 0x380]
test rsi, rsi
je 0x18001d3b5
mov rdi, qword [rsp + 0x370]
add rdi, 0x68
mov rbx, qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x18001d35c
add rdi, 0x90
dec rsi
je 0x18001d3b5
cmp qword [rdi - 0x50], 0
je 0x18001d372
mov r8, qword [rdi - 0x58]
mov rcx, qword [0x180219958]
xor edx, edx
call rbx
cmp qword [rdi - 0x30], 0
je 0x18001d388
mov r8, qword [rdi - 0x38]
mov rcx, qword [0x180219958]
xor edx, edx
call rbx
cmp qword [rdi - 0x18], 0
je 0x18001d39e
mov r8, qword [rdi - 0x20]
mov rcx, qword [0x180219958]
xor edx, edx
call rbx
cmp qword [rdi], 0
je 0x18001d350
mov r8, qword [rdi - 8]
mov rcx, qword [0x180219958]
xor edx, edx
call rbx
jmp 0x18001d350
cmp qword [rsp + 0x378], 0
je 0x18001d3d7
mov r8, qword [rsp + 0x370]
mov rcx, qword [0x180219958]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rsp + 0x290]
test rsi, rsi
je 0x18001d56a
mov rdi, qword [rsp + 0x2a8]
test rdi, rdi
je 0x18001d468
lea rbx, [rsi + 0x10]
movdqa xmm0, xmmword [rsi]
pmovmskb eax, xmm0
not eax
mov r14, rsi
mov r15, rdi
jmp 0x18001d433
lea ebp, [rax - 1]
and ebp, eax
tzcnt eax, eax
shl rax, 5
mov rcx, r14
sub rcx, rax
mov rcx, qword [rcx - 8]
call sub.pdh.dll_PdhRemoveCounter
mov eax, ebp
dec r15
je 0x18001d468
test ax, ax
jne 0x18001d410
nop dword [rax + rax]
movdqa xmm0, xmmword [rbx]
pmovmskb eax, xmm0
add r14, 0xfffffffffffffe00
add rbx, 0x10
cmp ax, 0xffff
je 0x18001d440
mov ecx, 0xfffffffe
sub ecx, eax
not eax
mov ebp, eax
and ebp, ecx
jmp 0x18001d415
mov rcx, qword [rsp + 0x2c8]
test rcx, rcx
je 0x18001d47b
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x2c0]
test rcx, rcx
je 0x18001d48d
call sub.pdh.dll_PdhCloseQuery
mov rbx, qword [rsp + 0x298]
test rbx, rbx
je 0x18001d56a
test rdi, rdi
je 0x18001d541
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 0x18001d4d7
mov eax, ebp
test rdi, rdi
je 0x18001d541
test ax, ax
je 0x18001d4f0
lea ebp, [rax - 1]
and ebp, eax
jmp 0x18001d517
movdqa xmm0, xmmword [r14]
pmovmskb eax, xmm0
add r12, 0xfffffffffffffe00
add r14, 0x10
cmp ax, 0xffff
je 0x18001d4f0
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 rdi
cmp qword [rax - 0x18], 0
je 0x18001d4d0
mov r8, qword [rax - 0x20]
mov rcx, qword [0x180219958]
xor edx, edx
call r15
jmp 0x18001d4d0
mov rax, rbx
shl rax, 5
add rbx, rax
cmp rbx, 0xffffffffffffffcf
je 0x18001d56a
sub rsi, rax
add rsi, 0xffffffffffffffe0
mov rcx, qword [0x180219958]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rsp + 0x308]
test rdi, rdi
je 0x18001d669
mov rbx, qword [rsp + 0x318]
test rbx, rbx
je 0x18001d62f
mov rsi, qword [rsp + 0x300]
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 0x18001d5bb
mov eax, ebp
test rbx, rbx
je 0x18001d637
test ax, ax
je 0x18001d5d0
lea ebp, [rax - 1]
and ebp, eax
jmp 0x18001d5f7
movdqa xmm0, xmmword [r14]
pmovmskb eax, xmm0
add r12, 0xfffffffffffff780
add r14, 0x10
cmp ax, 0xffff
je 0x18001d5d0
mov ecx, 0xfffffffe
sub ecx, eax
not eax
mov ebp, eax
and ebp, ecx
tzcnt ecx, eax
mov rax, rcx
neg rax
shl rcx, 3
shl rax, 7
sub rax, rcx
dec rbx
cmp qword [r12 + rax - 0x80], 0
je 0x18001d5b0
add rax, r12
mov r8, qword [rax - 0x88]
mov rcx, qword [0x180219958]
xor edx, edx
call r15
jmp 0x18001d5b0
mov rsi, qword [rsp + 0x300]
lea rax, [rdi + 1]
mov ecx, 0x88
mul rcx
add rax, 0xf
and rax, 0xfffffffffffffff0
add rdi, rax
cmp rdi, 0xffffffffffffffef
je 0x18001d669
sub rsi, rax
mov rcx, qword [0x180219958]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rsp + 0x398]
test rsi, rsi
je 0x18001d74b
mov rdi, qword [rsp + 0x388]
xor ebx, ebx
mov r14, qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x18001d699
cmp rbx, rsi
je 0x18001d74b
lea r15, [rbx + rbx*4]
shl r15, 4
cmp qword [rdi + r15 + 8], 0
je 0x18001d6bc
lea rax, [rdi + r15]
mov r8, qword [rax]
mov rcx, qword [0x180219958]
xor edx, edx
call r14
cmp qword [rdi + r15 + 0x20], 0
je 0x18001d6d5
mov r8, qword [rdi + r15 + 0x18]
mov rcx, qword [0x180219958]
xor edx, edx
call r14
mov r12, qword [rdi + r15 + 0x40]
test r12, r12
je 0x18001d720
mov r13, qword [rdi + r15 + 0x30]
add r13, 8
jmp 0x18001d6f9
add r13, 0x18
dec r12
je 0x18001d720
cmp qword [r13], 0
je 0x18001d6f0
mov r8, qword [r13 - 8]
mov rcx, qword [0x180219958]
xor edx, edx
call r14
jmp 0x18001d6f0
inc rbx
cmp qword [rdi + r15 + 0x38], 0
je 0x18001d690
lea rax, [rdi + r15]
add rax, 0x30
mov r8, qword [rax]
mov rcx, qword [0x180219958]
xor edx, edx
call r14
jmp 0x18001d690
cmp qword [rsp + 0x390], 0
je 0x18001d76d
mov r8, qword [rsp + 0x388]
mov rcx, qword [0x180219958]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
movaps xmm6, xmmword [rsp + 0x470]
movaps xmm7, xmmword [rsp + 0x480]
movaps xmm8, xmmword [rsp + 0x490]
add rsp, 0x4a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 1
mov edx, 7
call fcn.18017ea70
ud2
ud2