Function at 0x14001cde7
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x1458
call fcn.140092730
sub rsp, rax
movdqa xmmword [rsp + 0x1440], xmm15
movdqa xmmword [rsp + 0x1430], xmm14
movdqa xmmword [rsp + 0x1420], xmm13
movdqa xmmword [rsp + 0x1410], xmm12
movdqa xmmword [rsp + 0x1400], xmm11
movdqa xmmword [rsp + 0x13f0], xmm10
movdqa xmmword [rsp + 0x13e0], xmm9
movdqa xmmword [rsp + 0x13d0], xmm8
movdqa xmmword [rsp + 0x13c0], xmm7
movdqa xmmword [rsp + 0x13b0], xmm6
mov rsi, rcx
cmp r9, 0x41
jae 0x14001cede
mov qword [rsi], 0
movaps xmm6, xmmword [rsp + 0x13b0]
movaps xmm7, xmmword [rsp + 0x13c0]
movaps xmm8, xmmword [rsp + 0x13d0]
movaps xmm9, xmmword [rsp + 0x13e0]
movaps xmm10, xmmword [rsp + 0x13f0]
movaps xmm11, xmmword [rsp + 0x1400]
movaps xmm12, xmmword [rsp + 0x1410]
movaps xmm13, xmmword [rsp + 0x1420]
movaps xmm14, xmmword [rsp + 0x1430]
movaps xmm15, xmmword [rsp + 0x1440]
add rsp, 0x1458
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rdi, r9
mov rbp, r8
mov r14, rdx
mov ecx, 0x400000
mov edx, 8
call fcn.14000bb90
test rax, rax
je 0x14001e681
mov r12, rax
mov qword [rsp + 0xa0], rsi
lea r15, [rbp + 0x10]
lea rax, [rbp + 0x40]
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x90], rdi
lea rax, [rdi - 0x40]
mov qword [rsp + 0x28], rax
xor esi, esi
lea rcx, [r12 + rsi]
mov r8d, 0x400
xor edx, edx
call fcn.140092ff0
add rsi, 0x400
cmp rsi, 0x3ffc00
jne 0x14001cf2d
add rsi, r12
xor edi, edi
mov r8d, 0x400
mov rcx, rsi
xor edx, edx
call fcn.140092ff0
mov ebx, 1
lea rax, [rsp + 0x1b0]
mov dword [rax], ebx
mov ecx, 0x20
lea rdx, [rsp + 0x1c0]
mov dword [rdx], ecx
lea rsi, [rsp + 0xbb0]
mov dword [rsi], ecx
lea r8, [rsp + 0x3b0]
mov qword [r8], rax
mov eax, 4
mov qword [r8 + 8], rax
mov qword [r8 + 0x10], rdx
lea rcx, [rsp + 0x1d0]
mov dword [rcx], 0x1000
mov qword [r8 + 0x18], rax
mov qword [r8 + 0x20], rcx
lea rcx, [rsp + 0x1e0]
mov dword [rcx], 3
mov qword [r8 + 0x28], rax
mov qword [r8 + 0x30], rcx
lea rcx, [rsp + 0x1f0]
mov dword [rcx], 0x13
mov qword [r8 + 0x38], rax
mov qword [r8 + 0x40], rcx
lea rcx, [rsp + 0x200]
mov dword [rcx], ebx
mov qword [r8 + 0x48], rax
mov qword [r8 + 0x50], rcx
lea rcx, [rsp + 0x210]
mov dword [rcx], 0x11
mov qword [r8 + 0x58], rax
mov qword [r8 + 0x60], rcx
mov qword [r8 + 0x68], rax
mov qword [r8 + 0x70], r14
lea rcx, [rsp + 0x220]
mov dword [rcx], 0x10
mov qword [r8 + 0x78], 0x11
mov qword [r8 + 0x80], rcx
mov qword [r8 + 0x88], rax
mov qword [rsp + 0x98], rbp
mov qword [r8 + 0x90], rbp
mov qword [r8 + 0x98], 0x10
mov qword [r8 + 0xa0], rsi
mov qword [r8 + 0xa8], rax
mov qword [r8 + 0xb0], r15
lea rcx, [rsp + 0xfb0]
mov dword [rcx], 0
mov qword [r8 + 0xb8], 0x20
mov qword [r8 + 0xc0], rcx
mov qword [r8 + 0xc8], rax
lea rax, [0x14043e2d0]
mov qword [r8 + 0xd0], rax
mov qword [r8 + 0xd8], rdi
lea rsi, [rsp + 0x7b0]
mov qword [rsi + 0x40], rdi
pxor xmm0, xmm0
movdqa xmmword [rsi + 0x30], xmm0
movdqa xmmword [rsi + 0x20], xmm0
movdqa xmmword [rsi + 0x10], xmm0
movdqa xmmword [rsi], xmm0
mov edx, 0x40
mov r9d, 0xe
mov rcx, rsi
call fcn.140016c62
mov qword [rsi + 0x40], rdi
mov edx, 0x400
mov r9d, 0x48
mov rcx, r12
mov r8, rsi
call fcn.140017034
mov dword [rsi + 0x40], ebx
lea rcx, [r12 + 0x400]
mov edx, 0x400
mov r9d, 0x48
mov r8, rsi
call fcn.140017034
movdqa xmm6, xmmword [0x140098880]
xor eax, eax
mov qword [rsp + 0xf0], r12
mov rcx, rax
inc rax
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xd0], rcx
test rcx, rcx
sete byte [rsp + 0xc0]
xor edi, edi
lea rsi, [rdi + 1]
test rdi, rdi
sete byte [rsp + 0x80]
mov eax, edi
shl eax, 0xa
mov dword [rsp + 0x40], eax
xor ebp, ebp
mov r8d, 0x400
lea rcx, [rsp + 0xbb0]
xor edx, edx
call fcn.140092ff0
mov r8d, 0x400
lea rcx, [rsp + 0xfb0]
xor edx, edx
call fcn.140092ff0
mov r8d, 0x400
lea rcx, [rsp + 0x7b0]
xor edx, edx
call fcn.140092ff0
mov rcx, qword [rsp + 0xd0]
mov rax, rcx
or rax, rdi
mov qword [rsp + 0xfb0], rcx
mov qword [rsp + 0xfb8], 0
mov qword [rsp + 0xfc0], rdi
movdqu xmmword [rsp + 0xfc8], xmm6
mov qword [rsp + 0xfd8], 1
mov cl, byte [rsp + 0xc0]
mov ebx, 0
jne 0x14001d219
lea rcx, [rsp + 0x7b0]
lea rdx, [rsp + 0xfb0]
lea r8, [rsp + 0xbb0]
call fcn.140017206
mov ebx, 2
mov byte [rsp + 0x80], 1
mov cl, 1
mov qword [rsp + 0xe0], rsi
shl rsi, 0xa
mov qword [rsp + 0x70], rsi
mov eax, dword [rsp + 0x40]
mov r13d, eax
or r13d, ebx
lea eax, [r13 - 1]
mov qword [rsp + 0x50], rax
xor eax, eax
test r13d, 0xc02
sete al
shl eax, 0xc
add eax, r13d
dec eax
mov byte [rsp + 0x30], cl
xor cl, 1
mov byte [rsp + 0x100], cl
mov qword [rsp + 0x60], r13
shl r13, 0xa
add r13, r12
lea ecx, [rbx - 1]
mov dword [rsp + 0x130], ecx
mov qword [rsp + 0x120], rdi
mov qword [rsp + 0x110], rbx
mov rcx, qword [rsp + 0x60]
lea r15d, [rcx + rbp]
lea r12d, [rbx + rbp]
mov ecx, r15d
and ecx, 0xfff
mov rdx, qword [rsp + 0x50]
lea esi, [rdx + rbp]
cmp ecx, 1
cmovne esi, eax
and r12d, 0x7f
jne 0x14001d2cc
lea rcx, [rsp + 0x7b0]
lea rdx, [rsp + 0xfb0]
lea r8, [rsp + 0xbb0]
call fcn.140017206
cmp byte [rsp + 0x80], 0
mov eax, dword [rsp + 0x40]
mov ecx, 0
cmovne eax, ecx
add eax, dword [rsp + 0x130]
add eax, ebp
cmp rdi, 3
mov rdi, qword [rsp + 0x70]
cmove edi, ecx
lea r14d, [rbx + rbp]
add r14d, 0xbff
cmp byte [rsp + 0x30], 0
cmovne r14d, eax
cmovne edi, ecx
cmp r15d, 0x1000
jae 0x14001e64f
mov eax, r12d
mov ebx, dword [rsp + rax*8 + 0x7b0]
mov r8d, 0x400
lea r15, [rsp + 0x3b0]
mov rcx, r15
mov rdx, r13
call fcn.1400931b0
cmp esi, 0x1000
jae 0x14001e64f
imul rbx, rbx
shr rbx, 0x20
mov rax, r14
imul rax, rbx
shr rax, 0x20
not eax
add edi, r14d
add edi, eax
and edi, 0xfff
mov ecx, esi
shl rcx, 0xa
mov r12, qword [rsp + 0xf0]
add rcx, r12
shl rdi, 0xa
add rdi, r12
mov rdx, rdi
mov r8, r15
mov r9b, byte [rsp + 0x100]
call fcn.14001725b
mov r8d, 0x400
mov rcx, r13
mov rdx, r15
call fcn.1400931b0
inc esi
add r13, 0x400
mov rbx, qword [rsp + 0x110]
lea ecx, [rbx + rbp]
inc ecx
mov eax, ebp
inc eax
mov ebp, eax
mov eax, esi
cmp ecx, 0x400
mov rdi, qword [rsp + 0x120]
jne 0x14001d285
mov rax, qword [rsp + 0xe0]
mov rdi, rax
cmp rax, 4
jne 0x14001d147
mov rax, qword [rsp + 0xb0]
cmp rax, 3
jne 0x14001d124
mov rdx, r12
add rdx, 0x3ffc00
lea r15, [rsp + 0x3b0]
mov r8d, 0x400
mov rcx, r15
call fcn.1400931b0
mov ecx, 0x20
mov dl, 1
call fcn.14000d520
mov rdi, rax
mov rbp, rdx
mov edx, 0x20
mov r9d, 0x400
mov rcx, rax
mov r8, r15
call fcn.140017034
mov rcx, qword [0x140443578]
xor edx, edx
mov r8, r12
call sub.kernel32.dll_HeapFree
mov r14b, byte [rdi]
movzx eax, word [rdi + 5]
mov word [r15 + 4], ax
mov eax, dword [rdi + 1]
mov dword [r15], eax
mov rsi, qword [rdi + 7]
movdqu xmm6, xmmword [rdi + 0xf]
mov bl, byte [rdi + 0x1f]
test rbp, rbp
je 0x14001d48a
mov rcx, qword [0x140443578]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
movzx eax, word [rsp + 0x3b4]
mov word [rsp + 0x145], ax
mov eax, dword [rsp + 0x3b0]
mov dword [rsp + 0x141], eax
mov byte [rsp + 0x140], r14b
mov qword [rsp + 0x147], rsi
movdqu xmmword [rsp + 0x14f], xmm6
mov byte [rsp + 0x15f], bl
mov al, byte [0x140443038]
cmp al, 0xff
je 0x14001db77
cmp al, 1
jne 0x14001dbb3
movdqa xmm10, xmmword [rsp + 0x140]
movdqa xmm14, xmmword [rsp + 0x150]
lea rdx, [rsp + 0x2a0]
movdqa xmmword [rdx], xmm14
lea rsi, [rsp + 0x3b0]
mov rcx, rsi
call fcn.14001cd27
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x2b0]
movdqa xmmword [rdx], xmm14
lea rsi, [rsp + 0x3b0]
mov rcx, rsi
call fcn.14001cd31
pshufd xmm0, xmmword [rsi], 0xff
movdqa xmmword [rsp + 0x40], xmm10
movdqa xmm1, xmm10
pslldq xmm1, 4
pxor xmm1, xmm10
movdqa xmm2, xmm10
pslldq xmm2, 8
pslldq xmm10, 0xc
pxor xmm10, xmm2
pxor xmm10, xmm1
pxor xmm10, xmm0
lea rdx, [rsp + 0x2c0]
movdqa xmmword [rdx], xmm10
lea rsi, [rsp + 0x3b0]
mov rcx, rsi
call fcn.14001cd27
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x60], xmm0
lea rdx, [rsp + 0x2d0]
movdqa xmmword [rdx], xmm10
lea rsi, [rsp + 0x3b0]
mov rcx, rsi
call fcn.14001cd3c
pshufd xmm0, xmmword [rsi], 0xaa
movdqa xmm1, xmm14
pslldq xmm1, 4
pxor xmm1, xmm14
movdqa xmm2, xmm14
pslldq xmm2, 8
movdqa xmmword [rsp + 0x80], xmm14
pslldq xmm14, 0xc
pxor xmm14, xmm2
pxor xmm14, xmm1
pxor xmm14, xmm0
lea rdx, [rsp + 0x2e0]
movdqa xmmword [rdx], xmm14
lea rsi, [rsp + 0x3b0]
mov rcx, rsi
call fcn.14001cd27
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x130], xmm0
lea rdx, [rsp + 0x2f0]
movdqa xmmword [rdx], xmm14
lea rsi, [rsp + 0x3b0]
mov rcx, rsi
call fcn.14001cd47
pshufd xmm0, xmmword [rsi], 0xff
movdqa xmm1, xmm10
pslldq xmm1, 4
pxor xmm1, xmm10
movdqa xmm2, xmm10
pslldq xmm2, 8
movdqa xmmword [rsp + 0x70], xmm10
pslldq xmm10, 0xc
pxor xmm10, xmm2
pxor xmm10, xmm1
pxor xmm10, xmm0
lea rdx, [rsp + 0x300]
movdqa xmmword [rdx], xmm10
lea rsi, [rsp + 0x3b0]
mov rcx, rsi
call fcn.14001cd27
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x110], xmm0
lea rdx, [rsp + 0x310]
movdqa xmmword [rdx], xmm10
lea rsi, [rsp + 0x3b0]
mov rcx, rsi
call fcn.14001cd3c
pshufd xmm0, xmmword [rsi], 0xaa
movdqa xmm1, xmm14
pslldq xmm1, 4
pxor xmm1, xmm14
movdqa xmm2, xmm14
pslldq xmm2, 8
movdqa xmmword [rsp + 0x50], xmm14
pslldq xmm14, 0xc
pxor xmm14, xmm2
pxor xmm14, xmm1
pxor xmm14, xmm0
lea rdx, [rsp + 0x320]
movdqa xmmword [rdx], xmm14
lea rsi, [rsp + 0x3b0]
mov rcx, rsi
call fcn.14001cd27
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x100], xmm0
lea rdx, [rsp + 0x330]
movdqa xmmword [rdx], xmm14
lea rsi, [rsp + 0x3b0]
mov rcx, rsi
call fcn.14001cd52
pshufd xmm0, xmmword [rsi], 0xff
movdqa xmm1, xmm10
pslldq xmm1, 4
pxor xmm1, xmm10
movdqa xmm2, xmm10
pslldq xmm2, 8
movdqa xmmword [rsp + 0x120], xmm10
pslldq xmm10, 0xc
pxor xmm10, xmm2
pxor xmm10, xmm1
pxor xmm10, xmm0
lea rdx, [rsp + 0x340]
movdqa xmmword [rdx], xmm10
lea rsi, [rsp + 0x3b0]
mov rcx, rsi
call fcn.14001cd27
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0xf0], xmm0
lea rdx, [rsp + 0x350]
movdqa xmmword [rdx], xmm10
lea rsi, [rsp + 0x3b0]
mov rcx, rsi
call fcn.14001cd3c
pshufd xmm0, xmmword [rsi], 0xaa
movdqa xmm1, xmm14
pslldq xmm1, 4
pxor xmm1, xmm14
movdqa xmm2, xmm14
pslldq xmm2, 8
movdqa xmm11, xmm14
pslldq xmm11, 0xc
pxor xmm11, xmm2
pxor xmm11, xmm1
pxor xmm11, xmm0
lea rdx, [rsp + 0x360]
movdqa xmmword [rdx], xmm11
lea rsi, [rsp + 0x3b0]
mov rcx, rsi
call fcn.14001cd27
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0xe0], xmm0
lea rdx, [rsp + 0x370]
movdqa xmmword [rdx], xmm11
lea rsi, [rsp + 0x3b0]
mov rcx, rsi
call fcn.14001cd5d
pshufd xmm0, xmmword [rsi], 0xff
movdqa xmm1, xmm10
pslldq xmm1, 4
pxor xmm1, xmm10
movdqa xmm2, xmm10
pslldq xmm2, 8
movdqa xmm9, xmm10
pslldq xmm9, 0xc
pxor xmm9, xmm2
pxor xmm9, xmm1
pxor xmm9, xmm0
lea rdx, [rsp + 0x380]
movdqa xmmword [rdx], xmm9
lea rsi, [rsp + 0x3b0]
mov rcx, rsi
call fcn.14001cd27
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0xd0], xmm0
lea rdx, [rsp + 0x390]
movdqa xmmword [rdx], xmm9
lea rsi, [rsp + 0x3b0]
mov rcx, rsi
call fcn.14001cd3c
pshufd xmm0, xmmword [rsi], 0xaa
movdqa xmm1, xmm11
pslldq xmm1, 4
pxor xmm1, xmm11
movdqa xmm2, xmm11
pslldq xmm2, 8
movdqa xmm15, xmm11
pslldq xmm15, 0xc
pxor xmm15, xmm2
pxor xmm15, xmm1
pxor xmm15, xmm0
lea rdx, [rsp + 0x3a0]
movdqa xmmword [rdx], xmm15
lea rsi, [rsp + 0x3b0]
mov rcx, rsi
call fcn.14001cd27
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0xc0], xmm0
lea rdx, [rsp + 0x1b0]
movdqa xmmword [rdx], xmm15
lea rsi, [rsp + 0x3b0]
mov rcx, rsi
call fcn.14001cd68
pshufd xmm0, xmmword [rsi], 0xff
movdqa xmm1, xmm9
pslldq xmm1, 4
pxor xmm1, xmm9
movdqa xmm2, xmm9
pslldq xmm2, 8
movdqa xmm13, xmm9
pslldq xmm13, 0xc
pxor xmm13, xmm2
pxor xmm13, xmm1
pxor xmm13, xmm0
lea rdx, [rsp + 0x1c0]
movdqa xmmword [rdx], xmm13
lea rsi, [rsp + 0x3b0]
mov rcx, rsi
call fcn.14001cd27
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0xb0], xmm0
lea rdx, [rsp + 0x1d0]
movdqa xmmword [rdx], xmm13
lea rsi, [rsp + 0x3b0]
mov rcx, rsi
call fcn.14001cd3c
pshufd xmm0, xmmword [rsi], 0xaa
movdqa xmm1, xmm15
pslldq xmm1, 4
pxor xmm1, xmm15
movdqa xmm2, xmm15
pslldq xmm2, 8
movdqa xmm7, xmm15
pslldq xmm7, 0xc
pxor xmm7, xmm2
pxor xmm7, xmm1
pxor xmm7, xmm0
lea rdx, [rsp + 0x1e0]
movdqa xmmword [rdx], xmm7
lea rsi, [rsp + 0x3b0]
mov rcx, rsi
call fcn.14001cd27
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x1a0], xmm0
lea rdx, [rsp + 0x1f0]
movdqa xmmword [rdx], xmm7
lea rsi, [rsp + 0x3b0]
mov rcx, rsi
call fcn.14001cd73
pshufd xmm0, xmmword [rsi], 0xff
movdqa xmm1, xmm13
pslldq xmm1, 4
pxor xmm1, xmm13
movdqa xmm2, xmm13
pslldq xmm2, 8
movdqa xmm6, xmm13
pslldq xmm6, 0xc
pxor xmm6, xmm2
pxor xmm6, xmm1
pxor xmm6, xmm0
lea rdx, [rsp + 0x200]
movdqa xmmword [rdx], xmm6
lea rsi, [rsp + 0x3b0]
mov rcx, rsi
call fcn.14001cd27
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x190], xmm0
lea rdx, [rsp + 0x210]
movdqa xmmword [rdx], xmm6
lea rsi, [rsp + 0x3b0]
mov rcx, rsi
call fcn.14001cd3c
pshufd xmm0, xmmword [rsi], 0xaa
movdqa xmm1, xmm7
pslldq xmm1, 4
pxor xmm1, xmm7
movdqa xmm2, xmm7
pslldq xmm2, 8
movdqa xmm8, xmm7
pslldq xmm8, 0xc
pxor xmm8, xmm2
pxor xmm8, xmm1
pxor xmm8, xmm0
lea rdx, [rsp + 0x220]
movdqa xmmword [rdx], xmm8
lea rsi, [rsp + 0x3b0]
mov rcx, rsi
call fcn.14001cd27
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x180], xmm0
movdqa xmmword [rsi], xmm8
lea rsi, [rsp + 0xbb0]
lea rdx, [rsp + 0x3b0]
mov rcx, rsi
call fcn.14001cd7e
pshufd xmm0, xmmword [rsi], 0xff
movdqa xmm1, xmm6
pslldq xmm1, 4
pxor xmm1, xmm6
movdqa xmm2, xmm6
pslldq xmm2, 8
movdqa xmm12, xmm6
pslldq xmm12, 0xc
pxor xmm12, xmm2
pxor xmm12, xmm1
pxor xmm12, xmm0
movaps xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x170], xmm0
movdqa xmmword [rsp + 0x160], xmm12
mov r14, qword [rsp + 0x90]
mov r15, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x98]
jmp 0x14001e0ae
mov eax, 1
xor ecx, ecx
mov rbp, rbx
cpuid
xchg rbx, rbp
mov ebp, ecx
mov eax, 7
xor ecx, ecx
mov rbx, rbx
cpuid
xchg rbx, rbx
and ebp, 0x2000000
mov rax, rbp
shr rax, 0x19
mov byte [0x140443038], al
test rbp, rbp
jne 0x14001d4de
xor ebx, ebx
mov r8d, 0x3c0
mov rcx, r15
xor edx, edx
call fcn.140092ff0
lea rdx, [rsp + 0x140]
mov qword [rsp + 0x20], rdx
mov rcx, r15
mov r8, rdx
mov r9, rdx
call fcn.14000bd3b
lea r14, [rsp + 0x3f0]
lea rdx, [rsp + 0x150]
mov qword [rsp + 0x20], rdx
mov rcx, r14
mov r8, rdx
mov r9, rdx
call fcn.14000bd3b
mov r12d, 8
pcmpeqd xmm6, xmm6
mov rbp, r15
xor edi, edi
mov eax, 0xf
mov rcx, qword [rbp + rax*8]
mov qword [rbp + rax*8 + 0x40], rcx
dec rax
cmp rax, 7
jne 0x14001dc17
lea r13, [r12 + 8]
lea rsi, [rsp + r12*8]
add rsi, 0x3f0
mov rcx, rsi
call fcn.14000bf20
movdqa xmm0, xmmword [rsi]
pxor xmm0, xmm6
movdqa xmmword [rsi], xmm0
movdqu xmm0, xmmword [rsi + 0x28]
pxor xmm0, xmm6
movdqu xmmword [rsi + 0x28], xmm0
xor byte [rsi + rdi*8 + 3], 0xf0
mov rcx, r15
mov rdx, r13
mov r8d, 0x1c
call fcn.14000c1af
inc rdi
cmp rdi, 7
je 0x14001dcf0
add r12, 0x10
mov eax, 0x17
lea rcx, [rbx + rax]
cmp rcx, 0x6f
ja 0x14001e64f
mov rcx, qword [rbp + rax*8]
mov qword [rbp + rax*8 + 0x40], rcx
dec rax
cmp rax, 0xf
jne 0x14001dc84
lea rsi, [rsp + r12*8]
add rsi, 0x3b0
mov rcx, rsi
call fcn.14000bf20
movdqa xmm0, xmmword [rsi]
pxor xmm0, xmm6
movdqa xmmword [rsi], xmm0
movdqu xmm0, xmmword [rsi + 0x28]
pxor xmm0, xmm6
movdqu xmmword [rsi + 0x28], xmm0
mov rcx, r15
mov rdx, r12
mov r8d, 0xc
call fcn.14000c1af
sub rbp, 0xffffffffffffff80
add rbx, 0x10
jmp 0x14001dc12
mov edx, 8
lea rax, [rsp + 0x430]
xor ebp, ebp
movdqa xmm0, xmmword [0x140098890]
movdqa xmm1, xmmword [0x1400988a0]
movdqa xmm2, xmmword [0x140098780]
movdqa xmm3, xmmword [0x1400988b0]
mov r15, qword [rsp + 0xa8]
test bpl, 1
je 0x14001dd37
add rdx, 0x1f
jb 0x14001de83
cmp rdx, 0x68
jae 0x14001de83
lea rcx, [rdx + 1]
lea rbp, [rsp + rdx*8]
add rbp, 0x3b0
xor ebx, ebx
movdqu xmm4, xmmword [rbp + rbx*8]
movdqa xmm5, xmm4
psrlq xmm5, 8
pxor xmm5, xmm4
pand xmm5, xmm0
movdqa xmm6, xmm5
psllq xmm6, 8
pxor xmm5, xmm4
pxor xmm5, xmm6
movdqa xmm4, xmm5
psrlq xmm4, 4
pxor xmm4, xmm5
pand xmm4, xmm1
movdqa xmm6, xmm4
psllq xmm6, 4
pxor xmm4, xmm5
pxor xmm4, xmm6
movdqu xmmword [rbp + rbx*8], xmm4
add rbx, 2
cmp rbx, 8
jne 0x14001dd52
lea rbx, [rdx + 8]
lea rbp, [rdx + 0x10]
cmp rbp, rbx
jb 0x14001e64f
cmp rbp, 0x78
ja 0x14001e64f
lea rbx, [r14 + rdx*8]
xor edi, edi
movdqu xmm4, xmmword [rbx + rdi*8]
movdqa xmm5, xmm4
psrlq xmm5, 8
pxor xmm5, xmm4
pand xmm5, xmm2
movdqa xmm6, xmm5
psllq xmm6, 8
pxor xmm5, xmm4
pxor xmm5, xmm6
movdqu xmmword [rbx + rdi*8], xmm5
add rdi, 2
cmp rdi, 8
jne 0x14001ddcd
lea rbx, [rdx + 0x18]
cmp rbx, rbp
jb 0x14001e64f
cmp rbx, 0x78
ja 0x14001e64f
lea rdx, [rax + rdx*8]
xor ebp, ebp
movdqu xmm4, xmmword [rdx + rbp*8]
movdqa xmm5, xmm4
psrlq xmm5, 8
pxor xmm5, xmm4
pand xmm5, xmm3
movdqa xmm6, xmm5
psllq xmm6, 8
pxor xmm5, xmm4
pxor xmm5, xmm6
movdqa xmm4, xmm5
psrlq xmm4, 4
pxor xmm4, xmm5
pand xmm4, xmm1
movdqa xmm6, xmm4
psllq xmm6, 4
pxor xmm4, xmm5
pxor xmm4, xmm6
movdqu xmmword [rdx + rbp*8], xmm4
add rbp, 2
cmp rbp, 8
jne 0x14001de20
mov bpl, 1
mov rdx, rcx
jmp 0x14001dd27
xor eax, eax
movdqa xmm2, xmmword [rsp + rax*8 + 0x6f0]
movdqa xmm3, xmm2
psrlq xmm3, 8
pxor xmm3, xmm2
pand xmm3, xmm0
movdqa xmm4, xmm3
psllq xmm4, 8
pxor xmm3, xmm2
pxor xmm3, xmm4
movdqa xmm2, xmm3
psrlq xmm2, 4
pxor xmm2, xmm3
pand xmm2, xmm1
movdqa xmm4, xmm2
psllq xmm4, 4
pxor xmm2, xmm3
pxor xmm2, xmm4
movdqa xmmword [rsp + rax*8 + 0x6f0], xmm2
add rax, 2
cmp rax, 8
jne 0x14001de85
mov eax, 0x68
pcmpeqd xmm0, xmm0
mov r14, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x98]
movdqa xmm1, xmmword [rsp + rax + 0x388]
pxor xmm1, xmm0
movdqa xmmword [rsp + rax + 0x388], xmm1
movdqu xmm1, xmmword [rsp + rax + 0x3b0]
pxor xmm1, xmm0
movdqu xmmword [rsp + rax + 0x3b0], xmm1
add rax, 0x40
cmp rax, 0x3e8
jne 0x14001defe
lea rdx, [rsp + 0x590]
movaps xmm0, xmmword [rdx - 0x1e0]
movaps xmmword [rsp + 0x40], xmm0
movaps xmm0, xmmword [rdx - 0x1d0]
movaps xmmword [rsp + 0x80], xmm0
movaps xmm0, xmmword [rdx - 0x1c0]
movaps xmmword [rsp + 0x70], xmm0
movaps xmm0, xmmword [rdx - 0x1b0]
movaps xmmword [rsp + 0x50], xmm0
movaps xmm0, xmmword [rdx - 0x1a0]
movaps xmmword [rsp + 0x120], xmm0
movdqa xmm14, xmmword [rdx - 0x190]
movdqa xmm10, xmmword [rdx - 0x180]
movdqa xmm11, xmmword [rdx - 0x170]
movdqa xmm9, xmmword [rdx - 0x160]
movdqa xmm15, xmmword [rdx - 0x150]
movdqa xmm13, xmmword [rdx - 0x140]
movdqa xmm7, xmmword [rdx - 0x130]
movdqa xmm6, xmmword [rdx - 0x120]
movdqa xmm8, xmmword [rdx - 0x110]
movdqa xmm12, xmmword [rdx - 0x100]
movaps xmm0, xmmword [rdx - 0xf0]
movaps xmmword [rsp + 0x170], xmm0
movaps xmm0, xmmword [rdx - 0xe0]
movaps xmmword [rsp + 0x30], xmm0
movaps xmm0, xmmword [rdx - 0xd0]
movaps xmmword [rsp + 0x60], xmm0
movaps xmm0, xmmword [rdx - 0xc0]
movaps xmmword [rsp + 0x130], xmm0
movaps xmm0, xmmword [rdx - 0xb0]
movaps xmmword [rsp + 0x110], xmm0
movaps xmm0, xmmword [rdx - 0xa0]
movaps xmmword [rsp + 0x100], xmm0
movaps xmm0, xmmword [rdx - 0x90]
movaps xmmword [rsp + 0xf0], xmm0
movaps xmm0, xmmword [rdx - 0x80]
movaps xmmword [rsp + 0xe0], xmm0
movaps xmm0, xmmword [rdx - 0x70]
movaps xmmword [rsp + 0xd0], xmm0
movaps xmm0, xmmword [rdx - 0x60]
movaps xmmword [rsp + 0xc0], xmm0
movaps xmm0, xmmword [rdx - 0x50]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmm0, xmmword [rdx - 0x40]
movaps xmmword [rsp + 0x1a0], xmm0
movaps xmm0, xmmword [rdx - 0x30]
movaps xmmword [rsp + 0x190], xmm0
movaps xmm0, xmmword [rdx - 0x20]
movaps xmmword [rsp + 0x180], xmm0
movaps xmm0, xmmword [rdx - 0x10]
movaps xmmword [rsp + 0x160], xmm0
lea rcx, [rsp + 0x7b0]
mov r8d, 0x1e0
call fcn.1400931b0
add rbx, 0x30
lea rsi, [rsp + 0x3b0]
lea rdx, [rsp + 0x7b0]
mov r8d, 0x1e0
mov rcx, rsi
call fcn.1400931b0
lea rdi, [rsp + 0xfb0]
mov r8d, 0x1e0
mov rcx, rdi
mov rdx, rsi
call fcn.1400931b0
mov rcx, rbx
mov rdx, r15
call fcn.14001cd89
mov rbx, rax
mov rbp, rdx
movaps xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsi], xmm0
movaps xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsi + 0x10], xmm0
movaps xmm0, xmmword [rsp + 0x70]
movaps xmmword [rsi + 0x20], xmm0
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsi + 0x30], xmm0
movaps xmm0, xmmword [rsp + 0x120]
movaps xmmword [rsi + 0x40], xmm0
movdqa xmmword [rsi + 0x50], xmm14
movdqa xmmword [rsi + 0x60], xmm10
movdqa xmmword [rsi + 0x70], xmm11
movdqa xmmword [rsi + 0x80], xmm9
movdqa xmmword [rsi + 0x90], xmm15
movdqa xmmword [rsi + 0xa0], xmm13
movdqa xmmword [rsi + 0xb0], xmm7
movdqa xmmword [rsi + 0xc0], xmm6
movdqa xmmword [rsi + 0xd0], xmm8
movdqa xmmword [rsi + 0xe0], xmm12
movaps xmm0, xmmword [rsp + 0x170]
movaps xmmword [rsi + 0xf0], xmm0
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsi + 0x100], xmm0
movaps xmm0, xmmword [rsp + 0x60]
movaps xmmword [rsi + 0x110], xmm0
movaps xmm0, xmmword [rsp + 0x130]
movaps xmmword [rsi + 0x120], xmm0
movaps xmm0, xmmword [rsp + 0x110]
movaps xmmword [rsi + 0x130], xmm0
movaps xmm0, xmmword [rsp + 0x100]
movaps xmmword [rsi + 0x140], xmm0
movaps xmm0, xmmword [rsp + 0xf0]
movaps xmmword [rsi + 0x150], xmm0
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmmword [rsi + 0x160], xmm0
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmmword [rsi + 0x170], xmm0
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsi + 0x180], xmm0
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmmword [rsi + 0x190], xmm0
movaps xmm0, xmmword [rsp + 0x1a0]
movaps xmmword [rsi + 0x1a0], xmm0
movaps xmm0, xmmword [rsp + 0x190]
movaps xmmword [rsi + 0x1b0], xmm0
movaps xmm0, xmmword [rsp + 0x180]
movaps xmmword [rsi + 0x1c0], xmm0
movdqa xmm0, xmmword [rsp + 0x160]
movdqa xmmword [rsi + 0x1d0], xmm0
lea rsi, [rsp + 0x590]
mov r8d, 0x1e0
mov rcx, rsi
mov rdx, rdi
call fcn.1400931b0
mov qword [rsi + 0x1e8], rbp
mov qword [rsi + 0x1e0], rbx
test r14b, 0xf
jne 0x14001e63b
xor esi, esi
mov rdi, qword [rsp + 0x28]
mov rcx, rdi
xor edx, edx
call fcn.14000d520
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x70], rax
mov rcx, rax
mov rdx, r15
mov r8, rdi
call fcn.1400931b0
mov r12, rdi
shr r12, 4
shr rdi, 7
mov qword [rsp + 0x30], rdi
mov eax, r12d
and eax, 7
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x7b8]
pxor xmm0, xmm0
movdqu xmmword [rax], xmm0
movdqu xmm1, xmmword [rsp + 0x7b8]
movdqu xmmword [rsp + rsi + 0xbb8], xmm1
add rsi, 0x10
cmp rsi, 0x80
jne 0x14001e2d9
lea rdx, [rsp + 0xbb0]
mov qword [rdx], 8
lea rcx, [rsp + 0x7b0]
mov r8d, 0x88
call fcn.1400931b0
lea rsi, [rsp + 0x7b8]
lea rbx, [rsp + 0x220]
mov ecx, 0x10
mov rdi, rbx
rep movsq qword [rdi], qword [rsi]
lea rdx, [rsp + 0x780]
lea rcx, [rsp + 0x770]
call fcn.14001cd89
mov qword [rbx + 8], rdx
mov qword [rbx], rax
shl qword [rsp + 0x30], 7
je 0x14001e460
mov r14, qword [rsp + 0x70]
add qword [rsp + 0x30], r14
lea rsi, [rsp + 0x3b0]
mov r8d, 0x70
lea rcx, [rsp + 0x230]
mov rdx, r14
call fcn.1400931b0
lea rcx, [r14 + 0x70]
lea r13, [r14 + 0x80]
mov rdx, r13
call fcn.14001cd89
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x80], rdx
mov al, byte [0x140443038]
cmp al, 1
jne 0x14001e3c5
mov rcx, r14
lea rdx, [rsp + 0x4a0]
call fcn.14001e692
jmp 0x14001e3f8
mov edi, 8
mov rdx, r14
cmp rdi, 4
mov r15d, 4
cmovb r15, rdi
mov rbp, r15
shl rbp, 4
add rbp, rdx
mov rcx, rsi
mov r8, r15
call fcn.14000c59e
mov rdx, rbp
sub rdi, r15
jne 0x14001e3cd
lea rax, [rsp + 0x220]
xor ecx, ecx
inc rcx
mov rdx, 0xfffffffffffffff0
neg rdx
je 0x14001e427
xor edx, edx
mov bl, byte [rax + rdx]
xor byte [r14 + rdx], bl
lea rbp, [rdx + 1]
mov rdx, rbp
cmp rbp, 0x10
jne 0x14001e413
add rax, 0x10
add r14, 0x10
cmp rcx, 8
jne 0x14001e402
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x220], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x228], rax
mov r14, r13
cmp r13, qword [rsp + 0x30]
jne 0x14001e373
lea rdx, [rsp + 0x230]
lea rcx, [rsp + 0x220]
call fcn.14001cd89
mov qword [rsp + 0x778], rdx
mov qword [rsp + 0x770], rax
lea rcx, [rsp + 0x770]
lea rdx, [rsp + 0x780]
call fcn.14001cd89
mov qword [rsp + 0xbb8], rdx
mov qword [rsp + 0xbb0], rax
cmp qword [rsp + 0x60], 0
mov r13, qword [rsp + 0x70]
je 0x14001e5b3
and r12, 0xfffffffffffffff8
shl r12, 4
add r12, r13
mov rbx, qword [rsp + 0x60]
shl rbx, 4
add rbx, r12
pxor xmm6, xmm6
lea r14, [rsp + 0x3b0]
lea r15, [rsp + 0x7b0]
lea rbp, [r12 + 0x10]
mov rcx, r12
mov rdx, rbp
call fcn.14001cd89
mov rsi, rax
mov rdi, rdx
mov al, byte [0x140443038]
cmp al, 1
jne 0x14001e518
mov rcx, r12
lea rdx, [rsp + 0x4a0]
call fcn.14001e98d
jmp 0x14001e57d
lea rax, [rsp + 0x7b8]
movdqu xmmword [rax], xmm6
mov rax, qword [rsp + 0x7b8]
mov rcx, qword [rsp + 0x7c0]
xor edx, edx
mov qword [rsp + rdx + 0x7b0], rax
mov qword [rsp + rdx + 0x7b8], rcx
add rdx, 0x10
cmp rdx, 0x40
jne 0x14001e536
movups xmm0, xmmword [r12]
movaps xmmword [rsp + 0x7b0], xmm0
mov r8d, 4
mov rcx, r14
mov rdx, r15
call fcn.14000c59e
movdqa xmm0, xmmword [rsp + 0x7b0]
movdqu xmmword [r12], xmm0
xor eax, eax
mov cl, byte [rsp + rax + 0xbb0]
xor byte [r12 + rax], cl
lea rcx, [rax + 1]
mov rax, rcx
cmp rcx, 0x10
jne 0x14001e57f
mov qword [rsp + 0xbb0], rsi
mov qword [rsp + 0xbb8], rdi
mov r12, rbp
cmp rbp, rbx
jne 0x14001e4e6
mov rax, qword [rsp + 0xbb0]
lea rcx, [rsp + 0x770]
mov qword [rcx], rax
mov rax, qword [rsp + 0xbb8]
mov qword [rcx + 8], rax
cmp qword [rsp + 0x28], 0
mov rcx, qword [rsp + 0x90]
je 0x14001e622
movzx ebp, byte [r13 + rcx - 0x41]
test rbp, rbp
je 0x14001e622
mov rax, qword [rsp + 0x28]
sub rax, rbp
jb 0x14001e622
add rcx, 0xffffffffffffffbf
cmp rcx, rax
jb 0x14001e64f
mov rcx, qword [rsp + 0x28]
lea rdx, [rcx + r13]
mov rcx, rbp
neg rcx
cmp rcx, 0xffffffffffffffff
je 0x14001e653
lea rbx, [rcx + 1]
cmp byte [rdx + rcx], bpl
mov rcx, rbx
je 0x14001e60f
cmp qword [rsp + 0x50], 0
je 0x14001e63b
mov rcx, qword [0x140443578]
xor edx, edx
mov r8, r13
call sub.kernel32.dll_HeapFree
mov rcx, qword [rsp + 0xa0]
mov qword [rcx], 0
jmp 0x14001ce72
ud2
mov rcx, qword [rsp + 0x28]
cmp rcx, rbp
cmovb rax, rcx
test r13, r13
mov rcx, qword [rsp + 0xa0]
je 0x14001e643
mov rdx, qword [rsp + 0x50]
mov qword [rcx + 8], rdx
mov qword [rcx + 0x10], rax
mov qword [rcx], r13
jmp 0x14001ce72
mov ecx, 0x400000
mov edx, 8
call fcn.1400949bf
ud2