Function at 0x18001b720
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.180105300
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.18007c150
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 0x18001b7ff
lea rcx, [rcx*8 + 0x18]
xor edx, edx
nop word cs:[rax + rax]
cmp dword [rax + rdx], 8
je 0x18001b840
add rdx, 0x18
cmp rcx, rdx
jne 0x18001b7f0
cmp rdi, qword [rsp + 0x248]
jne 0x18001b829
lea rcx, [rsp + 0x240]
mov rdx, rdi
call fcn.18007c150
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, [0x18017ecbc]
mov qword [rsp + 0xb0], rax
mov rcx, qword [rsp + 0xb0]
movabs rax, 0x875431d1c6e49b6c
mov qword [rsp + 0xb0], rax
mov rdx, qword [rsp + 0xb0]
call fcn.18000da80
movabs rcx, 0x7af73d05cac1b7be
xor rcx, qword [rax]
mov edx, 0x37ada66e
xor edx, dword [rax + 8]
movzx eax, byte [rax + 0xc]
test rdi, rdi
je 0x18001d97b
mov dword [rsp + 0x7c], edx
mov qword [rsp + 0x238], rcx
xor al, 0x1e
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.180069b60
mov r12, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xb8]
test r12, r12
jne 0x18001bb72
test rsi, rsi
jne 0x18001bb97
add rbx, 0x18
add rbp, 0xffffffffffffffe8
cmp rbp, 0xffffffffffffffe8
jne 0x18001b8d0
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 0x18001c5e7
cmp eax, 1
jne 0x18001bca1
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 [0x18018c860]
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 [0x1801da9f0]
movaps xmmword [rsp + 0x270], xmm7
movups xmm8, xmmword [0x1801da9e0]
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.1800fa230
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.1800fa230
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 0x18001bf2f
mov rcx, rsi
mov rdx, qword [rsp + 0x28]
mov r8, r14
call fcn.180171d20
jmp 0x18001bf78
movups xmm6, xmmword [rsp + 0xc0]
mov r14, qword [rsp + 0xd0]
mov rcx, qword [0x18021a960]
test rcx, rcx
je 0x18001ca46
jmp 0x18001ca5f
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 0x18001c5cd
mov qword [rsp + 0x28], r13
add rbx, 0x18
lea r13, [rsp + 0xb0]
mov rdi, qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x18001bbfe
add rbx, 0x18
add rbp, 0xffffffffffffffe8
je 0x18001c5b8
mov rcx, r13
mov rdx, rbx
call fcn.180069b60
mov r12, qword [rsp + 0xb0]
mov r15, qword [rsp + 0xb8]
movdqu xmm6, xmmword [rsp + 0xc0]
test r12, r12
jne 0x18001c56e
mov rax, qword [rsp + 0x178]
sub rax, r14
pshufd xmm0, xmm6, 0xee
movq r12, xmm0
cmp rax, r12
jb 0x18001bc7c
lea rcx, [rsi + r14]
mov rdx, r15
mov r8, r12
call fcn.180171d20
add r14, r12
mov qword [rsp + 0x180], r14
movq rax, xmm6
test rax, rax
je 0x18001bbf0
mov rcx, qword [0x18021a960]
xor edx, edx
mov r8, r15
call rdi
jmp 0x18001bbf0
lea rcx, [rsp + 0x170]
mov rdx, r14
mov r8, r12
call fcn.180181bc0
mov rsi, qword [rsp + 0x170]
mov r14, qword [rsp + 0x180]
jmp 0x18001bc45
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 [0x18018c860]
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 [0x18018c870]
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.1800f8c00
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.1800f8c00
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 0x18001c03c
add r15, r12
mov rcx, r15
mov rdx, qword [rsp + 0x28]
mov r8, r14
call fcn.180171d20
add r14, r12
mov r12, r14
jmp 0x18001c0c5
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.1800fa230
mov rcx, rsi
mov rdx, r15
mov r8, r12
call fcn.180171d20
mov r14, r12
mov r12, rdi
mov byte [rsp + 0x228], r14b
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x170]
mov r8d, 0xc0
call fcn.180171d20
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 0x18001bfe1
lea rcx, [rsi + r14]
inc rcx
xor edx, edx
call fcn.1801723c0
bswap rdi
xor esi, 0x38
cmp esi, 8
jae 0x18001c1b2
lea rsi, [rsp + 0xb0]
mov r8d, 1
mov rcx, rsi
mov rdx, r14
call fcn.1800fa230
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 0x18001c1cb
mov rbp, r13
mov rsi, qword [rsp + 0x28]
test r12, r12
je 0x18001c07e
mov rdx, qword [rsp + 0x28]
lea rsi, [rdx + r8]
add r12, r15
mov rcx, r12
call fcn.180171d20
inc qword [rsp + 0x170]
lea rcx, [rsp + 0x178]
mov r8d, 1
mov rdx, r15
call fcn.1800f8c00
mov r14, rdi
mov r13, r14
and r13, 0xffffffffffffffc0
mov r12d, r14d
and r12d, 0x3f
add r13, rsi
cmp r14, 0x40
jb 0x18001c0b4
shr r14, 6
add qword [rsp + 0x170], r14
lea rcx, [rsp + 0x178]
mov rdx, rsi
mov r8, r14
call fcn.1800f8c00
mov rcx, r15
mov rdx, r13
mov r8, r12
call fcn.180171d20
mov r13, rbp
mov byte [rsp + 0x210], r12b
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x170]
mov r8d, 0xa8
call fcn.180171d20
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 0x18001c14f
lea rcx, [rsi + r14]
inc rcx
xor edx, edx
call fcn.1801723c0
bswap rdi
xor esi, 0x38
cmp esi, 8
mov r12, qword [rsp + 0x288]
jae 0x18001c3d3
lea rsi, [rsp + 0x80]
mov r8d, 1
mov rcx, rsi
mov rdx, r14
call fcn.1800f8c00
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 0x18001c3ec
mov qword [rsp + 0x160], rdi
lea rcx, [rsp + 0xb0]
mov r8d, 1
mov rdx, r14
call fcn.1800fa230
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.1800fa230
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.180181bc0
mov edx, 0x110000
lea rdi, [0x1802031f0]
jmp 0x18001c35f
mov ebp, 0x110000
mov rcx, r15
call fcn.18000cec0
mov edx, ebp
cmp edx, 0x110000
jne 0x18001c350
cmp rsi, 0x20
je 0x18001c38b
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 0x18001c355
mov rsi, qword [rsp + 0x30]
movdqu xmm6, xmmword [rsp + 0x38]
lea r15, [rsp + 0xb0]
test r12, r12
je 0x18001ca37
mov rcx, qword [0x18021a960]
xor r12d, r12d
xor edx, edx
mov r8, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [0x18021a960]
test rcx, rcx
je 0x18001ca46
jmp 0x18001ca5f
mov qword [rsp + 0x148], rdi
lea rcx, [rsp + 0x80]
mov r8d, 1
mov rdx, r14
call fcn.1800f8c00
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.1800f8c00
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.180181bc0
mov edx, 0x110000
lea r14, [0x1802031f0]
jmp 0x18001c53f
mov ebp, 0x110000
mov rcx, rsi
call fcn.18000cec0
mov edx, ebp
cmp edx, 0x110000
jne 0x18001c530
cmp rdi, 0x14
je 0x18001ca1d
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 0x18001c535
mov r14, qword [rsp + 0xd0]
cmp qword [rsp + 0x178], 0
je 0x18001c593
mov rcx, qword [0x18021a960]
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 [0x18021a960]
test rcx, rcx
je 0x18001ca46
jmp 0x18001ca5f
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 0x18001b92d
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 [0x18018c860]
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 xmm7, xmmword [0x18018c870]
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.18006cca0
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.18006cca0
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 0x18001c7d9
mov rcx, rsi
mov rdx, qword [rsp + 0x28]
mov r8, r14
call fcn.180171d20
jmp 0x18001c822
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.18006cca0
mov rcx, rsi
mov rdx, r15
mov r8, r12
call fcn.180171d20
mov r14, r12
mov r12, rdi
mov byte [rsp + 0x1f8], r14b
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x170]
mov r8d, 0x90
call fcn.180171d20
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 0x18001c898
lea rcx, [rsi + r14]
inc rcx
xor edx, edx
call fcn.1801723c0
or rdi, r15
xor esi, 0x38
cmp esi, 8
jae 0x18001c8ec
lea rsi, [rsp + 0x80]
mov r8d, 1
mov rcx, rsi
mov rdx, r14
call fcn.18006cca0
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 0x18001c905
mov qword [rsp + 0x130], rdi
lea rcx, [rsp + 0x80]
mov r8d, 1
mov rdx, r14
call fcn.18006cca0
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.18006cca0
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.180181bc0
mov edx, 0x110000
lea r14, [0x1802031f0]
jmp 0x18001c9ef
mov ebp, 0x110000
mov rcx, rsi
call fcn.18000cec0
mov edx, ebp
cmp edx, 0x110000
jne 0x18001c9e0
cmp rdi, 0x10
je 0x18001ca1d
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 0x18001c9e5
mov rsi, qword [rsp + 0xb0]
movdqu xmm6, xmmword [rsp + 0xb8]
test r12, r12
jne 0x18001c3a7
xor r12d, r12d
mov rcx, qword [0x18021a960]
test rcx, rcx
jne 0x18001ca5f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18001d96a
mov rcx, rax
mov qword [0x18021a960], rax
mov r8d, 7
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18001d96a
mov rbx, rax
mov dword [rax + 3], 0x73776f64
mov dword [rax], 0x646e6957
lea rax, [0x180183db2]
mov qword [rsp + 0xb0], rax
mov rcx, qword [rsp + 0xb0]
movabs rax, 0x84532f0a64f6ec88
mov qword [rsp + 0xb0], rax
mov rdx, qword [rsp + 0xb0]
call fcn.18000dff0
mov ebp, dword [rax]
movzx edi, word [rax + 4]
movzx r15d, byte [rax + 6]
mov rcx, qword [0x18021a960]
test rcx, rcx
jne 0x18001caec
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x18001d96a
mov rcx, rax
mov qword [0x18021a960], rax
mov r8d, 7
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x18001d96a
shl r15d, 0x10
or edi, r15d
mov ecx, edi
shr ecx, 0x10
xor cl, 0x9c
mov edx, edi
shr edx, 8
xor dl, 0xf0
xor dil, 0x4c
xor ebp, 0x98de27de
mov dword [rax], ebp
mov byte [rax + 4], dil
mov byte [rax + 5], dl
mov byte [rax + 6], cl
mov rcx, qword [0x18021a960]
xor edx, edx
mov r8, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12, r12
jne 0x18001cb54
mov qword [rsp + 0x30], rsi
movdqu xmmword [rsp + 0x38], xmm6
jmp 0x18001cb8d
mov qword [rsp + 0x30], rbx
movdqa xmm0, xmmword [0x18018c890]
movdqu xmmword [rsp + 0x38], xmm0
test rsi, rsi
je 0x18001cb7e
mov rcx, qword [0x18021a960]
xor edx, edx
mov r8, r12
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14, r14
je 0x18001cb9f
pshufd xmm0, xmm6, 0xee
movq rbx, xmm0
mov rcx, qword [0x18021a960]
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, [0x18000d1e0]
mov qword [rsp + 0x178], rax
lea rax, [rsp + 0x260]
mov qword [rsp + 0x180], rax
lea rax, [0x18006f130]
mov qword [rsp + 0x188], rax
lea rax, str.description___is_deprecated__use_DisplayP_
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.18001e000
cmp qword [rsp + 0x38], 0
je 0x18001cc6e
mov r8, qword [rsp + 0x30]
mov rcx, qword [0x18021a960]
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 [0x1801da9e0]
movaps xmmword [rsp + 0x170], xmm0
movups xmm0, xmmword [0x1801da9f0]
movaps xmmword [rsp + 0x180], xmm0
mov qword [rsp + 0x190], 0
cmp rsi, 0x3f
ja 0x18001ccfe
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call fcn.180171d20
jmp 0x18001cd3f
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.1800fa230
mov rcx, rbx
mov rdx, r14
mov r8, r15
call fcn.180171d20
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 0x18001ce3b
lea rcx, [rbx + rsi]
inc rcx
xor edx, edx
call fcn.1801723c0
bswap r14
xor ebx, 0x38
cmp ebx, 8
jae 0x18001ce93
lea rbx, [rsp + 0xb0]
mov r8d, 1
mov rcx, rbx
mov rdx, rsi
call fcn.1800fa230
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 0x18001ceac
mov qword [rsp + 0x110], r14
lea rcx, [rsp + 0xb0]
mov r8d, 1
mov rdx, rsi
call fcn.1800fa230
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.180181bc0
mov edx, 0x110000
lea r14, [0x1802031f0]
jmp 0x18001cf6f
mov ebp, 0x110000
mov rcx, rsi
call fcn.18000cec0
mov edx, ebp
cmp edx, 0x110000
jne 0x18001cf60
cmp rbx, 0x20
je 0x18001cf9a
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 0x18001cf65
mov rax, qword [rsp + 0xc0]
mov qword [r13 + 0x10], rax
movdqu xmm0, xmmword [rsp + 0xb0]
movdqu xmmword [r13], xmm0
test r12, r12
je 0x18001cfcc
mov rcx, qword [0x18021a960]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rsp + 0x248], 0
je 0x18001cfee
mov r8, qword [rsp + 0x240]
mov rcx, qword [0x18021a960]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rsp + 0x2d8]
test rcx, rcx
je 0x18001d281
mov rsi, qword [rsp + 0x2e8]
test rsi, rsi
je 0x18001d24a
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 0x18001d049
test rsi, rsi
je 0x18001d242
test r15w, r15w
je 0x18001d060
lea eax, [r15 - 1]
and eax, r15d
jmp 0x18001d08b
movdqa xmm0, xmmword [rbx]
pmovmskb r15d, xmm0
add rdi, 0xffffffffffffea80
add rbx, 0x10
cmp r15w, 0xffff
je 0x18001d060
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 0x18001d0c2
mov r8, qword [r12 - 0xd8]
mov rcx, qword [0x18021a960]
xor edx, edx
call r14
mov r13, qword [r12 - 0xb0]
test r13, r13
je 0x18001d110
mov rbp, qword [r12 - 0xc0]
add rbp, 8
jmp 0x18001d0e9
add rbp, 0x18
dec r13
je 0x18001d110
cmp qword [rbp], 0
je 0x18001d0e0
mov r8, qword [rbp - 8]
mov rcx, qword [0x18021a960]
xor edx, edx
call r14
jmp 0x18001d0e0
cmp qword [r12 - 0xb8], 0
je 0x18001d12f
mov r8, qword [r12 - 0xc0]
mov rcx, qword [0x18021a960]
xor edx, edx
call r14
cmp qword [r12 - 0x130], 0
je 0x18001d14e
mov r8, qword [r12 - 0x138]
mov rcx, qword [0x18021a960]
xor edx, edx
call r14
mov r8, qword [r12 - 0x88]
test r8, r8
je 0x18001d16f
cmp qword [r12 - 0x80], 0
je 0x18001d16f
mov rcx, qword [0x18021a960]
xor edx, edx
call r14
mov r13, qword [r12 - 0x98]
test r13, r13
je 0x18001d1c0
mov rbp, qword [r12 - 0xa8]
add rbp, 8
jmp 0x18001d199
add rbp, 0x18
dec r13
je 0x18001d1c0
cmp qword [rbp], 0
je 0x18001d190
mov r8, qword [rbp - 8]
mov rcx, qword [0x18021a960]
xor edx, edx
call r14
jmp 0x18001d190
cmp qword [r12 - 0xa0], 0
je 0x18001d1df
mov r8, qword [r12 - 0xa8]
mov rcx, qword [0x18021a960]
xor edx, edx
call r14
cmp qword [r12 - 0x110], 0
je 0x18001d1fe
mov r8, qword [r12 - 0x118]
mov rcx, qword [0x18021a960]
xor edx, edx
call r14
cmp qword [r12 - 0xf0], 0
je 0x18001d21d
mov r8, qword [r12 - 0xf8]
mov rcx, qword [0x18021a960]
xor edx, edx
call r14
dec rsi
mov rcx, qword [r12 - 0x60]
test rcx, rcx
je 0x18001d040
lock dec qword [rcx]
jne 0x18001d040
call fcn.18000bee0
jmp 0x18001d040
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 0x18001d281
mov r8, qword [rsp + 0x2d0]
sub r8, rax
mov rcx, qword [0x18021a960]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rsp + 0x3a8], 0
je 0x18001d2a3
mov r8, qword [rsp + 0x3a0]
mov rcx, qword [0x18021a960]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8, qword [rsp + 0x3e8]
test r8, r8
je 0x18001d2ca
cmp qword [rsp + 0x3f0], 0
je 0x18001d2ca
mov rcx, qword [0x18021a960]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rsp + 0x3c0], 0
je 0x18001d2ec
mov r8, qword [rsp + 0x3b8]
mov rcx, qword [0x18021a960]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rsp + 0x3d8], 0
je 0x18001d30e
mov r8, qword [rsp + 0x3d0]
mov rcx, qword [0x18021a960]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rsp + 0x420]
test rsi, rsi
je 0x18001d3a7
mov rdi, qword [rsp + 0x410]
add rdi, 0x50
mov rbx, qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x18001d349
add rdi, 0x70
dec rsi
je 0x18001d3a7
cmp qword [rdi - 0x48], 0
je 0x18001d35f
mov r8, qword [rdi - 0x50]
mov rcx, qword [0x18021a960]
xor edx, edx
call rbx
mov r8, qword [rdi - 8]
test r8, r8
je 0x18001d379
cmp qword [rdi], 0
je 0x18001d379
mov rcx, qword [0x18021a960]
xor edx, edx
call rbx
cmp qword [rdi - 0x30], 0
je 0x18001d38f
mov r8, qword [rdi - 0x38]
mov rcx, qword [0x18021a960]
xor edx, edx
call rbx
cmp qword [rdi - 0x18], 0
je 0x18001d340
mov r8, qword [rdi - 0x20]
mov rcx, qword [0x18021a960]
xor edx, edx
call rbx
jmp 0x18001d340
cmp qword [rsp + 0x418], 0
je 0x18001d3c9
mov r8, qword [rsp + 0x410]
mov rcx, qword [0x18021a960]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rsp + 0x368]
test rsi, rsi
je 0x18001d4d7
mov rdi, qword [rsp + 0x358]
mov rbx, qword [sym.imp.ole32.dll_CoUninitialize]
mov r14, qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x18001d40d
add rdi, 0x60
dec rsi
je 0x18001d4d7
cmp qword [rdi + 0x48], 0
je 0x18001d424
mov r8, qword [rdi + 0x40]
mov rcx, qword [0x18021a960]
xor edx, edx
call r14
cmp dword [rdi], 2
je 0x18001d400
mov rcx, qword [rdi + 0x28]
cmp qword [rdi + 0x20], 0
mov qword [rdi + 0x20], 0
je 0x18001d447
test rcx, rcx
je 0x18001d447
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rdi + 0x18]
cmp qword [rdi + 0x10], 0
mov qword [rdi + 0x10], 0
je 0x18001d465
test rcx, rcx
je 0x18001d465
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x18001d481
test rcx, rcx
je 0x18001d481
mov rax, qword [rcx]
call qword [rax + 0x10]
cmp byte [rdi + 0x30], 0
je 0x18001d489
call rbx
cmp qword [rdi], 0
je 0x18001d49e
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x18001d49e
mov rax, qword [rcx]
call qword [rax + 0x10]
cmp qword [rdi + 0x10], 0
je 0x18001d4b4
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x18001d4b4
mov rax, qword [rcx]
call qword [rax + 0x10]
cmp qword [rdi + 0x20], 0
je 0x18001d400
mov rcx, qword [rdi + 0x28]
test rcx, rcx
je 0x18001d400
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x18001d400
cmp qword [rsp + 0x360], 0
je 0x18001d4f9
mov r8, qword [rsp + 0x358]
mov rcx, qword [0x18021a960]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rsp + 0x380]
test rsi, rsi
je 0x18001d585
mov rdi, qword [rsp + 0x370]
add rdi, 0x68
mov rbx, qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x18001d52c
add rdi, 0x90
dec rsi
je 0x18001d585
cmp qword [rdi - 0x50], 0
je 0x18001d542
mov r8, qword [rdi - 0x58]
mov rcx, qword [0x18021a960]
xor edx, edx
call rbx
cmp qword [rdi - 0x30], 0
je 0x18001d558
mov r8, qword [rdi - 0x38]
mov rcx, qword [0x18021a960]
xor edx, edx
call rbx
cmp qword [rdi - 0x18], 0
je 0x18001d56e
mov r8, qword [rdi - 0x20]
mov rcx, qword [0x18021a960]
xor edx, edx
call rbx
cmp qword [rdi], 0
je 0x18001d520
mov r8, qword [rdi - 8]
mov rcx, qword [0x18021a960]
xor edx, edx
call rbx
jmp 0x18001d520
cmp qword [rsp + 0x378], 0
je 0x18001d5a7
mov r8, qword [rsp + 0x370]
mov rcx, qword [0x18021a960]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rsp + 0x290]
test rsi, rsi
je 0x18001d73a
mov rdi, qword [rsp + 0x2a8]
test rdi, rdi
je 0x18001d638
lea rbx, [rsi + 0x10]
movdqa xmm0, xmmword [rsi]
pmovmskb eax, xmm0
not eax
mov r14, rsi
mov r15, rdi
jmp 0x18001d603
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 0x18001d638
test ax, ax
jne 0x18001d5e0
nop dword [rax + rax]
movdqa xmm0, xmmword [rbx]
pmovmskb eax, xmm0
add r14, 0xfffffffffffffe00
add rbx, 0x10
cmp ax, 0xffff
je 0x18001d610
mov ecx, 0xfffffffe
sub ecx, eax
not eax
mov ebp, eax
and ebp, ecx
jmp 0x18001d5e5
mov rcx, qword [rsp + 0x2c8]
test rcx, rcx
je 0x18001d64b
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x2c0]
test rcx, rcx
je 0x18001d65d
call sub.pdh.dll_PdhCloseQuery
mov rbx, qword [rsp + 0x298]
test rbx, rbx
je 0x18001d73a
test rdi, rdi
je 0x18001d711
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 0x18001d6a7
mov eax, ebp
test rdi, rdi
je 0x18001d711
test ax, ax
je 0x18001d6c0
lea ebp, [rax - 1]
and ebp, eax
jmp 0x18001d6e7
movdqa xmm0, xmmword [r14]
pmovmskb eax, xmm0
add r12, 0xfffffffffffffe00
add r14, 0x10
cmp ax, 0xffff
je 0x18001d6c0
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 0x18001d6a0
mov r8, qword [rax - 0x20]
mov rcx, qword [0x18021a960]
xor edx, edx
call r15
jmp 0x18001d6a0
mov rax, rbx
shl rax, 5
add rbx, rax
cmp rbx, 0xffffffffffffffcf
je 0x18001d73a
sub rsi, rax
add rsi, 0xffffffffffffffe0
mov rcx, qword [0x18021a960]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rsp + 0x308]
test rdi, rdi
je 0x18001d839
mov rbx, qword [rsp + 0x318]
test rbx, rbx
je 0x18001d7ff
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 0x18001d78b
mov eax, ebp
test rbx, rbx
je 0x18001d807
test ax, ax
je 0x18001d7a0
lea ebp, [rax - 1]
and ebp, eax
jmp 0x18001d7c7
movdqa xmm0, xmmword [r14]
pmovmskb eax, xmm0
add r12, 0xfffffffffffff780
add r14, 0x10
cmp ax, 0xffff
je 0x18001d7a0
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 0x18001d780
add rax, r12
mov r8, qword [rax - 0x88]
mov rcx, qword [0x18021a960]
xor edx, edx
call r15
jmp 0x18001d780
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 0x18001d839
sub rsi, rax
mov rcx, qword [0x18021a960]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rsp + 0x398]
test rsi, rsi
je 0x18001d91b
mov rdi, qword [rsp + 0x388]
xor ebx, ebx
mov r14, qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x18001d869
cmp rbx, rsi
je 0x18001d91b
lea r15, [rbx + rbx*4]
shl r15, 4
cmp qword [rdi + r15 + 8], 0
je 0x18001d88c
lea rax, [rdi + r15]
mov r8, qword [rax]
mov rcx, qword [0x18021a960]
xor edx, edx
call r14
cmp qword [rdi + r15 + 0x20], 0
je 0x18001d8a5
mov r8, qword [rdi + r15 + 0x18]
mov rcx, qword [0x18021a960]
xor edx, edx
call r14
mov r12, qword [rdi + r15 + 0x40]
test r12, r12
je 0x18001d8f0
mov r13, qword [rdi + r15 + 0x30]
add r13, 8
jmp 0x18001d8c9
add r13, 0x18
dec r12
je 0x18001d8f0
cmp qword [r13], 0
je 0x18001d8c0
mov r8, qword [r13 - 8]
mov rcx, qword [0x18021a960]
xor edx, edx
call r14
jmp 0x18001d8c0
inc rbx
cmp qword [rdi + r15 + 0x38], 0
je 0x18001d860
lea rax, [rdi + r15]
add rax, 0x30
mov r8, qword [rax]
mov rcx, qword [0x18021a960]
xor edx, edx
call r14
jmp 0x18001d860
cmp qword [rsp + 0x390], 0
je 0x18001d93d
mov r8, qword [rsp + 0x388]
mov rcx, qword [0x18021a960]
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.18017f950
ud2
ud2