Function at 0x1400514b0
Capabilities:
Encode data using xor
Encrypt data using salsa20 or chacha

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xaf8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0xa60], xmm12
movaps xmmword [rbp + 0xa50], xmm11
movdqa xmmword [rbp + 0xa40], xmm10
movdqa xmmword [rbp + 0xa30], xmm9
movdqa xmmword [rbp + 0xa20], xmm8
movdqa xmmword [rbp + 0xa10], xmm7
movdqa xmmword [rbp + 0xa00], xmm6
and rsp, 0xffffffffffffffe0
mov rbx, r8
mov r15, rdx
mov rdi, rcx
mov rax, qword [rbp + 0xae8]
mov rcx, r9
shr rcx, 8
mov byte [rsp + 0x200], r9b
mov rdx, r9
shr rdx, 0x38
mov byte [rsp + 0x207], dl
shr r9, 0x28
mov word [rsp + 0x205], r9w
mov dword [rsp + 0x201], ecx
mov qword [rsp + 0x208], 0x20
mov qword [rsp + 0x210], rax
mov qword [rsp + 0x218], 0x20
lea rax, [0x141a98490]
mov qword [rsp + 0x220], rax
mov qword [rsp + 0x228], 0
mov qword [rsp + 0x230], rax
mov qword [rsp + 0x238], 0
movdqa xmm0, xmmword [0x140218830]
movdqu xmmword [rsp + 0x240], xmm0
mov word [rsp + 0x250], 0x213
movabs rax, 0x4c0000004c00
mov qword [rsp + 0x258], rax
mov dword [rsp + 0x260], 0x1300
lea rsi, [rsp + 0x800]
mov rcx, rsi
mov edx, 1
mov r8d, 0x4c00
call fcn.1400390d0
lea r14, [rsp + 0x200]
mov rcx, r14
mov rdx, rsi
call fcn.140036fb0
mov rsi, qword [rsp + 0x800]
mov r12, qword [rsp + 0x808]
mov rcx, r14
mov rdx, rsi
mov r8, r12
call fcn.140037940
lea rcx, [rsp + 0x620]
mov rdx, r14
mov r8, rsi
mov r9, r12
call fcn.140038f60
test r12, r12
je 0x14005164a
mov rcx, qword [0x141ada118]
xor edx, edx
mov r8, rsi
call fcn.1401cdfe4
movabs r12, 0x8000000000000000
mov r14, qword [rsp + 0x620]
movzx eax, byte [rsp + 0x628]
cmp r14, r12
jne 0x140051674
mov byte [rdi + 8], al
mov qword [rdi], r12
jmp 0x140051ab9
movzx eax, al
movzx ecx, byte [rsp + 0x62f]
shl ecx, 0x10
movzx edx, word [rsp + 0x62d]
or edx, ecx
shl rdx, 0x20
mov esi, dword [rsp + 0x629]
or rsi, rdx
shl rsi, 8
or rsi, rax
cmp qword [rsp + 0x630], 0x20
jne 0x140051a9c
movzx eax, byte [rsi]
mov byte [rsp + 0x70], al
movzx eax, byte [rsi + 1]
mov byte [rsp + 0xa0], al
movzx eax, byte [rsi + 2]
mov byte [rsp + 0x90], al
movzx eax, byte [rsi + 3]
mov byte [rsp + 0x9f], al
movzx eax, byte [rsi + 4]
mov byte [rsp + 0x80], al
movzx eax, byte [rsi + 5]
mov byte [rsp + 0x9e], al
movzx eax, byte [rsi + 6]
mov byte [rsp + 0x8e], al
movzx eax, byte [rsi + 7]
mov byte [rsp + 0x9d], al
movzx eax, byte [rsi + 8]
mov byte [rsp + 0x68], al
movzx eax, byte [rsi + 9]
mov byte [rsp + 0x9c], al
movzx eax, byte [rsi + 0xa]
mov byte [rsp + 0x8c], al
movzx eax, byte [rsi + 0xb]
mov byte [rsp + 0x9b], al
movzx eax, byte [rsi + 0xc]
mov byte [rsp + 0x7c], al
movzx eax, byte [rsi + 0xd]
mov byte [rsp + 0x9a], al
movzx eax, byte [rsi + 0xe]
mov byte [rsp + 0x8a], al
movzx eax, byte [rsi + 0xf]
mov byte [rsp + 0x99], al
movzx eax, byte [rsi + 0x10]
mov byte [rsp + 0x60], al
movzx eax, byte [rsi + 0x11]
mov byte [rsp + 0x98], al
movzx eax, byte [rsi + 0x12]
mov byte [rsp + 0x88], al
movzx eax, byte [rsi + 0x13]
mov byte [rsp + 0x97], al
movzx eax, byte [rsi + 0x14]
mov byte [rsp + 0x78], al
movzx eax, byte [rsi + 0x15]
mov byte [rsp + 0x96], al
movzx eax, byte [rsi + 0x16]
mov byte [rsp + 0x86], al
movzx eax, byte [rsi + 0x17]
mov byte [rsp + 0x95], al
movzx eax, byte [rsi + 0x18]
mov byte [rsp + 0x58], al
movzx eax, byte [rsi + 0x19]
mov byte [rsp + 0x94], al
movzx eax, byte [rsi + 0x1a]
mov byte [rsp + 0x84], al
movzx eax, byte [rsi + 0x1b]
mov byte [rsp + 0x93], al
movzx eax, byte [rsi + 0x1c]
mov byte [rsp + 0x74], al
movzx eax, byte [rsi + 0x1d]
mov byte [rsp + 0x92], al
movzx eax, byte [rsi + 0x1e]
mov byte [rsp + 0x82], al
movzx eax, byte [rsi + 0x1f]
mov byte [rsp + 0x91], al
movzx eax, byte [0x141ada129]
xor ecx, ecx
mov rdx, rbx
call fcn.14014fee0
test rax, rax
je 0x140053e44
mov r13, rax
mov rcx, rax
mov rdx, r15
mov r8, rbx
call sub.msvcrt.dll_memcpy
cmp rbx, 0x10
jb 0x140053d2e
mov qword [rsp + 0x598], rsi
mov qword [rsp + 0xf0], r13
mov qword [rsp + 0xf8], rbx
mov qword [rsp + 0x100], r14
mov qword [rsp + 0x108], rdi
mov rax, qword [rbp + 0xae0]
movzx ecx, byte [rsp + 0x70]
mov byte [rsp + 0xe8], cl
movzx ecx, byte [rsp + 0xa0]
mov byte [rsp + 0xbf], cl
movzx ecx, byte [rsp + 0x90]
mov byte [rsp + 0xbe], cl
movzx ecx, byte [rsp + 0x9f]
mov byte [rsp + 0xbd], cl
movzx ecx, byte [rsp + 0x80]
mov byte [rsp + 0xbc], cl
movzx ecx, byte [rsp + 0x9e]
mov byte [rsp + 0xbb], cl
movzx ecx, byte [rsp + 0x8e]
mov byte [rsp + 0xb1], cl
movzx ecx, byte [rsp + 0x9d]
mov byte [rsp + 0xaf], cl
movzx ecx, byte [rsp + 0x68]
mov byte [rsp + 0xb0], cl
movzx ecx, byte [rsp + 0x9c]
mov byte [rsp + 0xae], cl
movzx ecx, byte [rsp + 0x8c]
mov byte [rsp + 0xb2], cl
movzx ecx, byte [rsp + 0x9b]
mov byte [rsp + 0xba], cl
movzx ecx, byte [rsp + 0x7c]
mov byte [rsp + 0xb9], cl
movzx ecx, byte [rsp + 0x9a]
mov byte [rsp + 0xb8], cl
movzx ecx, byte [rsp + 0x8a]
mov byte [rsp + 0xb7], cl
movzx ecx, byte [rsp + 0x99]
mov byte [rsp + 0xb6], cl
movq xmm6, qword [rax]
mov eax, dword [rax + 8]
mov dword [rsp + 0x19c], eax
movzx eax, byte [rsp + 0x60]
mov byte [rsp + 0xb3], al
movzx r11d, byte [rsp + 0x98]
movzx ebx, byte [rsp + 0x88]
movzx r12d, byte [rsp + 0x97]
movzx r8d, byte [rsp + 0x78]
movzx r9d, byte [rsp + 0x96]
movzx edi, byte [rsp + 0x86]
movzx r15d, byte [rsp + 0x95]
movzx eax, byte [rsp + 0x93]
mov byte [rsp + 0xb5], al
movzx eax, byte [rsp + 0x84]
mov byte [rsp + 0xb4], al
movzx ecx, byte [rsp + 0x94]
movzx r10d, byte [rsp + 0x58]
movzx r13d, byte [rsp + 0x74]
movzx edx, byte [rsp + 0x92]
movzx esi, byte [rsp + 0x82]
movzx r14d, byte [rsp + 0x91]
movzx eax, byte [0x140216020]
cmp al, 0xff
movzx eax, byte [rsp + 0xe8]
jne 0x140051b9b
mov byte [rsp + 0xa1], r10b
mov byte [rsp + 0xa2], cl
mov byte [rsp + 0xa3], r14b
mov byte [rsp + 0xa4], sil
mov byte [rsp + 0xa5], dl
mov byte [rsp + 0xa6], r13b
mov byte [rsp + 0xa7], r15b
mov byte [rsp + 0xa8], dil
mov byte [rsp + 0xa9], r9b
mov byte [rsp + 0xaa], r8b
mov byte [rsp + 0xab], r12b
mov byte [rsp + 0xac], bl
mov byte [rsp + 0xad], r11b
lea rcx, [rsp + 0x620]
call fcn.14014b030
lea rcx, [rsp + 0x800]
call fcn.14014b060
mov r14d, dword [rsp + 0x628]
mov eax, r14d
not eax
test eax, 0xc000000
jne 0x140051b03
call fcn.140051110
not eax
test al, 6
sete al
jmp 0x140051b05
mov byte [rdi + 8], 0x14
mov qword [rdi], r12
test r14, r14
je 0x140051ab9
mov rcx, qword [0x141ada118]
xor edx, edx
mov r8, rsi
call fcn.1401cdfe4
movaps xmm6, xmmword [rbp + 0xa00]
movaps xmm7, xmmword [rbp + 0xa10]
movaps xmm8, xmmword [rbp + 0xa20]
movaps xmm9, xmmword [rbp + 0xa30]
movaps xmm10, xmmword [rbp + 0xa40]
movaps xmm11, xmmword [rbp + 0xa50]
movaps xmm12, xmmword [rbp + 0xa60]
lea rsp, [rbp + 0xa78]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
xor eax, eax
mov ecx, dword [rsp + 0x804]
and ecx, 0x20
shr ecx, 5
shr r14d, 0x1c
and r14b, al
and r14b, cl
mov byte [0x140216020], r14b
movzx eax, byte [rsp + 0xe8]
movzx r11d, byte [rsp + 0xad]
movzx ebx, byte [rsp + 0xac]
movzx r12d, byte [rsp + 0xab]
movzx r8d, byte [rsp + 0xaa]
movzx r9d, byte [rsp + 0xa9]
movzx edi, byte [rsp + 0xa8]
movzx r15d, byte [rsp + 0xa7]
movzx r13d, byte [rsp + 0xa6]
movzx edx, byte [rsp + 0xa5]
movzx esi, byte [rsp + 0xa4]
movzx r14d, byte [rsp + 0xa3]
movzx ecx, byte [rsp + 0xa2]
movzx r10d, byte [rsp + 0xa1]
movdqu xmm0, xmmword [0x1419ff1ac]
movdqa xmmword [rsp + 0x110], xmm0
mov byte [rsp + 0x120], al
movzx eax, byte [rsp + 0xbf]
mov byte [rsp + 0x121], al
movzx eax, byte [rsp + 0xbe]
mov byte [rsp + 0x122], al
movzx eax, byte [rsp + 0xbd]
mov byte [rsp + 0x123], al
movzx eax, byte [rsp + 0xbc]
mov byte [rsp + 0x124], al
movzx eax, byte [rsp + 0xbb]
mov byte [rsp + 0x125], al
movzx eax, byte [rsp + 0xb1]
mov byte [rsp + 0x126], al
movzx eax, byte [rsp + 0xaf]
mov byte [rsp + 0x127], al
movzx eax, byte [rsp + 0xb0]
mov byte [rsp + 0x128], al
movzx eax, byte [rsp + 0xae]
mov byte [rsp + 0x129], al
movzx eax, byte [rsp + 0xb2]
mov byte [rsp + 0x12a], al
movzx eax, byte [rsp + 0xba]
mov byte [rsp + 0x12b], al
movzx eax, byte [rsp + 0xb9]
mov byte [rsp + 0x12c], al
movzx eax, byte [rsp + 0xb8]
mov byte [rsp + 0x12d], al
movzx eax, byte [rsp + 0xb7]
mov byte [rsp + 0x12e], al
movzx eax, byte [rsp + 0xb6]
mov byte [rsp + 0x12f], al
movzx eax, byte [rsp + 0xb3]
mov byte [rsp + 0x130], al
mov byte [rsp + 0x131], r11b
mov byte [rsp + 0x132], bl
mov byte [rsp + 0x133], r12b
mov byte [rsp + 0x134], r8b
mov byte [rsp + 0x135], r9b
mov byte [rsp + 0x136], dil
mov byte [rsp + 0x137], r15b
mov byte [rsp + 0x138], r10b
mov byte [rsp + 0x139], cl
movzx eax, byte [rsp + 0xb4]
mov byte [rsp + 0x13a], al
movzx eax, byte [rsp + 0xb5]
mov byte [rsp + 0x13b], al
mov byte [rsp + 0x13c], r13b
mov byte [rsp + 0x13d], dl
mov byte [rsp + 0x13e], sil
mov byte [rsp + 0x13f], r14b
mov dword [rsp + 0x140], 0
movq qword [rsp + 0x144], xmm6
mov eax, dword [rsp + 0x19c]
mov dword [rsp + 0x14c], eax
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x180], xmm0
movdqa xmmword [rsp + 0x170], xmm0
movdqa xmmword [rsp + 0x160], xmm0
movdqa xmmword [rsp + 0x150], xmm0
mov byte [rsp + 0x190], 0
movdqa xmmword [rsp + 0xd0], xmm0
movdqa xmmword [rsp + 0xc0], xmm0
xor eax, eax
test al, al
jne 0x140053e44
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x800], rax
mov qword [rsp + 0x808], rax
mov qword [rsp + 0x810], 0
movzx eax, byte [0x140216020]
cmp al, 1
mov rdi, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0x598]
jne 0x140051de8
lea rcx, [rsp + 0x110]
lea rdx, [rsp + 0x800]
call fcn.1400504a0
movzx eax, byte [0x140216020]
cmp al, 1
jne 0x140051e0d
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x110]
call fcn.140050f60
jmp 0x140051fa0
movdqa xmm4, xmmword [rsp + 0x110]
movdqa xmm2, xmmword [rsp + 0x120]
movdqa xmm1, xmmword [rsp + 0x130]
movdqa xmm0, xmmword [rsp + 0x140]
mov eax, 0xa
movdqa xmm6, xmm4
movdqa xmm3, xmm2
movdqa xmm5, xmm0
movdqa xmm7, xmm1
nop word cs:[rax + rax]
paddd xmm6, xmm3
pxor xmm5, xmm6
movdqa xmm8, xmm5
psrld xmm8, 0x10
pslld xmm5, 0x10
por xmm5, xmm8
paddd xmm7, xmm5
pxor xmm3, xmm7
movdqa xmm8, xmm3
psrld xmm8, 0x14
pslld xmm3, 0xc
por xmm3, xmm8
paddd xmm6, xmm3
pxor xmm5, xmm6
movdqa xmm8, xmm5
psrld xmm8, 0x18
pslld xmm5, 8
por xmm5, xmm8
paddd xmm7, xmm5
pxor xmm3, xmm7
movdqa xmm8, xmm3
psrld xmm8, 0x19
pslld xmm3, 7
por xmm3, xmm8
pshufd xmm7, xmm7, 0x39
pshufd xmm5, xmm5, 0x4e
pshufd xmm6, xmm6, 0x93
paddd xmm6, xmm3
pxor xmm5, xmm6
movdqa xmm8, xmm5
psrld xmm8, 0x10
pslld xmm5, 0x10
por xmm5, xmm8
paddd xmm7, xmm5
pxor xmm3, xmm7
movdqa xmm8, xmm3
psrld xmm8, 0x14
pslld xmm3, 0xc
por xmm3, xmm8
paddd xmm6, xmm3
pxor xmm5, xmm6
movdqa xmm8, xmm5
psrld xmm8, 0x18
pslld xmm5, 8
por xmm5, xmm8
paddd xmm7, xmm5
pxor xmm3, xmm7
movdqa xmm8, xmm3
psrld xmm8, 0x19
pslld xmm3, 7
por xmm3, xmm8
pshufd xmm7, xmm7, 0x93
pshufd xmm5, xmm5, 0x4e
pshufd xmm6, xmm6, 0x39
dec rax
jne 0x140051e50
paddd xmm6, xmm4
paddd xmm3, xmm2
paddd xmm7, xmm1
paddd xmm5, xmm0
movdqa xmmword [rsp + 0x150], xmm6
movdqa xmmword [rsp + 0x160], xmm3
movdqa xmmword [rsp + 0x170], xmm7
movdqa xmmword [rsp + 0x180], xmm5
movd eax, xmm0
inc eax
mov dword [rsp + 0x140], eax
lea rax, [rdi - 0x10]
mov qword [rsp + 0xe8], rax
movaps xmm0, xmmword [rsp + 0x150]
xorps xmm0, xmmword [rsp + 0xc0]
movaps xmm1, xmmword [rsp + 0x160]
movaps xmmword [rsp + 0xc0], xmm0
xorps xmm1, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0xd0], xmm1
mov byte [rsp + 0x190], 0x20
movzx eax, byte [0x140216048]
cmp al, 0xff
je 0x140052752
cmp al, 1
jne 0x1400527b1
lea rcx, [rsp + 0x800]
lea rdx, [rsp + 0xc0]
call fcn.1400621f0
movdqa xmm6, xmmword [rsp + 0x800]
movdqa xmm7, xmmword [rsp + 0x810]
movaps xmm0, xmmword [rsp + 0x820]
movaps xmm1, xmmword [rsp + 0x830]
movaps xmmword [rsp + 0x740], xmm0
movaps xmmword [rsp + 0x750], xmm1
movaps xmm0, xmmword [rsp + 0x840]
movaps xmmword [rsp + 0x760], xmm0
movaps xmm0, xmmword [rsp + 0x850]
movaps xmmword [rsp + 0x770], xmm0
lea rcx, [rsp + 0x800]
lea rdx, [rsp + 0x740]
mov r8, rdx
call fcn.140062340
movaps xmm10, xmmword [rsp + 0x800]
movaps xmm11, xmmword [rsp + 0x810]
movaps xmm8, xmmword [rsp + 0x820]
movaps xmm9, xmmword [rsp + 0x830]
mov qword [rsp + 0x20], 0x3ffffff
lea r12, [rsp + 0x7a0]
mov r8d, 0x3ffffff
mov r9d, 0x3ffffff
mov rcx, r12
mov rdx, 0xffffffffffffffff
call fcn.1400629f0
movaps xmmword [rsp + 0x790], xmm11
movaps xmmword [rsp + 0x780], xmm10
lea r15, [rsp + 0x1e0]
lea rdx, [rsp + 0x780]
mov rcx, r15
mov r8, r12
call fcn.140062d40
mov qword [rsp + 0x20], 0x1a
lea r12, [rsp + 0x7e0]
mov edx, 0x40
mov r8d, 0x1a
mov r9d, 0x1a
mov rcx, r12
call fcn.1400629f0
movaps xmmword [rsp + 0x7d0], xmm11
movaps xmmword [rsp + 0x7c0], xmm10
lea r13, [rsp + 0xa40]
lea rdx, [rsp + 0x7c0]
mov rcx, r13
mov r8, r12
call fcn.140062d60
lea r12, [rsp + 0x4e0]
mov rcx, r12
mov rdx, r13
call fcn.140062d80
lea rcx, [rsp + 0x620]
mov rdx, r15
mov r8, r12
call fcn.140062a60
movaps xmm10, xmmword [rsp + 0x620]
movaps xmm11, xmmword [rsp + 0x630]
movaps xmmword [rsp + 0x510], xmm11
movaps xmmword [rsp + 0x500], xmm10
lea r15, [rsp + 0x540]
lea rdx, [rsp + 0x500]
mov rcx, r15
call fcn.140062d90
lea r12, [rsp + 0x5e0]
mov rcx, r12
mov rdx, r15
call fcn.140062d80
movaps xmmword [rsp + 0x5b0], xmm9
movaps xmmword [rsp + 0x5a0], xmm8
lea rcx, [rsp + 0x620]
lea rdx, [rsp + 0x5a0]
mov r8, r12
call fcn.140062a60
movaps xmm8, xmmword [rsp + 0x620]
movaps xmm9, xmmword [rsp + 0x630]
mov qword [rsp + 0x20], 0xffffffffffffffff
lea r12, [rsp + 0x620]
mov edx, 0x3ffffff
mov rcx, r12
mov r8, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
call fcn.1400629f0
movaps xmmword [rsp + 0x1b0], xmm11
movaps xmmword [rsp + 0x1a0], xmm10
lea r15, [rsp + 0x520]
lea rdx, [rsp + 0x1a0]
mov rcx, r15
mov r8, r12
call fcn.140062d40
mov qword [rsp + 0x20], 0x1a
lea r12, [rsp + 0x4e0]
mov edx, 0x40
mov r8d, 0x40
mov r9d, 0x40
mov rcx, r12
call fcn.1400629f0
movaps xmmword [rsp + 0x1f0], xmm9
movaps xmmword [rsp + 0x1e0], xmm8
lea rcx, [rsp + 0x620]
lea rdx, [rsp + 0x1e0]
mov r8, r12
call fcn.140062d60
movaps xmm10, xmmword [rsp + 0x620]
movaps xmm11, xmmword [rsp + 0x630]
movaps xmmword [rsp + 0x510], xmm11
movaps xmmword [rsp + 0x500], xmm10
lea r12, [rsp + 0x5a0]
lea r8, [rsp + 0x500]
mov rcx, r12
mov rdx, r15
call fcn.140062a60
movaps xmmword [rsp + 0x550], xmm11
movaps xmmword [rsp + 0x540], xmm10
lea r15, [rsp + 0x5e0]
lea rdx, [rsp + 0x540]
mov rcx, r15
call fcn.140062db0
lea rcx, [rsp + 0x620]
mov rdx, r12
mov r8, r15
call fcn.140062a60
movaps xmm10, xmmword [rsp + 0x620]
movaps xmm11, xmmword [rsp + 0x630]
mov qword [rsp + 0x20], 0x3ffffff
lea r12, [rsp + 0x620]
mov rcx, r12
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.1400629f0
movaps xmmword [rsp + 0x1b0], xmm9
movaps xmmword [rsp + 0x1a0], xmm8
lea rdi, [rsp + 0xa40]
lea rdx, [rsp + 0x1a0]
mov rcx, rdi
mov r8, r12
call fcn.140062d40
mov qword [rsp + 0x20], 0x3ffffff
lea r13, [rsp + 0x7c0]
mov r8d, 0x3ffffff
mov r9d, 0x3ffffff
mov rcx, r13
mov rdx, 0xffffffffffffffff
call fcn.1400629f0
movaps xmmword [rsp + 0x7b0], xmm11
movaps xmmword [rsp + 0x7a0], xmm10
lea r12, [rsp + 0x520]
lea rdx, [rsp + 0x7a0]
mov rcx, r12
mov r8, r13
call fcn.140062d40
mov qword [rsp + 0x20], 0x1a
lea r13, [rsp + 0x1e0]
mov edx, 0x40
mov r8d, 0x1a
mov r9d, 0x1a
mov rcx, r13
call fcn.1400629f0
movaps xmmword [rsp + 0x7f0], xmm11
movaps xmmword [rsp + 0x7e0], xmm10
lea r15, [rsp + 0x4e0]
lea rdx, [rsp + 0x7e0]
mov rcx, r15
mov r8, r13
call fcn.140062d60
lea r13, [rsp + 0x500]
mov rcx, r13
mov rdx, r15
call fcn.140062d80
lea rcx, [rsp + 0x620]
mov rdx, r12
mov r8, r13
call fcn.140062a60
movaps xmm8, xmmword [rsp + 0x620]
movaps xmm9, xmmword [rsp + 0x630]
movaps xmmword [rsp + 0x550], xmm9
movaps xmmword [rsp + 0x540], xmm8
lea r15, [rsp + 0x5a0]
lea rdx, [rsp + 0x540]
mov rcx, r15
call fcn.140062d90
lea r13, [rsp + 0x5e0]
mov rcx, r13
mov rdx, r15
call fcn.140062d80
lea r12, [rsp + 0x780]
mov rcx, r12
mov rdx, rdi
mov r8, r13
call fcn.140062a60
mov qword [rsp + 0x20], 0xffffffffffffffff
lea r15, [rsp + 0x620]
mov edx, 0x3ffffff
mov rcx, r15
mov r8, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
call fcn.1400629f0
movaps xmmword [rsp + 0x1b0], xmm9
movaps xmmword [rsp + 0x1a0], xmm8
lea r13, [rsp + 0xa60]
lea rdx, [rsp + 0x1a0]
mov rcx, r13
mov r8, r15
call fcn.140062d40
lea r15, [rsp + 0x5a0]
mov rcx, r15
call fcn.140062dd0
lea rbx, [rsp + 0x1a0]
mov rcx, rbx
mov rdx, r13
mov r8, r15
call fcn.1400622f0
lea r15, [rsp + 0x5e0]
mov rcx, r15
call fcn.140062dd0
lea r13, [rsp + 0x620]
mov rcx, r13
mov rdx, r12
mov r8, r15
call fcn.1400622f0
lea rcx, [rsp + 0x1e0]
mov rdx, rbx
mov r8, r13
call fcn.140062de0
movaps xmm8, xmmword [rsp + 0x1e0]
movaps xmm9, xmmword [rsp + 0x1f0]
movaps xmmword [rsp + 0x4f0], xmm9
movaps xmmword [rsp + 0x4e0], xmm8
lea rbx, [rsp + 0x500]
lea rdx, [rsp + 0x4e0]
mov rcx, rbx
call fcn.140062290
movaps xmmword [rsp + 0x530], xmm9
movaps xmmword [rsp + 0x520], xmm8
lea r15, [rsp + 0x540]
lea rdx, [rsp + 0x520]
mov rcx, r15
mov r8, rbx
call fcn.140062270
mov dword [rsp + 0x40], 1
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 1
lea rbx, [rsp + 0x5a0]
mov rcx, rbx
mov edx, 4
mov r8d, 3
mov r9d, 2
call fcn.1400622b0
lea rcx, [rsp + 0x800]
mov rdx, r15
mov r8, rbx
call fcn.1400622f0
movaps xmm10, xmmword [rsp + 0x800]
movaps xmm11, xmmword [rsp + 0x810]
movaps xmmword [rsp + 0x5f0], xmm9
movaps xmmword [rsp + 0x5e0], xmm8
movaps xmmword [rsp + 0x1b0], xmm11
movaps xmmword [rsp + 0x1a0], xmm10
lea rcx, [rsp + 0x800]
lea rdx, [rsp + 0x5e0]
lea r8, [rsp + 0x1a0]
call fcn.140062310
movdqa xmm8, xmmword [rsp + 0x800]
movdqa xmm9, xmmword [rsp + 0x810]
movaps xmmword [rsp + 0x810], xmm11
movaps xmmword [rsp + 0x800], xmm10
lea rcx, [rsp + 0x620]
lea rdx, [rsp + 0x800]
call fcn.140062330
movdqa xmm10, xmmword [rsp + 0x620]
movaps xmm11, xmmword [rsp + 0x630]
movaps xmm0, xmmword [rsp + 0x740]
movaps xmm1, xmmword [rsp + 0x750]
movdqa xmm2, xmmword [rsp + 0x760]
movdqa xmm3, xmmword [rsp + 0x770]
movaps xmmword [rsp + 0x1a0], xmm0
movaps xmmword [rsp + 0x1b0], xmm1
movdqa xmmword [rsp + 0x1c0], xmm2
movdqa xmmword [rsp + 0x1d0], xmm3
xorps xmm12, xmm12
movaps xmmword [rsp + 0x5e0], xmm12
movaps xmmword [rsp + 0x5f0], xmm12
movaps xmmword [rsp + 0x600], xmm12
movaps xmmword [rsp + 0x610], xmm12
jmp 0x140052824
lea rcx, [rsp + 0x620]
call fcn.14014b030
lea rcx, [rsp + 0x800]
call fcn.14014b060
mov edi, dword [rsp + 0x628]
mov eax, edi
not eax
test eax, 0xc000000
jne 0x14005278c
call fcn.140051110
not eax
test al, 6
sete al
jmp 0x14005278e
xor eax, eax
mov ecx, dword [rsp + 0x804]
and ecx, 0x20
shr ecx, 5
shr edi, 0x1c
and dil, al
and dil, cl
mov byte [0x140216048], dil
jne 0x140051ffb
xorps xmm0, xmm0
movaps xmmword [rsp + 0x4e0], xmm0
mov dword [rsp + 0x4f0], 0
mov ebx, dword [rsp + 0xc3]
mov r15d, dword [rsp + 0xc6]
mov r13d, dword [rsp + 0xc9]
mov edi, dword [rsp + 0xcc]
movaps xmm12, xmmword [rsp + 0xd0]
shr edi, 8
and edi, 0xfffff
shr r13d, 6
and r13d, 0x3f03fff
shr r15d, 4
and r15d, 0x3ffc0ff
shr ebx, 2
and ebx, 0x3ffff03
mov r14d, 0x3ffffff
and r14d, dword [rsp + 0xc0]
mov eax, dword [rsp + 0x4f0]
mov dword [rsp + 0x1f0], eax
movaps xmm0, xmmword [rsp + 0x4e0]
movaps xmmword [rsp + 0x1e0], xmm0
lea r12, [rsp + 0x620]
lea rdx, [rsp + 0x800]
mov r8d, 0x108
mov rcx, r12
call sub.msvcrt.dll_memcpy
movaps xmm0, xmmword [rsp + 0x1a0]
movaps xmm1, xmmword [rsp + 0x1b0]
movaps xmm2, xmmword [rsp + 0x1c0]
movaps xmm3, xmmword [rsp + 0x1d0]
movaps xmmword [rsp + 0x5a0], xmm0
movaps xmmword [rsp + 0x5b0], xmm1
movaps xmmword [rsp + 0x5c0], xmm2
movaps xmmword [rsp + 0x5d0], xmm3
movaps xmm0, xmmword [rsp + 0x5e0]
movaps xmm1, xmmword [rsp + 0x5f0]
movaps xmm2, xmmword [rsp + 0x600]
movaps xmm3, xmmword [rsp + 0x610]
movaps xmmword [rsp + 0x540], xmm0
movaps xmmword [rsp + 0x550], xmm1
movaps xmmword [rsp + 0x560], xmm2
movaps xmmword [rsp + 0x570], xmm3
movups xmm0, xmmword [rsp + 0x500]
movaps xmmword [rsp + 0x520], xmm0
mov rax, qword [rsp + 0x50f]
mov qword [rsp + 0x52f], rax
mov byte [rsp + 0xc0], 0
mov byte [rsp + 0xc1], 0
mov byte [rsp + 0xc2], 0
mov byte [rsp + 0xc3], 0
mov byte [rsp + 0xc4], 0
mov byte [rsp + 0xc5], 0
mov byte [rsp + 0xc6], 0
mov byte [rsp + 0xc7], 0
mov byte [rsp + 0xc8], 0
mov byte [rsp + 0xc9], 0
mov byte [rsp + 0xca], 0
mov byte [rsp + 0xcb], 0
mov byte [rsp + 0xcc], 0
mov byte [rsp + 0xcd], 0
mov byte [rsp + 0xce], 0
mov byte [rsp + 0xcf], 0
mov byte [rsp + 0xd0], 0
mov byte [rsp + 0xd1], 0
mov byte [rsp + 0xd2], 0
mov byte [rsp + 0xd3], 0
mov byte [rsp + 0xd4], 0
mov byte [rsp + 0xd5], 0
mov byte [rsp + 0xd6], 0
mov byte [rsp + 0xd7], 0
mov byte [rsp + 0xd8], 0
mov byte [rsp + 0xd9], 0
mov byte [rsp + 0xda], 0
mov byte [rsp + 0xdb], 0
mov byte [rsp + 0xdc], 0
mov byte [rsp + 0xdd], 0
mov byte [rsp + 0xde], 0
mov byte [rsp + 0xdf], 0
mov dword [rsp + 0x140], 1
mov byte [rsp + 0x190], 0
lea rcx, [rsp + 0x440]
lea rdx, [rsp + 0x110]
mov r8d, 0x84
call sub.msvcrt.dll_memcpy
movaps xmmword [rsp + 0x200], xmm12
mov dword [rsp + 0x210], r14d
mov dword [rsp + 0x214], ebx
mov dword [rsp + 0x218], r15d
mov dword [rsp + 0x21c], r13d
mov dword [rsp + 0x220], edi
movaps xmm0, xmmword [rsp + 0x1e0]
movups xmmword [rsp + 0x224], xmm0
mov eax, dword [rsp + 0x1f0]
mov dword [rsp + 0x234], eax
lea rcx, [rsp + 0x238]
mov r8d, 0x108
mov rdx, r12
call sub.msvcrt.dll_memcpy
movdqa xmmword [rsp + 0x350], xmm7
movdqa xmmword [rsp + 0x340], xmm6
movaps xmm0, xmmword [rsp + 0x5a0]
movaps xmm1, xmmword [rsp + 0x5b0]
movaps xmm2, xmmword [rsp + 0x5c0]
movaps xmm3, xmmword [rsp + 0x5d0]
movaps xmmword [rsp + 0x360], xmm0
movaps xmmword [rsp + 0x370], xmm1
movaps xmmword [rsp + 0x380], xmm2
movaps xmmword [rsp + 0x390], xmm3
movdqa xmmword [rsp + 0x3b0], xmm9
movdqa xmmword [rsp + 0x3a0], xmm8
movaps xmmword [rsp + 0x3d0], xmm11
movdqa xmmword [rsp + 0x3c0], xmm10
movaps xmm0, xmmword [rsp + 0x540]
movdqa xmm1, xmmword [rsp + 0x550]
movdqa xmm2, xmmword [rsp + 0x560]
movdqa xmm3, xmmword [rsp + 0x570]
movaps xmmword [rsp + 0x3e0], xmm0
movdqa xmmword [rsp + 0x3f0], xmm1
movdqa xmmword [rsp + 0x400], xmm2
movdqa xmmword [rsp + 0x410], xmm3
mov qword [rsp + 0x420], 0
mov byte [rsp + 0x428], 0
mov rax, qword [rsp + 0x52f]
mov qword [rsp + 0x438], rax
movdqa xmm0, xmmword [rsp + 0x520]
movdqu xmmword [rsp + 0x429], xmm0
mov r15, qword [rsp + 0xe8]
movabs rax, 0x3fffffffbf
cmp r15, rax
jbe 0x140052e88
mov byte [rsp + 0x480], 0
mov byte [rsp + 0x481], 0
mov byte [rsp + 0x482], 0
mov byte [rsp + 0x483], 0
mov byte [rsp + 0x484], 0
mov byte [rsp + 0x485], 0
mov byte [rsp + 0x486], 0
mov byte [rsp + 0x487], 0
mov byte [rsp + 0x488], 0
mov byte [rsp + 0x489], 0
mov byte [rsp + 0x48a], 0
mov byte [rsp + 0x48b], 0
mov byte [rsp + 0x48c], 0
mov byte [rsp + 0x48d], 0
mov byte [rsp + 0x48e], 0
mov byte [rsp + 0x48f], 0
mov byte [rsp + 0x490], 0
mov byte [rsp + 0x491], 0
mov byte [rsp + 0x492], 0
mov byte [rsp + 0x493], 0
mov byte [rsp + 0x494], 0
mov byte [rsp + 0x495], 0
mov byte [rsp + 0x496], 0
mov byte [rsp + 0x497], 0
mov byte [rsp + 0x498], 0
mov byte [rsp + 0x499], 0
mov byte [rsp + 0x49a], 0
mov byte [rsp + 0x49b], 0
mov byte [rsp + 0x49c], 0
mov byte [rsp + 0x49d], 0
mov byte [rsp + 0x49e], 0
mov byte [rsp + 0x49f], 0
mov byte [rsp + 0x4a0], 0
mov byte [rsp + 0x4a1], 0
mov byte [rsp + 0x4a2], 0
mov byte [rsp + 0x4a3], 0
mov byte [rsp + 0x4a4], 0
mov byte [rsp + 0x4a5], 0
mov byte [rsp + 0x4a6], 0
mov byte [rsp + 0x4a7], 0
mov byte [rsp + 0x4a8], 0
mov byte [rsp + 0x4a9], 0
mov byte [rsp + 0x4aa], 0
mov byte [rsp + 0x4ab], 0
mov byte [rsp + 0x4ac], 0
mov byte [rsp + 0x4ad], 0
mov byte [rsp + 0x4ae], 0
mov byte [rsp + 0x4af], 0
mov byte [rsp + 0x4b0], 0
mov byte [rsp + 0x4b1], 0
mov byte [rsp + 0x4b2], 0
mov byte [rsp + 0x4b3], 0
mov byte [rsp + 0x4b4], 0
mov byte [rsp + 0x4b5], 0
mov byte [rsp + 0x4b6], 0
mov byte [rsp + 0x4b7], 0
mov byte [rsp + 0x4b8], 0
mov byte [rsp + 0x4b9], 0
mov byte [rsp + 0x4ba], 0
mov byte [rsp + 0x4bb], 0
mov byte [rsp + 0x4bc], 0
mov byte [rsp + 0x4bd], 0
mov byte [rsp + 0x4be], 0
mov byte [rsp + 0x4bf], 0
mov byte [rsp + 0x4c0], 0
mov dword [rsp + 0x440], 0
mov dword [rsp + 0x444], 0
mov dword [rsp + 0x448], 0
mov dword [rsp + 0x44c], 0
mov dword [rsp + 0x450], 0
mov dword [rsp + 0x454], 0
mov dword [rsp + 0x458], 0
mov dword [rsp + 0x45c], 0
mov dword [rsp + 0x460], 0
mov dword [rsp + 0x464], 0
mov dword [rsp + 0x468], 0
mov dword [rsp + 0x46c], 0
mov dword [rsp + 0x470], 0
mov dword [rsp + 0x474], 0
mov dword [rsp + 0x478], 0
mov dword [rsp + 0x47c], 0
mov rdi, qword [rsp + 0x108]
mov r14, qword [rsp + 0x100]
mov rbx, qword [rsp + 0xf8]
movabs r12, 0x8000000000000000
mov r13, qword [rsp + 0xf0]
jmp 0x140053d2e
movzx eax, byte [0x140216048]
mov r8, r15
shr r8, 4
lea rcx, [rsp + 0x200]
mov r13, qword [rsp + 0xf0]
mov rdx, r13
call fcn.140051120
mov r8, qword [rsp + 0xf8]
and r8, 0xf
je 0x140052f03
movabs rax, 0x3fffffffbf
lea rdx, [rax + 0x31]
and rdx, r15
add rdx, r13
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x800], xmm0
lea rbx, [rsp + 0x800]
mov rcx, rbx
call sub.msvcrt.dll_memcpy
lea rcx, [rsp + 0x200]
mov r8d, 1
mov rdx, rbx
call fcn.140051120
mov qword [rsp + 0x800], 0
mov qword [rsp + 0x808], r15
lea rdi, [rsp + 0x200]
lea rdx, [rsp + 0x800]
mov r8d, 1
mov rcx, rdi
call fcn.140051120
lea rcx, [rsp + 0x800]
mov r8d, 0x240
mov rdx, rdi
call sub.msvcrt.dll_memcpy
movzx eax, byte [0x140216048]
cmp al, 1
jne 0x140052f70
lea rcx, [rsp + 0x620]
lea rdx, [rsp + 0x800]
call fcn.140063400
jmp 0x1400530e2
mov r11d, dword [rsp + 0x828]
mov eax, r11d
shr eax, 0x1a
and r11d, 0x3ffffff
add eax, dword [rsp + 0x82c]
mov ecx, eax
shr ecx, 0x1a
and eax, 0x3ffffff
add ecx, dword [rsp + 0x830]
mov r8d, ecx
shr r8d, 0x1a
and ecx, 0x3ffffff
add r8d, dword [rsp + 0x834]
mov r9d, r8d
shr r9d, 0x1a
mov r14d, r8d
and r14d, 0x3ffffff
lea r10d, [r9 + r9*4]
add r10d, dword [rsp + 0x824]
mov r9d, r10d
shr r9d, 0x1a
add r9d, r11d
and r10d, 0x3ffffff
lea ebx, [r10 + 5]
mov r11d, ebx
shr r11d, 0x1a
add r11d, r9d
mov edi, r11d
shr edi, 0x1a
add edi, eax
mov r15d, edi
shr r15d, 0x1a
add r15d, ecx
mov r13d, r15d
shr r13d, 0x1a
lea edx, [r14 + r13]
add edx, 0xfc000000
add r13d, r14d
mov r12d, edx
sar r12d, 0x1f
shr edx, 0x1f
dec edx
mov r14d, edx
and r14d, 0x3ffffff
and ebx, r14d
and r11d, r14d
and edi, r14d
and r14d, r15d
mov r15, qword [rsp + 0xe8]
and edx, r13d
mov r13, qword [rsp + 0xf0]
and r10d, r12d
or r10d, ebx
and r9d, r12d
or r9d, r11d
and eax, r12d
or eax, edi
and ecx, r12d
or ecx, r14d
and r12d, r8d
or r12d, edx
mov r8d, r9d
shl r8d, 0x1a
or r8d, r10d
shr r9d, 6
mov edx, eax
shl edx, 0x14
or edx, r9d
shr eax, 0xc
mov r9d, ecx
shl r9d, 0xe
or r9d, eax
shr ecx, 0x12
shl r12d, 8
or r12d, ecx
add r8d, dword [rsp + 0x800]
mov eax, dword [rsp + 0x804]
mov ecx, dword [rsp + 0x808]
adc rax, rdx
add rcx, r9
mov dword [rsp + 0x620], r8d
mov dword [rsp + 0x624], eax
shr rax, 0x20
add rax, rcx
add r12d, dword [rsp + 0x80c]
mov dword [rsp + 0x628], eax
shr rax, 0x20
add eax, r12d
mov dword [rsp + 0x62c], eax
mov rdi, qword [rsp + 0x108]
movabs r12, 0x8000000000000000
movzx eax, byte [rsp + 0x620]
cmp al, byte [r13 + r15]
sete cl
call fcn.140162d50
mov r14, r15
mov r15d, eax
movzx eax, byte [rsp + 0x621]
cmp al, byte [r13 + r14 + 1]
sete cl
call fcn.140162d50
and r15b, al
movzx eax, byte [rsp + 0x622]
cmp al, byte [r13 + r14 + 2]
sete cl
call fcn.140162d50
mov rbx, r13
mov r13d, eax
movzx eax, byte [rsp + 0x623]
cmp al, byte [rbx + r14 + 3]
sete cl
call fcn.140162d50
and r13b, al
and r13b, r15b
movzx eax, byte [rsp + 0x624]
cmp al, byte [rbx + r14 + 4]
sete cl
call fcn.140162d50
mov r15d, eax
movzx eax, byte [rsp + 0x625]
cmp al, byte [rbx + r14 + 5]
sete cl
call fcn.140162d50
and r15b, al
movzx eax, byte [rsp + 0x626]
cmp al, byte [rbx + r14 + 6]
sete cl
call fcn.140162d50
and r15b, al
and r15b, r13b
movzx eax, byte [rsp + 0x627]
cmp al, byte [rbx + r14 + 7]
sete cl
call fcn.140162d50
mov r13d, eax
movzx eax, byte [rsp + 0x628]
cmp al, byte [rbx + r14 + 8]
sete cl
call fcn.140162d50
and r13b, al
movzx eax, byte [rsp + 0x629]
cmp al, byte [rbx + r14 + 9]
sete cl
call fcn.140162d50
and r13b, al
movzx eax, byte [rsp + 0x62a]
cmp al, byte [rbx + r14 + 0xa]
sete cl
call fcn.140162d50
and r13b, al
and r13b, r15b
movzx eax, byte [rsp + 0x62b]
cmp al, byte [rbx + r14 + 0xb]
sete cl
call fcn.140162d50
mov r15d, eax
movzx eax, byte [rsp + 0x62c]
cmp al, byte [rbx + r14 + 0xc]
sete cl
call fcn.140162d50
and r15b, al
movzx eax, byte [rsp + 0x62d]
cmp al, byte [rbx + r14 + 0xd]
sete cl
call fcn.140162d50
and r15b, al
movzx eax, byte [rsp + 0x62e]
cmp al, byte [rbx + r14 + 0xe]
sete cl
call fcn.140162d50
and r15b, al
movzx eax, byte [rsp + 0x62f]
cmp al, byte [rbx + r14 + 0xf]
sete cl
call fcn.140162d50
and r15b, al
and r15b, r13b
and r15b, 1
mov ecx, r15d
call fcn.140162d50
test al, al
mov rbx, qword [rsp + 0xf8]
mov r14, qword [rsp + 0x100]
je 0x140053a50
mov edx, dword [rsp + 0x470]
movzx ecx, byte [rsp + 0x4c0]
mov r15, qword [rsp + 0xe8]
mov r8, r15
test rcx, rcx
je 0x1400532da
mov r9d, 0x40
sub r9, rcx
mov r8, r15
sub r8, r9
jbe 0x14005330c
not edx
mov r9d, r8d
and r9d, 0x3f
shr r8, 6
cmp r9, 1
sbb r8, 0xffffffffffffffff
cmp r8, rdx
ja 0x140053e44
mov rbx, r15
mov r13, qword [rsp + 0xf0]
test rcx, rcx
je 0x1400533a9
mov r8d, 0x40
sub r8, rcx
lea rdx, [rsp + rcx]
add rdx, 0x480
mov rbx, r15
sub rbx, r8
jae 0x140053353
test r15, r15
mov rbx, qword [rsp + 0xf8]
mov r11, qword [rsp + 0xf0]
je 0x140053a45
cmp r15, 8
jae 0x1400538bf
xor r8d, r8d
jmp 0x140053a30
cmp cl, 0x38
mov r13, qword [rsp + 0xf0]
jbe 0x140053364
xor ecx, ecx
jmp 0x140053390
mov ecx, r8d
and ecx, 0x78
xor r9d, r9d
nop dword [rax]
mov r10, qword [rdx + r9]
xor qword [r13 + r9], r10
add r9, 8
cmp rcx, r9
jne 0x140053370
cmp r8, rcx
je 0x1400533a6
nop word [rax + rax]
movzx r9d, byte [rdx + rcx]
xor byte [r13 + rcx], r9b
lea r9, [rcx + 1]
mov rcx, r9
cmp r8, r9
jne 0x140053390
add r13, r8
mov rcx, rbx
shr rcx, 6
mov r15d, ebx
and r15d, 0x3f
mov qword [rsp + 0x1a0], r13
mov qword [rsp + 0x1a8], r13
mov qword [rsp + 0x1b0], rcx
movzx edx, byte [0x140216020]
cmp dl, 1
jne 0x140053401
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x440]
mov edi, eax
call fcn.1400504a0
mov eax, edi
mov rdi, qword [rsp + 0x108]
jmp 0x1400536a8
movdqa xmm0, xmmword [rsp + 0x470]
cmp rbx, 0x40
jb 0x14005369f
movdqa xmm1, xmmword [rsp + 0x440]
movdqa xmm2, xmmword [rsp + 0x450]
movdqa xmm3, xmmword [rsp + 0x460]
xor edx, edx
pxor xmm4, xmm4
movdqa xmm5, xmmword [0x140218840]
mov r8d, 0xa
movdqa xmm8, xmm1
movdqa xmm6, xmm2
movdqa xmm7, xmm0
movdqa xmm9, xmm3
nop word cs:[rax + rax]
paddd xmm8, xmm6
pxor xmm7, xmm8
movdqa xmm10, xmm7
psrld xmm10, 0x10
pslld xmm7, 0x10
por xmm7, xmm10
paddd xmm9, xmm7
pxor xmm6, xmm9
movdqa xmm10, xmm6
psrld xmm10, 0x14
pslld xmm6, 0xc
por xmm6, xmm10
paddd xmm8, xmm6
pxor xmm7, xmm8
movdqa xmm10, xmm7
psrld xmm10, 0x18
pslld xmm7, 8
por xmm7, xmm10
paddd xmm9, xmm7
pxor xmm6, xmm9
movdqa xmm10, xmm6
psrld xmm10, 0x19
pslld xmm6, 7
por xmm6, xmm10
pshufd xmm9, xmm9, 0x39
pshufd xmm7, xmm7, 0x4e
pshufd xmm8, xmm8, 0x93
paddd xmm8, xmm6
pxor xmm7, xmm8
movdqa xmm10, xmm7
psrld xmm10, 0x10
pslld xmm7, 0x10
por xmm7, xmm10
paddd xmm9, xmm7
pxor xmm6, xmm9
movdqa xmm10, xmm6
psrld xmm10, 0x14
pslld xmm6, 0xc
por xmm6, xmm10
paddd xmm8, xmm6
pxor xmm7, xmm8
movdqa xmm10, xmm7
psrld xmm10, 0x18
pslld xmm7, 8
por xmm7, xmm10
paddd xmm9, xmm7
pxor xmm6, xmm9
movdqa xmm10, xmm6
psrld xmm10, 0x19
pslld xmm6, 7
por xmm6, xmm10
pshufd xmm9, xmm9, 0x93
pshufd xmm7, xmm7, 0x4e
pshufd xmm8, xmm8, 0x39
dec r8
jne 0x140053460
mov r8, rdx
shl r8, 6
paddd xmm8, xmm1
paddd xmm6, xmm2
paddd xmm9, xmm3
paddd xmm7, xmm0
movdqa xmmword [rsp + 0x110], xmm8
movdqa xmmword [rsp + 0x120], xmm6
movdqa xmmword [rsp + 0x130], xmm9
movdqa xmmword [rsp + 0x140], xmm7
movdqu xmm6, xmmword [r13 + r8]
movdqu xmm7, xmmword [r13 + r8 + 0x10]
movdqu xmm8, xmmword [r13 + r8 + 0x20]
movups xmm9, xmmword [r13 + r8 + 0x30]
movaps xmmword [rsp + 0x650], xmm9
movdqa xmmword [rsp + 0x640], xmm8
movdqa xmmword [rsp + 0x630], xmm7
movdqa xmmword [rsp + 0x620], xmm6
movdqa xmmword [rsp + 0x810], xmm4
movdqa xmmword [rsp + 0x820], xmm4
movdqa xmmword [rsp + 0x830], xmm4
pxor xmm6, xmmword [rsp + 0x110]
pxor xmm7, xmmword [rsp + 0x120]
movdqa xmmword [rsp + 0x800], xmm6
movdqa xmmword [rsp + 0x810], xmm7
pxor xmm8, xmmword [rsp + 0x130]
movdqa xmmword [rsp + 0x820], xmm8
movdqa xmm9, xmmword [rsp + 0x140]
pxor xmm9, xmmword [rsp + 0x650]
movdqa xmmword [rsp + 0x830], xmm9
inc rdx
paddd xmm0, xmm5
movdqu xmmword [r13 + r8 + 0x30], xmm9
movdqu xmmword [r13 + r8 + 0x20], xmm8
movdqu xmmword [r13 + r8 + 0x10], xmm7
movdqu xmmword [r13 + r8], xmm6
cmp rcx, rdx
jne 0x14005343d
movd dword [rsp + 0x470], xmm0
test r15, r15
je 0x140053989
mov r12, rbx
and r12, 0xffffffffffffffc0
movzx ecx, byte [0x140216020]
cmp cl, 1
jne 0x1400536ea
lea rdx, [rsp + 0x480]
lea rcx, [rsp + 0x440]
mov edi, eax
call fcn.140050f60
mov eax, edi
mov rdi, qword [rsp + 0x108]
jmp 0x140053880
movdqa xmm4, xmmword [rsp + 0x440]
movdqa xmm2, xmmword [rsp + 0x450]
movdqa xmm1, xmmword [rsp + 0x460]
movdqa xmm0, xmmword [rsp + 0x470]
mov ecx, 0xa
movdqa xmm6, xmm4
movdqa xmm3, xmm2
movdqa xmm5, xmm0
movdqa xmm7, xmm1
nop word cs:[rax + rax]
paddd xmm6, xmm3
pxor xmm5, xmm6
movdqa xmm8, xmm5
psrld xmm8, 0x10
pslld xmm5, 0x10
por xmm5, xmm8
paddd xmm7, xmm5
pxor xmm3, xmm7
movdqa xmm8, xmm3
psrld xmm8, 0x14
pslld xmm3, 0xc
por xmm3, xmm8
paddd xmm6, xmm3
pxor xmm5, xmm6
movdqa xmm8, xmm5
psrld xmm8, 0x18
pslld xmm5, 8
por xmm5, xmm8
paddd xmm7, xmm5
pxor xmm3, xmm7
movdqa xmm8, xmm3
psrld xmm8, 0x19
pslld xmm3, 7
por xmm3, xmm8
pshufd xmm7, xmm7, 0x39
pshufd xmm5, xmm5, 0x4e
pshufd xmm6, xmm6, 0x93
paddd xmm6, xmm3
pxor xmm5, xmm6
movdqa xmm8, xmm5
psrld xmm8, 0x10
pslld xmm5, 0x10
por xmm5, xmm8
paddd xmm7, xmm5
pxor xmm3, xmm7
movdqa xmm8, xmm3
psrld xmm8, 0x14
pslld xmm3, 0xc
por xmm3, xmm8
paddd xmm6, xmm3
pxor xmm5, xmm6
movdqa xmm8, xmm5
psrld xmm8, 0x18
pslld xmm5, 8
por xmm5, xmm8
paddd xmm7, xmm5
pxor xmm3, xmm7
movdqa xmm8, xmm3
psrld xmm8, 0x19
pslld xmm3, 7
por xmm3, xmm8
pshufd xmm7, xmm7, 0x93
pshufd xmm5, xmm5, 0x4e
pshufd xmm6, xmm6, 0x39
dec rcx
jne 0x140053730
paddd xmm6, xmm4
paddd xmm3, xmm2
paddd xmm7, xmm1
paddd xmm5, xmm0
movdqa xmmword [rsp + 0x480], xmm6
movdqa xmmword [rsp + 0x490], xmm3
movdqa xmmword [rsp + 0x4a0], xmm7
movdqa xmmword [rsp + 0x4b0], xmm5
movd ecx, xmm0
inc ecx
mov dword [rsp + 0x470], ecx
lea rcx, [r12 + r13]
cmp r15d, 8
jae 0x1400538a3
xor edx, edx
mov r14, qword [rsp + 0x100]
movabs r12, 0x8000000000000000
jmp 0x140053970
cmp r15d, 0x20
jae 0x1400538d1
xor edx, edx
mov r14, qword [rsp + 0x100]
movabs r12, 0x8000000000000000
jmp 0x14005393d
cmp r15, 0x20
jae 0x140053996
xor r8d, r8d
jmp 0x1400539ff
mov r8d, ebx
and r8d, 0x1f
mov rdx, r15
sub rdx, r8
lea r9, [r12 + r13]
add r9, 0x10
xor r10d, r10d
movdqu xmm0, xmmword [r9 + r10 - 0x10]
movdqu xmm1, xmmword [r9 + r10]
pxor xmm0, xmmword [rsp + r10 + 0x480]
pxor xmm1, xmmword [rsp + r10 + 0x490]
movdqu xmmword [r9 + r10 - 0x10], xmm0
movdqu xmmword [r9 + r10], xmm1
add r10, 0x20
cmp rdx, r10
jne 0x1400538e9
test r8, r8
mov r14, qword [rsp + 0x100]
movabs r12, 0x8000000000000000
je 0x140053989
cmp r8d, 8
jb 0x140053970
mov r8, rdx
and ebx, 7
mov rdx, r15
sub rdx, rbx
mov r9, qword [rsp + r8 + 0x480]
xor qword [rcx + r8], r9
add r8, 8
cmp rdx, r8
jne 0x140053949
test rbx, rbx
je 0x140053989
nop word cs:[rax + rax]
movzx r8d, byte [rsp + rdx + 0x480]
xor byte [rcx + rdx], r8b
lea r8, [rdx + 1]
mov rdx, r8
cmp r15, r8
jne 0x140053970
mov rbx, qword [rsp + 0xf8]
jmp 0x140053a48
movabs r8, 0x3fffffffbf
add r8, 0x21
and r8, r15
lea r9, [rsp + 0x200]
add r9, rcx
add r9, 0x290
xor r10d, r10d
movdqu xmm0, xmmword [r11 + r10]
movdqu xmm1, xmmword [r11 + r10 + 0x10]
movdqu xmm2, xmmword [r9 + r10 - 0x10]
pxor xmm2, xmm0
movdqu xmm0, xmmword [r9 + r10]
pxor xmm0, xmm1
movdqu xmmword [r11 + r10], xmm2
movdqu xmmword [r11 + r10 + 0x10], xmm0
add r10, 0x20
cmp r8, r10
jne 0x1400539bc
cmp r15, r8
je 0x140053a45
test r15b, 0x18
je 0x140053a30
mov r9, r8
movabs r8, 0x3fffffffbf
add r8, 0x39
and r8, r15
mov r10, qword [rdx + r9]
xor qword [r11 + r9], r10
add r9, 8
cmp r8, r9
jne 0x140053a13
cmp r15, r8
je 0x140053a45
nop dword [rax]
movzx r9d, byte [rdx + r8]
xor byte [r11 + r8], r9b
lea r9, [r8 + 1]
mov r8, r9
cmp r15, r9
jne 0x140053a30
add r15d, ecx
mov byte [rsp + 0x4c0], r15b
mov byte [rsp + 0x480], 0
mov byte [rsp + 0x481], 0
mov byte [rsp + 0x482], 0
mov byte [rsp + 0x483], 0
mov byte [rsp + 0x484], 0
mov byte [rsp + 0x485], 0
mov byte [rsp + 0x486], 0
mov byte [rsp + 0x487], 0
mov byte [rsp + 0x488], 0
mov byte [rsp + 0x489], 0
mov byte [rsp + 0x48a], 0
mov byte [rsp + 0x48b], 0
mov byte [rsp + 0x48c], 0
mov byte [rsp + 0x48d], 0
mov byte [rsp + 0x48e], 0
mov byte [rsp + 0x48f], 0
mov byte [rsp + 0x490], 0
mov byte [rsp + 0x491], 0
mov byte [rsp + 0x492], 0
mov byte [rsp + 0x493], 0
mov byte [rsp + 0x494], 0
mov byte [rsp + 0x495], 0
mov byte [rsp + 0x496], 0
mov byte [rsp + 0x497], 0
mov byte [rsp + 0x498], 0
mov byte [rsp + 0x499], 0
mov byte [rsp + 0x49a], 0
mov byte [rsp + 0x49b], 0
mov byte [rsp + 0x49c], 0
mov byte [rsp + 0x49d], 0
mov byte [rsp + 0x49e], 0
mov byte [rsp + 0x49f], 0
mov byte [rsp + 0x4a0], 0
mov byte [rsp + 0x4a1], 0
mov byte [rsp + 0x4a2], 0
mov byte [rsp + 0x4a3], 0
mov byte [rsp + 0x4a4], 0
mov byte [rsp + 0x4a5], 0
mov byte [rsp + 0x4a6], 0
mov byte [rsp + 0x4a7], 0
mov byte [rsp + 0x4a8], 0
mov byte [rsp + 0x4a9], 0
mov byte [rsp + 0x4aa], 0
mov byte [rsp + 0x4ab], 0
mov byte [rsp + 0x4ac], 0
mov byte [rsp + 0x4ad], 0
mov byte [rsp + 0x4ae], 0
mov byte [rsp + 0x4af], 0
mov byte [rsp + 0x4b0], 0
mov byte [rsp + 0x4b1], 0
mov byte [rsp + 0x4b2], 0
mov byte [rsp + 0x4b3], 0
mov byte [rsp + 0x4b4], 0
mov byte [rsp + 0x4b5], 0
mov byte [rsp + 0x4b6], 0
mov byte [rsp + 0x4b7], 0
mov byte [rsp + 0x4b8], 0
mov byte [rsp + 0x4b9], 0
mov byte [rsp + 0x4ba], 0
mov byte [rsp + 0x4bb], 0
mov byte [rsp + 0x4bc], 0
mov byte [rsp + 0x4bd], 0
mov byte [rsp + 0x4be], 0
mov byte [rsp + 0x4bf], 0
mov byte [rsp + 0x4c0], 0
mov dword [rsp + 0x440], 0
mov dword [rsp + 0x444], 0
mov dword [rsp + 0x448], 0
mov dword [rsp + 0x44c], 0
mov dword [rsp + 0x450], 0
mov dword [rsp + 0x454], 0
mov dword [rsp + 0x458], 0
mov dword [rsp + 0x45c], 0
mov dword [rsp + 0x460], 0
mov dword [rsp + 0x464], 0
mov dword [rsp + 0x468], 0
mov dword [rsp + 0x46c], 0
mov dword [rsp + 0x470], 0
mov dword [rsp + 0x474], 0
mov dword [rsp + 0x478], 0
mov dword [rsp + 0x47c], 0
test al, al
mov r13, qword [rsp + 0xf0]
je 0x140053d2e
cmp rbx, r12
je 0x140053d44
mov qword [rdi], rbx
mov qword [rdi + 8], r13
mov rax, qword [rsp + 0xe8]
mov qword [rdi + 0x10], rax
jmp 0x140053d4b
test rbx, rbx
je 0x140053d44
mov rcx, qword [0x141ada118]
xor edx, edx
mov r8, r13
call fcn.1401cdfe4
mov byte [rdi + 8], 0x13
mov qword [rdi], r12
mov byte [rsp + 0x70], 0
mov byte [rsp + 0xa0], 0
mov byte [rsp + 0x90], 0
mov byte [rsp + 0x9f], 0
mov byte [rsp + 0x80], 0
mov byte [rsp + 0x9e], 0
mov byte [rsp + 0x8e], 0
mov byte [rsp + 0x9d], 0
mov byte [rsp + 0x68], 0
mov byte [rsp + 0x9c], 0
mov byte [rsp + 0x8c], 0
mov byte [rsp + 0x9b], 0
mov byte [rsp + 0x7c], 0
mov byte [rsp + 0x9a], 0
mov byte [rsp + 0x8a], 0
mov byte [rsp + 0x99], 0
mov byte [rsp + 0x60], 0
mov byte [rsp + 0x98], 0
mov byte [rsp + 0x88], 0
mov byte [rsp + 0x97], 0
mov byte [rsp + 0x78], 0
mov byte [rsp + 0x96], 0
mov byte [rsp + 0x86], 0
mov byte [rsp + 0x95], 0
mov byte [rsp + 0x58], 0
mov byte [rsp + 0x94], 0
mov byte [rsp + 0x84], 0
mov byte [rsp + 0x93], 0
mov byte [rsp + 0x74], 0
mov byte [rsp + 0x92], 0
mov byte [rsp + 0x82], 0
mov byte [rsp + 0x91], 0
test r14, r14
jne 0x140051aa8
jmp 0x140051ab9
ud2