Function at 0x14000cc40
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x1478
call fcn.140018990
sub rsp, rax
movdqa xmmword [rsp + 0x1460], xmm15
movdqa xmmword [rsp + 0x1450], xmm14
movdqa xmmword [rsp + 0x1440], xmm13
movdqa xmmword [rsp + 0x1430], xmm12
movdqa xmmword [rsp + 0x1420], xmm11
movdqa xmmword [rsp + 0x1410], xmm10
movdqa xmmword [rsp + 0x1400], xmm9
movdqa xmmword [rsp + 0x13f0], xmm8
movdqa xmmword [rsp + 0x13e0], xmm7
movdqa xmmword [rsp + 0x13d0], xmm6
mov rsi, rcx
mov rdi, qword [rsp + 0x14e0]
cmp rdi, 0x41
jb 0x14000ccd8
mov r15, r8
mov rax, r8
shr rax, 0x20
je 0x14000cd4b
mov qword [rsi], 0
movaps xmm6, xmmword [rsp + 0x13d0]
movaps xmm7, xmmword [rsp + 0x13e0]
movaps xmm8, xmmword [rsp + 0x13f0]
movaps xmm9, xmmword [rsp + 0x1400]
movaps xmm10, xmmword [rsp + 0x1410]
movaps xmm11, xmmword [rsp + 0x1420]
movaps xmm12, xmmword [rsp + 0x1430]
movaps xmm13, xmmword [rsp + 0x1440]
movaps xmm14, xmmword [rsp + 0x1450]
movaps xmm15, xmmword [rsp + 0x1460]
add rsp, 0x1478
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r12, r9
mov r14, rdx
mov ecx, 0x400000
call fcn.1400057c0
test rax, rax
je 0x14000e444
mov r13, rax
mov qword [rsp + 0x98], rsi
lea rax, [r12 + 0x10]
mov qword [rsp + 0x40], rax
lea rax, [r12 + 0x40]
mov qword [rsp + 0xa8], rax
lea rax, [rdi - 0x40]
mov qword [rsp + 0x58], rax
xor ebx, ebx
lea rcx, [rbx + r13]
mov r8d, 0x400
xor edx, edx
call fcn.1400191d0
add rbx, 0x400
cmp rbx, 0x3ffc00
jne 0x14000cd91
add rbx, r13
xor esi, esi
mov r8d, 0x400
mov rcx, rbx
xor edx, edx
call fcn.1400191d0
mov edi, 1
lea rax, [rsp + 0x1f0]
mov dword [rax], edi
mov ecx, 0x20
lea rdx, [rsp + 0x200]
mov dword [rdx], ecx
lea rbx, [rsp + 0x7d0]
mov dword [rbx], ecx
lea r8, [rsp + 0x3d0]
mov qword [r8], rax
mov eax, 4
mov qword [r8 + 8], rax
mov qword [r8 + 0x10], rdx
lea rcx, [rsp + 0x210]
mov dword [rcx], 0x1000
mov qword [r8 + 0x18], rax
mov qword [r8 + 0x20], rcx
lea rcx, [rsp + 0x220]
mov dword [rcx], 3
mov qword [r8 + 0x28], rax
mov qword [r8 + 0x30], rcx
lea rcx, [rsp + 0x230]
mov dword [rcx], 0x13
mov qword [r8 + 0x38], rax
mov qword [r8 + 0x40], rcx
lea rcx, [rsp + 0x1e0]
mov dword [rcx], edi
mov qword [r8 + 0x48], rax
mov qword [r8 + 0x50], rcx
lea rcx, [rsp + 0x150]
mov dword [rcx], r15d
mov qword [r8 + 0x58], rax
mov qword [r8 + 0x60], rcx
mov qword [r8 + 0x68], rax
mov qword [r8 + 0x70], r14
mov qword [r8 + 0x78], r15
lea rcx, [rsp + 0x240]
mov dword [rcx], 0x10
mov qword [r8 + 0x80], rcx
mov qword [r8 + 0x88], rax
mov qword [rsp + 0xa0], r12
mov qword [r8 + 0x90], r12
mov qword [r8 + 0x98], 0x10
mov qword [r8 + 0xa0], rbx
mov qword [r8 + 0xa8], rax
mov rcx, qword [rsp + 0x40]
mov qword [r8 + 0xb0], rcx
lea rcx, [rsp + 0xfd0]
mov dword [rcx], 0
mov qword [r8 + 0xb8], 0x20
mov qword [r8 + 0xc0], rcx
mov qword [r8 + 0xc8], rax
lea rax, str.failed_to_create_whole_tree
mov qword [r8 + 0xd0], rax
mov qword [r8 + 0xd8], rsi
lea rbx, [rsp + 0xbd0]
mov qword [rbx + 0x40], rsi
xorps xmm0, xmm0
movaps xmmword [rbx + 0x30], xmm0
movaps xmmword [rbx + 0x20], xmm0
movaps xmmword [rbx + 0x10], xmm0
movaps xmmword [rbx], xmm0
mov edx, 0x40
mov r9d, 0xe
mov rcx, rbx
call fcn.1400075b4
mov qword [rbx + 0x40], rsi
mov edx, 0x400
mov r9d, 0x48
mov rcx, r13
mov r8, rbx
call fcn.14000793e
mov dword [rbx + 0x40], edi
lea rcx, [r13 + 0x400]
mov edx, 0x400
mov r9d, 0x48
mov r8, rbx
call fcn.14000793e
xor eax, eax
mov qword [rsp + 0x80], r13
mov rcx, rax
inc rax
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xd0], rcx
test rcx, rcx
sete byte [rsp + 0xc0]
mov ebx, 0xffffffff
xor esi, esi
lea rax, [rsi + 1]
test rsi, rsi
sete byte [rsp + 0x40]
mov r12d, esi
shl r12d, 0xa
mov qword [rsp + 0xe0], rax
shl eax, 0xa
xor edi, edi
cmp rsi, 3
mov ecx, 0
cmovne rcx, rax
mov qword [rsp + 0x30], rcx
mov r8d, 0x400
lea rcx, [rsp + 0x7d0]
xor edx, edx
call fcn.1400191d0
mov r8d, 0x400
lea rcx, [rsp + 0xfd0]
xor edx, edx
call fcn.1400191d0
mov r8d, 0x400
lea rcx, [rsp + 0xbd0]
xor edx, edx
call fcn.1400191d0
mov rcx, qword [rsp + 0xd0]
mov rax, rcx
or rax, rsi
mov qword [rsp + 0xfd0], rcx
mov qword [rsp + 0xfd8], 0
mov qword [rsp + 0xfe0], rsi
mov qword [rsp + 0xfe8], 0x1000
mov qword [rsp + 0xff0], 3
mov qword [rsp + 0xff8], 1
mov cl, byte [rsp + 0xc0]
mov ebp, 0
jne 0x14000d096
lea rcx, [rsp + 0xbd0]
lea rdx, [rsp + 0xfd0]
lea r8, [rsp + 0x7d0]
call fcn.140007b10
mov ebp, 2
mov byte [rsp + 0x40], 1
mov cl, 1
or r12d, ebp
lea eax, [r12 - 1]
mov qword [rsp + 0x140], rax
xor eax, eax
test r12d, 0xc02
sete al
shl eax, 0xc
add eax, r12d
dec eax
mov byte [rsp + 0x70], cl
xor cl, 1
mov byte [rsp + 0x100], cl
mov qword [rsp + 0x60], r12
shl r12, 0xa
add r12, r13
lea ecx, [rbp - 1]
mov dword [rsp + 0x130], ecx
mov qword [rsp + 0xf0], rbx
lea ecx, [rbx + rbp]
mov dword [rsp + 0x120], ecx
mov qword [rsp + 0x110], rbp
mov rcx, qword [rsp + 0x60]
lea ebx, [rcx + rdi]
lea r15d, [rdi + rbp]
mov ecx, ebx
and ecx, 0xfff
mov rdx, qword [rsp + 0x140]
lea esi, [rdx + rdi]
cmp ecx, 1
cmovne esi, eax
and r15d, 0x7f
jne 0x14000d140
lea rcx, [rsp + 0xbd0]
lea rdx, [rsp + 0xfd0]
lea r8, [rsp + 0x7d0]
call fcn.140007b10
lea eax, [rdi + rbp]
add eax, 0xbff
cmp byte [rsp + 0x40], 0
mov ecx, dword [rsp + 0x120]
mov r14d, ecx
cmovne r14d, dword [rsp + 0x130]
add r14d, edi
cmp byte [rsp + 0x70], 0
cmove r14d, eax
mov r13, qword [rsp + 0x30]
mov eax, 0
cmovne r13d, eax
cmp ebx, 0x1000
jae 0x14000e405
mov eax, r15d
mov ebx, dword [rsp + rax*8 + 0xbd0]
mov r8d, 0x400
lea rbp, [rsp + 0x3d0]
mov rcx, rbp
mov rdx, r12
call fcn.140019390
cmp esi, 0x1000
jae 0x14000e405
imul rbx, rbx
shr rbx, 0x20
mov rax, r14
imul rax, rbx
shr rax, 0x20
not eax
add r13d, r14d
add r13d, eax
and r13d, 0xfff
mov ecx, esi
shl rcx, 0xa
mov rax, qword [rsp + 0x80]
add rcx, rax
shl r13, 0xa
add r13, rax
mov rdx, r13
mov r8, rbp
mov r9b, byte [rsp + 0x100]
call fcn.140007b65
mov r8d, 0x400
mov rcx, r12
mov rdx, rbp
call fcn.140019390
inc esi
add r12, 0x400
mov rbp, qword [rsp + 0x110]
lea ecx, [rdi + rbp]
inc ecx
mov eax, edi
inc eax
mov edi, eax
mov eax, esi
cmp ecx, 0x400
jne 0x14000d0f8
mov rbx, qword [rsp + 0xf0]
add ebx, 0x400
mov rsi, qword [rsp + 0xe0]
cmp rsi, 4
mov r13, qword [rsp + 0x80]
jne 0x14000cfa0
mov rax, qword [rsp + 0xb0]
cmp rax, 3
jne 0x14000cf78
mov rdx, r13
add rdx, 0x3ffc00
lea rdi, [rsp + 0x3d0]
mov r8d, 0x400
mov rcx, rdi
call fcn.140019390
mov ecx, 0x20
mov dl, 1
call fcn.140006edc
mov rbx, rax
mov rbp, rdx
mov edx, 0x20
mov r9d, 0x400
mov rcx, rax
mov r8, rdi
call fcn.14000793e
mov edx, 8
mov rcx, r13
call fcn.140005800
lea rcx, [rsp + 0xbd0]
mov qword [rcx], rbx
mov qword [rcx + 8], rbp
mov qword [rcx + 0x10], 0
mov sil, byte [rbx]
movups xmm0, xmmword [rbx + 0x10]
movups xmmword [rdi + 0xf], xmm0
movups xmm0, xmmword [rbx + 1]
movaps xmmword [rdi], xmm0
call fcn.1400070ac
movaps xmm0, xmmword [rdi]
movups xmmword [rsp + 0x171], xmm0
movups xmm0, xmmword [rdi + 0xf]
movups xmmword [rsp + 0x180], xmm0
mov byte [rsp + 0x170], sil
mov al, byte [0x140032010]
cmp al, 0xff
je 0x14000d9be
cmp al, 1
jne 0x14000d9fa
movdqa xmm10, xmmword [rsp + 0x170]
movdqa xmm8, xmmword [rsp + 0x180]
lea rdx, [rsp + 0x2c0]
movdqa xmmword [rdx], xmm8
lea rsi, [rsp + 0x3d0]
mov rcx, rsi
call fcn.14000cb65
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x2d0]
movdqa xmmword [rdx], xmm8
lea rsi, [rsp + 0x3d0]
mov rcx, rsi
call fcn.14000cb6f
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 + 0x2e0]
movdqa xmmword [rdx], xmm10
lea rsi, [rsp + 0x3d0]
mov rcx, rsi
call fcn.14000cb65
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x140], xmm0
lea rdx, [rsp + 0x2f0]
movdqa xmmword [rdx], xmm10
lea rsi, [rsp + 0x3d0]
mov rcx, rsi
call fcn.14000cb7a
pshufd xmm0, xmmword [rsi], 0xaa
movdqa xmm1, xmm8
pslldq xmm1, 4
pxor xmm1, xmm8
movdqa xmm2, xmm8
pslldq xmm2, 8
movdqa xmmword [rsp + 0x60], xmm8
pslldq xmm8, 0xc
pxor xmm8, xmm2
pxor xmm8, xmm1
pxor xmm8, xmm0
lea rdx, [rsp + 0x300]
movdqa xmmword [rdx], xmm8
lea rsi, [rsp + 0x3d0]
mov rcx, rsi
call fcn.14000cb65
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x120], xmm0
lea rdx, [rsp + 0x310]
movdqa xmmword [rdx], xmm8
lea rsi, [rsp + 0x3d0]
mov rcx, rsi
call fcn.14000cb85
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 + 0x320]
movdqa xmmword [rdx], xmm10
lea rsi, [rsp + 0x3d0]
mov rcx, rsi
call fcn.14000cb65
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x110], xmm0
lea rdx, [rsp + 0x330]
movdqa xmmword [rdx], xmm10
lea rsi, [rsp + 0x3d0]
mov rcx, rsi
call fcn.14000cb7a
pshufd xmm0, xmmword [rsi], 0xaa
movdqa xmm1, xmm8
pslldq xmm1, 4
pxor xmm1, xmm8
movdqa xmm2, xmm8
pslldq xmm2, 8
movdqa xmmword [rsp + 0x130], xmm8
pslldq xmm8, 0xc
pxor xmm8, xmm2
pxor xmm8, xmm1
pxor xmm8, xmm0
lea rdx, [rsp + 0x340]
movdqa xmmword [rdx], xmm8
lea rsi, [rsp + 0x3d0]
mov rcx, rsi
call fcn.14000cb65
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x100], xmm0
lea rdx, [rsp + 0x350]
movdqa xmmword [rdx], xmm8
lea rsi, [rsp + 0x3d0]
mov rcx, rsi
call fcn.14000cb90
pshufd xmm0, xmmword [rsi], 0xff
movdqa xmm1, xmm10
pslldq xmm1, 4
pxor xmm1, xmm10
movdqa xmm2, xmm10
pslldq xmm2, 8
movdqa xmmword [rsp + 0x80], xmm10
pslldq xmm10, 0xc
pxor xmm10, xmm2
pxor xmm10, xmm1
pxor xmm10, xmm0
lea rdx, [rsp + 0x360]
movdqa xmmword [rdx], xmm10
lea rsi, [rsp + 0x3d0]
mov rcx, rsi
call fcn.14000cb65
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0xf0], xmm0
lea rdx, [rsp + 0x370]
movdqa xmmword [rdx], xmm10
lea rsi, [rsp + 0x3d0]
mov rcx, rsi
call fcn.14000cb7a
pshufd xmm0, xmmword [rsi], 0xaa
movdqa xmm1, xmm8
pslldq xmm1, 4
pxor xmm1, xmm8
movdqa xmm2, xmm8
pslldq xmm2, 8
movdqa xmm14, xmm8
pslldq xmm14, 0xc
pxor xmm14, xmm2
pxor xmm14, xmm1
pxor xmm14, xmm0
lea rdx, [rsp + 0x380]
movdqa xmmword [rdx], xmm14
lea rsi, [rsp + 0x3d0]
mov rcx, rsi
call fcn.14000cb65
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0xe0], xmm0
lea rdx, [rsp + 0x390]
movdqa xmmword [rdx], xmm14
lea rsi, [rsp + 0x3d0]
mov rcx, rsi
call fcn.14000cb9b
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 + 0x3a0]
movdqa xmmword [rdx], xmm9
lea rsi, [rsp + 0x3d0]
mov rcx, rsi
call fcn.14000cb65
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0xd0], xmm0
lea rdx, [rsp + 0x3b0]
movdqa xmmword [rdx], xmm9
lea rsi, [rsp + 0x3d0]
mov rcx, rsi
call fcn.14000cb7a
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 + 0x3c0]
movdqa xmmword [rdx], xmm11
lea rsi, [rsp + 0x3d0]
mov rcx, rsi
call fcn.14000cb65
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0xc0], xmm0
lea rdx, [rsp + 0x1f0]
movdqa xmmword [rdx], xmm11
lea rsi, [rsp + 0x3d0]
mov rcx, rsi
call fcn.14000cba6
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 + 0x200]
movdqa xmmword [rdx], xmm13
lea rsi, [rsp + 0x3d0]
mov rcx, rsi
call fcn.14000cb65
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0xb0], xmm0
lea rdx, [rsp + 0x210]
movdqa xmmword [rdx], xmm13
lea rsi, [rsp + 0x3d0]
mov rcx, rsi
call fcn.14000cb7a
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 + 0x220]
movdqa xmmword [rdx], xmm15
lea rsi, [rsp + 0x3d0]
mov rcx, rsi
call fcn.14000cb65
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x1d0], xmm0
lea rdx, [rsp + 0x230]
movdqa xmmword [rdx], xmm15
lea rsi, [rsp + 0x3d0]
mov rcx, rsi
call fcn.14000cbb1
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 + 0x1e0]
movdqa xmmword [rdx], xmm6
lea rsi, [rsp + 0x3d0]
mov rcx, rsi
call fcn.14000cb65
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x1c0], xmm0
lea rdx, [rsp + 0x150]
movdqa xmmword [rdx], xmm6
lea rsi, [rsp + 0x3d0]
mov rcx, rsi
call fcn.14000cb7a
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 + 0x240]
movdqa xmmword [rdx], xmm7
lea rsi, [rsp + 0x3d0]
mov rcx, rsi
call fcn.14000cb65
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x1b0], xmm0
movdqa xmmword [rsi], xmm7
lea rsi, [rsp + 0x7d0]
lea rdx, [rsp + 0x3d0]
mov rcx, rsi
call fcn.14000cbbc
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 + 0x1a0], xmm0
movdqa xmmword [rsp + 0x190], xmm12
mov r14, qword [rsp + 0xa8]
jmp 0x14000de72
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 [0x140032010], al
test rbp, rbp
jne 0x14000d32f
xor esi, esi
lea r15, [rsp + 0x3d0]
mov r8d, 0x3c0
mov rcx, r15
xor edx, edx
call fcn.1400191d0
lea rdx, [rsp + 0x170]
mov qword [rsp + 0x20], rdx
mov rcx, r15
mov r8, rdx
mov r9, rdx
call fcn.14000584b
lea r14, [rsp + 0x410]
lea rdx, [rsp + 0x180]
mov qword [rsp + 0x20], rdx
mov rcx, r14
mov r8, rdx
mov r9, rdx
call fcn.14000584b
mov ebx, 8
mov edi, 0x80
mov rcx, r15
mov rdx, rbx
call fcn.140005a30
lea rbp, [rsp + rsi]
add rbp, 0x450
mov rcx, rbp
call fcn.140005a61
not qword [rbp]
not qword [rbp + 8]
not qword [rbp + 0x28]
not qword [rbp + 0x30]
xor byte [rsp + rdi + 0x3d3], 0xf0
add rbx, 8
mov rcx, r15
mov rdx, rbx
mov r8d, 0x1c
call fcn.140005cf0
cmp rsi, 0x300
je 0x14000db03
mov rcx, r15
mov rdx, rbx
call fcn.140005a30
lea rbp, [rsp + rsi]
add rbp, 0x490
mov rcx, rbp
call fcn.140005a61
not qword [rbp]
not qword [rbp + 8]
not qword [rbp + 0x28]
not qword [rbp + 0x30]
add rbx, 8
mov rcx, r15
mov rdx, rbx
mov r8d, 0xc
call fcn.140005cf0
sub rsi, 0xffffffffffffff80
add rdi, 0x88
jmp 0x14000da5c
movabs rax, 0xf0f00000f0f0000
movabs r10, 0xf00ff00f00000
mov r11d, 8
lea r8, [rsp + 0x450]
xor ecx, ecx
movabs r15, 0xff000000ff0000
movabs r12, 0xf000ff000f0000
test cl, 1
je 0x14000db4a
add r11, 0x1f
jb 0x14000dc6e
cmp r11, 0x68
jae 0x14000dc6e
lea r9, [r11 + 1]
lea rdx, [rsp + r11*8]
add rdx, 0x3d0
xor esi, esi
mov rdi, qword [rdx + rsi*8]
mov rcx, rdi
shr rcx, 8
xor rcx, rdi
and rcx, r10
mov rbp, rcx
shl rbp, 8
xor rcx, rdi
xor rcx, rbp
mov rdi, rcx
shr rdi, 4
xor rdi, rcx
and rdi, rax
mov rbp, rdi
shl rbp, 4
xor rdi, rcx
xor rdi, rbp
mov qword [rdx + rsi*8], rdi
lea rcx, [rsi + 1]
mov rsi, rcx
cmp rcx, 8
jne 0x14000db65
lea rcx, [r11 + 8]
lea rdx, [r11 + 0x10]
cmp rdx, rcx
jb 0x14000e405
cmp rdx, 0x78
ja 0x14000e405
lea rsi, [r14 + r11*8]
xor ecx, ecx
mov rbp, qword [rsi + rcx*8]
mov rdi, rbp
shr rdi, 8
xor rdi, rbp
and rdi, r15
mov rbx, rdi
shl rbx, 8
xor rdi, rbp
xor rdi, rbx
mov qword [rsi + rcx*8], rdi
lea rdi, [rcx + 1]
mov rcx, rdi
cmp rdi, 8
jne 0x14000dbcf
lea rcx, [r11 + 0x18]
cmp rcx, rdx
jb 0x14000e405
cmp rcx, 0x78
ja 0x14000e405
lea rdx, [r8 + r11*8]
xor edi, edi
mov rcx, qword [rdx + rdi*8]
mov rbp, rcx
shr rbp, 8
xor rbp, rcx
and rbp, r12
mov rbx, rbp
shl rbx, 8
xor rbp, rcx
xor rbp, rbx
mov rcx, rbp
shr rcx, 4
xor rcx, rbp
and rcx, rax
mov rbx, rcx
shl rbx, 4
xor rcx, rbp
xor rcx, rbx
mov qword [rdx + rdi*8], rcx
lea rcx, [rdi + 1]
mov rdi, rcx
cmp rcx, 8
jne 0x14000dc1b
mov cl, 1
mov r11, r9
jmp 0x14000db3b
xor edx, edx
mov rcx, qword [rsp + rdx + 0x710]
mov rbp, rcx
shr rbp, 8
xor rbp, rcx
and rbp, r10
mov rbx, rbp
shl rbx, 8
xor rbp, rcx
xor rbp, rbx
mov rcx, rbp
shr rcx, 4
xor rcx, rbp
and rcx, rax
mov rbx, rcx
shl rbx, 4
xor rcx, rbp
xor rcx, rbx
mov qword [rsp + rdx + 0x710], rcx
add rdx, 8
cmp rdx, 0x40
jne 0x14000dc70
mov eax, 0x70
mov r14, qword [rsp + 0xa8]
not qword [rsp + rax + 0x3a0]
not qword [rsp + rax + 0x3a8]
not qword [rsp + rax + 0x3c8]
not qword [rsp + rax + 0x3d0]
add rax, 0x40
cmp rax, 0x3f0
jne 0x14000dccb
lea rdx, [rsp + 0x5b0]
movaps xmm0, xmmword [rdx - 0x1e0]
movaps xmmword [rsp + 0x40], xmm0
movaps xmm0, xmmword [rdx - 0x1d0]
movaps xmmword [rsp + 0x60], xmm0
movaps xmm0, xmmword [rdx - 0x1c0]
movaps xmmword [rsp + 0x70], xmm0
movaps xmm0, xmmword [rdx - 0x1b0]
movaps xmmword [rsp + 0x130], xmm0
movaps xmm0, xmmword [rdx - 0x1a0]
movaps xmmword [rsp + 0x80], xmm0
movdqa xmm8, xmmword [rdx - 0x190]
movdqa xmm10, xmmword [rdx - 0x180]
movdqa xmm14, xmmword [rdx - 0x170]
movdqa xmm9, xmmword [rdx - 0x160]
movdqa xmm11, xmmword [rdx - 0x150]
movdqa xmm13, xmmword [rdx - 0x140]
movdqa xmm15, xmmword [rdx - 0x130]
movdqa xmm6, xmmword [rdx - 0x120]
movdqa xmm7, xmmword [rdx - 0x110]
movdqa xmm12, xmmword [rdx - 0x100]
movaps xmm0, xmmword [rdx - 0xf0]
movaps xmmword [rsp + 0x1a0], xmm0
movaps xmm0, xmmword [rdx - 0xe0]
movaps xmmword [rsp + 0x30], xmm0
movaps xmm0, xmmword [rdx - 0xd0]
movaps xmmword [rsp + 0x140], xmm0
movaps xmm0, xmmword [rdx - 0xc0]
movaps xmmword [rsp + 0x120], 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 + 0x1d0], xmm0
movaps xmm0, xmmword [rdx - 0x30]
movaps xmmword [rsp + 0x1c0], xmm0
movaps xmm0, xmmword [rdx - 0x20]
movaps xmmword [rsp + 0x1b0], xmm0
movaps xmm0, xmmword [rdx - 0x10]
movaps xmmword [rsp + 0x190], xmm0
lea rcx, [rsp + 0xbd0]
mov r8d, 0x1e0
call fcn.140019390
mov rbx, qword [rsp + 0xa0]
add rbx, 0x30
lea rsi, [rsp + 0x3d0]
lea rdx, [rsp + 0xbd0]
mov r8d, 0x1e0
mov rcx, rsi
call fcn.140019390
lea rdi, [rsp + 0xfd0]
mov r8d, 0x1e0
mov rcx, rdi
mov rdx, rsi
call fcn.140019390
mov rcx, rbx
mov rdx, r14
call fcn.14000cbe2
mov rbx, rax
mov rbp, rdx
movaps xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsi], xmm0
movaps xmm0, xmmword [rsp + 0x60]
movaps xmmword [rsi + 0x10], xmm0
movaps xmm0, xmmword [rsp + 0x70]
movaps xmmword [rsi + 0x20], xmm0
movaps xmm0, xmmword [rsp + 0x130]
movaps xmmword [rsi + 0x30], xmm0
movaps xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsi + 0x40], xmm0
movdqa xmmword [rsi + 0x50], xmm8
movdqa xmmword [rsi + 0x60], xmm10
movdqa xmmword [rsi + 0x70], xmm14
movdqa xmmword [rsi + 0x80], xmm9
movdqa xmmword [rsi + 0x90], xmm11
movdqa xmmword [rsi + 0xa0], xmm13
movdqa xmmword [rsi + 0xb0], xmm15
movdqa xmmword [rsi + 0xc0], xmm6
movdqa xmmword [rsi + 0xd0], xmm7
movdqa xmmword [rsi + 0xe0], xmm12
movaps xmm0, xmmword [rsp + 0x1a0]
movaps xmmword [rsi + 0xf0], xmm0
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsi + 0x100], xmm0
movaps xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsi + 0x110], xmm0
movaps xmm0, xmmword [rsp + 0x120]
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 + 0x1d0]
movaps xmmword [rsi + 0x1a0], xmm0
movaps xmm0, xmmword [rsp + 0x1c0]
movaps xmmword [rsi + 0x1b0], xmm0
movaps xmm0, xmmword [rsp + 0x1b0]
movaps xmmword [rsi + 0x1c0], xmm0
movaps xmm0, xmmword [rsp + 0x190]
movaps xmmword [rsi + 0x1d0], xmm0
lea rsi, [rsp + 0x5b0]
mov r8d, 0x1e0
mov rcx, rsi
mov rdx, rdi
call fcn.140019390
mov qword [rsi + 0x1e8], rbp
mov qword [rsi + 0x1e0], rbx
mov rax, qword [rsp + 0x14e0]
test al, 0xf
jne 0x14000e3f1
xor esi, esi
mov rdi, qword [rsp + 0x58]
mov rcx, rdi
xor edx, edx
call fcn.140006edc
lea rbx, [rsp + 0x158]
mov qword [rbx - 8], rax
mov qword [rbx], rdx
mov rcx, rax
mov rdx, r14
mov r8, rdi
call fcn.140019390
mov qword [rbx + 8], rdi
mov rax, qword [rbx - 8]
mov qword [rsp + 0x30], rax
mov rbp, rdi
shr rbp, 4
shr rdi, 7
mov qword [rsp + 0x60], rdi
mov eax, ebp
and eax, 7
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x7d0], 0
call fcn.14000cbc7
mov qword [rsp + rsi + 0x7e0], rdx
mov qword [rsp + rsi + 0x7d8], rax
inc qword [rsp + 0x7d0]
add rsi, 0x10
cmp rsi, 0x80
jne 0x14000e0bd
lea rcx, [rsp + 0xbd0]
lea rdx, [rsp + 0x7d0]
mov r8d, 0x88
call fcn.140019390
lea rsi, [rsp + 0xbd8]
lea rbx, [rsp + 0x240]
mov ecx, 0x10
mov rdi, rbx
rep movsq qword [rdi], qword [rsi]
lea rdx, [rsp + 0x7a0]
lea rcx, [rsp + 0x790]
call fcn.14000cbe2
mov qword [rbx + 8], rdx
mov qword [rbx], rax
shl qword [rsp + 0x60], 7
je 0x14000e236
mov rdi, qword [rsp + 0x30]
add qword [rsp + 0x60], rdi
lea rsi, [rsp + 0x3d0]
mov r8d, 0x70
lea rcx, [rsp + 0x250]
mov rdx, rdi
call fcn.140019390
lea rcx, [rdi + 0x70]
lea r14, [rdi + 0x80]
mov rdx, r14
call fcn.14000cbe2
mov qword [rsp + 0x40], rax
mov r13, rdx
mov al, byte [0x140032010]
cmp al, 1
jne 0x14000e1a4
mov rcx, rdi
lea rdx, [rsp + 0x4c0]
call fcn.14000e455
jmp 0x14000e1d7
mov ebx, 8
mov rdx, rdi
cmp rbx, 4
mov r15d, 4
cmovb r15, rbx
mov r12, r15
shl r12, 4
add r12, rdx
mov rcx, rsi
mov r8, r15
call fcn.14000611e
mov rdx, r12
sub rbx, r15
jne 0x14000e1ac
lea rax, [rsp + 0x240]
xor ecx, ecx
inc rcx
mov rdx, 0xfffffffffffffff0
neg rdx
je 0x14000e205
xor edx, edx
mov bl, byte [rax + rdx]
xor byte [rdi + rdx], bl
lea rbx, [rdx + 1]
mov rdx, rbx
cmp rbx, 0x10
jne 0x14000e1f2
add rax, 0x10
add rdi, 0x10
cmp rcx, 8
jne 0x14000e1e1
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x240], rax
mov qword [rsp + 0x248], r13
mov rdi, r14
cmp r14, qword [rsp + 0x60]
jne 0x14000e157
lea rdx, [rsp + 0x250]
lea rcx, [rsp + 0x240]
call fcn.14000cbe2
mov qword [rsp + 0x798], rdx
mov qword [rsp + 0x790], rax
lea rcx, [rsp + 0x790]
lea rdx, [rsp + 0x7a0]
call fcn.14000cbe2
mov qword [rsp + 0x7d8], rdx
mov qword [rsp + 0x7d0], rax
cmp qword [rsp + 0x70], 0
je 0x14000e36e
mov rsi, rax
and rbp, 0xfffffffffffffff8
shl rbp, 4
add rbp, qword [rsp + 0x30]
mov r13, qword [rsp + 0x70]
shl r13, 4
add r13, rbp
lea r14, [rsp + 0x3d0]
lea r15, [rsp + 0xbd0]
lea rdi, [rbp + 0x10]
mov rcx, rbp
mov rdx, rdi
call fcn.14000cbe2
mov rbx, rax
mov r12, rdx
mov al, byte [0x140032010]
cmp al, 1
jne 0x14000e2e9
mov rcx, rbp
lea rdx, [rsp + 0x4c0]
call fcn.14000e750
jmp 0x14000e333
call fcn.14000cbc7
xor ecx, ecx
mov qword [rsp + rcx + 0xbd0], rax
mov qword [rsp + rcx + 0xbd8], rdx
add rcx, 0x10
cmp rcx, 0x40
jne 0x14000e2f0
movups xmm0, xmmword [rbp]
movaps xmmword [rsp + 0xbd0], xmm0
mov r8d, 4
mov rcx, r14
mov rdx, r15
call fcn.14000611e
movaps xmm0, xmmword [rsp + 0xbd0]
movups xmmword [rbp], xmm0
mov eax, 1
xor byte [rbp + rax - 1], sil
cmp rax, 0x10
je 0x14000e350
mov sil, byte [rsp + rax + 0x7d0]
inc rax
jmp 0x14000e338
mov qword [rsp + 0x7d0], rbx
mov qword [rsp + 0x7d8], r12
mov esi, ebx
mov rbp, rdi
cmp rdi, r13
jne 0x14000e2b8
mov rax, qword [rsp + 0x7d0]
lea rcx, [rsp + 0x790]
mov qword [rcx], rax
mov rax, qword [rsp + 0x7d8]
mov qword [rcx + 8], rax
cmp qword [rsp + 0x58], 0
mov rdx, qword [rsp + 0x14e0]
je 0x14000e3e4
mov rax, qword [rsp + 0x30]
movzx ebp, byte [rax + rdx - 0x41]
test rbp, rbp
je 0x14000e3e4
mov rcx, qword [rsp + 0x58]
sub rcx, rbp
jb 0x14000e3e4
lea rax, [rdx - 0x41]
cmp rax, rcx
jb 0x14000e405
mov rax, qword [rsp + 0x30]
add rdx, rax
add rdx, 0xffffffffffffffc0
mov rax, rbp
neg rax
cmp rax, 0xffffffffffffffff
je 0x14000e409
lea rbx, [rax + 1]
cmp byte [rdx + rax], bpl
mov rax, rbx
je 0x14000e3d1
lea rcx, [rsp + 0x150]
call fcn.1400070ac
mov rax, qword [rsp + 0x98]
mov qword [rax], 0
jmp 0x14000ccdf
ud2
cmp qword [rsp + 0x58], rbp
jb 0x14000e418
mov qword [rsp + 0x160], rcx
lea rax, [rsp + 0x158]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x1e0], xmm0
mov rax, qword [rsp + 0x98]
movups xmmword [rax + 8], xmm0
mov rcx, qword [rsp + 0x30]
mov qword [rax], rcx
jmp 0x14000ccdf
mov ecx, 0x400000
mov edx, 8
call fcn.140024446
ud2