Function at 0x1401aa498
Capabilities:
Encode data using xor
Encrypt data using chaskey

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
mov qword [rax + 0x18], r8
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x47]
sub rsp, 0xe0
mov rbx, qword [rbp + 0x6f]
xor r12d, r12d
mov rdi, qword [rbp + 0x77]
mov r9d, r12d
mov r14, rdx
mov rsi, rcx
movzx ecx, byte [rbx + 0x3f]
movzx eax, byte [rbx + 0x2f]
add ecx, 0x1f
movzx r8d, byte [rbx + 0x38]
add eax, r9d
add ecx, eax
shl r8d, 0xa
add r8d, 0xfffc7104
add r8d, r9d
mov eax, dword [rdi + r8*4]
lea r8d, [r9 + 0x7d0]
mov dword [rdi + rcx*4], eax
movzx ecx, byte [rbx + 0x52]
movzx eax, byte [rbx + 0x32]
add ecx, 0x40
movzx edx, byte [rbx + 0x7e]
add edx, r9d
add edx, ecx
movzx ecx, byte [rbx + 0x4f]
shl ecx, 8
or ecx, eax
lea eax, [r8 - 0x608]
xor ecx, 0x816d
add ecx, r9d
mov ecx, dword [rdi + rcx*4]
xor dword [rdi + rdx*4], ecx
mov eax, dword [rdi + rax*4]
movzx edx, byte [rbx + 0x34]
shl edx, 0xd
add edx, 0xffeba130
add edx, r9d
xor dword [rdi + rdx*4], eax
movzx eax, byte [rbx + 0x59]
shl eax, 0xb
add eax, 0xfffcb130
add eax, r9d
mov eax, dword [rdi + rax*4]
mov dword [rdi + r8*4], eax
movzx ecx, byte [rbx + 0x5e]
movzx eax, byte [rbx + 0x46]
movzx edx, byte [rbx + 0x33]
shl ecx, 8
shl edx, 8
or edx, eax
movzx eax, byte [rbx + 0x1d]
or ecx, eax
xor edx, 0xf7a5
xor ecx, 0x5819
add edx, r9d
add ecx, r9d
mov ecx, dword [rdi + rcx*4]
xor dword [rdi + rdx*4], ecx
movzx ecx, byte [rbx + 3]
movzx edx, byte [rbx + 0xa]
add ecx, 0xd2
movzx eax, byte [rbx + 0x77]
add edx, r9d
add edx, ecx
add eax, r9d
movzx ecx, byte [rbx + 0x75]
inc r9d
add ecx, 0x69f
add ecx, eax
mov ecx, dword [rdi + rcx*4]
xor dword [rdi + rdx*4], ecx
cmp r9d, 0x20
jb 0x1401aa4d3
lea rcx, [rbp + 0xf]
mov dword [rbp + 0x17], r12d
mov qword [rbp + 0xf], rbx
call fcn.14019c7b8
mov qword [rbp - 1], rax
lea rcx, [rbp - 1]
mov dword [rbp + 7], r12d
lea rax, [rdi + 0x2460]
movaps xmm0, xmmword [rbp - 1]
movdqa xmmword [rbp - 0x41], xmm0
mov qword [rbp - 1], rax
mov dword [rbp + 7], r12d
call fcn.14019c7b8
mov qword [rbp - 0x11], rax
lea r13, [rdi + 0x5f0]
mov dword [rbp - 9], r12d
lea rcx, [rbp - 0x11]
movaps xmm0, xmmword [rbp - 0x11]
movdqa xmmword [rbp - 0x21], xmm0
mov dword [rbp - 9], r12d
mov qword [rbp - 0x11], r13
call fcn.14019c7b8
mov qword [rbp - 0x51], rax
lea rcx, [rbp - 0x51]
mov dword [rbp - 0x49], r12d
lea rax, [rdi + 0x410]
movaps xmm0, xmmword [rbp - 0x51]
movdqa xmmword [rbp - 0x31], xmm0
mov qword [rbp - 0x51], rax
mov dword [rbp - 0x49], r12d
call fcn.14019c7b8
mov qword [rsp + 0x30], rax
lea r9, [rbp - 0x21]
mov dword [rsp + 0x38], r12d
lea rax, [rbp - 0x41]
movaps xmm0, xmmword [rsp + 0x30]
lea r8, [rbp - 0x31]
mov dword [rsp + 0x28], 0x20
lea rdx, [rsp + 0x30]
mov rcx, rsi
movdqa xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x20], rax
call fcn.1401ae398
movzx ecx, byte [rbx + 0x26]
mov r9, r14
movzx edx, byte [rbx + 0x54]
add ecx, 0x29b
movzx eax, byte [rbx + 0x46]
add edx, ecx
movzx ecx, byte [rbx + 0x5a]
mov r15, qword [rbp + 0x7f]
shl ecx, 8
or ecx, eax
mov qword [rsp + 0x28], r15
xor ecx, 0x8fe4
mov qword [rsp + 0x20], rdi
call fcn.1401a6b98
lea rcx, [rbp - 0x51]
mov dword [rbp - 0x49], r12d
mov qword [rbp - 0x51], rbx
call fcn.14019c7b8
mov qword [rsp + 0x30], rax
lea rcx, [rbp - 0x69]
lea rax, [rdi + 0x1d50]
mov dword [rsp + 0x38], r12d
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rbp - 0x31], xmm0
mov qword [rbp - 0x69], rax
mov dword [rbp - 0x61], r12d
call fcn.14019c7b8
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x40]
lea rax, [rdi + 0x1ca0]
mov dword [rsp + 0x38], r12d
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rbp - 0x21], xmm0
mov qword [rsp + 0x40], rax
mov dword [rbp - 0x79], r12d
call fcn.14019c7b8
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x38], r12d
movaps xmm0, xmmword [rsp + 0x30]
lea rcx, [rbp - 0x75]
mov dword [rbp - 0x6d], r12d
lea r12, [rdi + 0x14f0]
mov qword [rbp - 0x75], r12
movdqa xmmword [rbp - 0x41], xmm0
call fcn.14019c7b8
and dword [rsp + 0x38], 0
lea r9, [rbp - 0x21]
mov qword [rsp + 0x30], rax
lea r8, [rbp - 0x41]
movaps xmm0, xmmword [rsp + 0x30]
lea rax, [rbp - 0x31]
mov dword [rsp + 0x28], 0x20
lea rdx, [rsp + 0x30]
mov rcx, rsi
movdqa xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x20], rax
call fcn.1401ae398
xor r11d, r11d
mov r10d, r11d
movzx eax, byte [rbx + 0x70]
lea r9d, [r10 + 0x104]
movzx edx, byte [rbx + 0x5c]
lea ecx, [r9 - 0x100]
shl edx, 8
or edx, eax
xor edx, 0x3dc6
add edx, r10d
mov eax, dword [rdi + rdx*4]
mov dword [rdi + rcx*4], eax
movzx eax, byte [rbx + 0x39]
add eax, 0xffffff76
lea ecx, [r10 + rax*4]
movzx eax, byte [rbx + 0x10]
shl eax, 7
add eax, 0xfffffcdc
add eax, r10d
mov eax, dword [rdi + rax*4]
xor dword [rdi + rcx*4], eax
movzx eax, byte [rbx + 0x63]
movzx edx, byte [rbx + 5]
shl edx, 5
add edx, 0xffffee04
lea ecx, [rax*8 - 0x4cc]
add edx, r10d
add ecx, r10d
mov ecx, dword [rdi + rcx*4]
xor dword [rdi + rdx*4], ecx
movzx r8d, byte [rbx + 0x62]
movzx eax, byte [rbx + 0x3a]
add r8d, r10d
movzx ecx, byte [rbx + 0x33]
add eax, 0xffffffe5
add ecx, 0xfffffe24
add r8d, ecx
lea ecx, [r10 + rax*4]
mov eax, dword [rdi + r8*4]
lea r8d, [r9 + 0x624]
mov dword [rdi + rcx*4], eax
movzx eax, byte [rbx + 0x68]
movzx ecx, byte [rbx + 0xb]
add eax, r10d
add ecx, 0x888
add ecx, eax
mov ecx, dword [rdi + rcx*4]
xor dword [rdi + r9*4], ecx
movzx eax, byte [rbx + 0x55]
movzx ecx, byte [rbx + 0x6e]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x4b]
xor ecx, 0x4b9
shl eax, 8
add ecx, r10d
add eax, 0xffffa904
add eax, r10d
mov eax, dword [rdi + rax*4]
xor dword [rdi + rcx*4], eax
movzx ecx, byte [rbx + 0x4f]
movzx edx, byte [rbx + 0x58]
shl ecx, 8
or edx, ecx
xor edx, 0x8127
add edx, r10d
lea eax, [rcx - 0x76c4]
add eax, r10d
mov eax, dword [rdi + rax*4]
xor dword [rdi + rdx*4], eax
movzx eax, byte [rbx + 0x4a]
movzx ecx, byte [rbx + 0x16]
shl ecx, 8
or ecx, eax
mov eax, dword [rdi + r8*4]
xor ecx, 0x13dc
add ecx, r10d
mov dword [rdi + rcx*4], eax
movzx edx, byte [rbx + 0x3c]
movzx ecx, byte [rbx + 0x1b]
add edx, r10d
add ecx, 0x6b9
add edx, ecx
movzx ecx, byte [rbx + 0x2d]
movzx eax, byte [rbx + 0x51]
shl ecx, 8
or ecx, eax
xor ecx, 0x44e6
add ecx, r10d
mov ecx, dword [rdi + rcx*4]
xor dword [rdi + rdx*4], ecx
lea edx, [r9 + 0x138]
movzx ecx, byte [rbx + 0x2b]
movzx eax, byte [rbx + 0x3b]
shl ecx, 8
or ecx, eax
mov eax, dword [rdi + r8*4]
xor ecx, 0x3ea7
add ecx, r10d
xor dword [rdi + rcx*4], eax
movzx ecx, byte [rbx + 0x10]
movzx eax, byte [rbx + 0x56]
add ecx, 0x60f
add eax, r10d
add ecx, eax
mov ecx, dword [rdi + rcx*4]
xor dword [rdi + rdx*4], ecx
mov edx, dword [rdi + rdx*4]
movzx ecx, byte [rbx + 5]
movzx eax, byte [rbx + 0x17]
add ecx, 0x51c
add eax, r10d
add ecx, eax
xor dword [rdi + rcx*4], edx
movzx ecx, byte [rbx + 0x58]
movzx eax, byte [rbx + 0x6b]
movzx edx, byte [rbx + 0x10]
shl ecx, 8
or ecx, eax
shl edx, 0xd
xor ecx, 0x25b7
add edx, 0xffff023c
add ecx, r10d
add edx, r10d
mov ecx, dword [rdi + rcx*4]
xor dword [rdi + rdx*4], ecx
movzx ecx, byte [rbx + 0x12]
movzx eax, byte [rbx + 0xf]
movzx edx, byte [rbx]
shl ecx, 8
or ecx, eax
shl edx, 0xb
xor ecx, 0xdd57
add edx, 0xfffec098
add ecx, r10d
add edx, r10d
inc r10d
mov ecx, dword [rdi + rcx*4]
xor dword [rdi + rdx*4], ecx
cmp r10d, 0x20
jb 0x1401aa7a6
lea rcx, [rbp - 0x75]
mov dword [rbp - 0x6d], r11d
mov qword [rbp - 0x75], rbx
call fcn.14019c7b8
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x40]
lea rax, [rdi + 0x2260]
mov dword [rsp + 0x38], r11d
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rbp - 0x31], xmm0
mov qword [rsp + 0x40], rax
mov dword [rbp - 0x79], r11d
call fcn.14019c7b8
mov qword [rsp + 0x30], rax
lea rcx, [rbp - 0x69]
lea rax, [rdi + 0x24f0]
mov dword [rsp + 0x38], r11d
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rbp - 0x21], xmm0
mov qword [rbp - 0x69], rax
mov dword [rbp - 0x61], r11d
call fcn.14019c7b8
mov qword [rsp + 0x30], rax
lea rcx, [rbp - 0x51]
lea rax, [rdi + 0x13d0]
mov dword [rsp + 0x38], r11d
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rbp - 0x41], xmm0
mov qword [rbp - 0x51], rax
mov dword [rbp - 0x49], r11d
call fcn.14019c7b8
mov qword [rsp + 0x30], rax
lea r9, [rbp - 0x21]
mov dword [rsp + 0x38], r11d
lea rax, [rbp - 0x31]
movaps xmm0, xmmword [rsp + 0x30]
lea r8, [rbp - 0x41]
mov dword [rsp + 0x28], 0x20
lea rdx, [rsp + 0x30]
mov rcx, rsi
movdqa xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x20], rax
call fcn.1401ae398
xor r9d, r9d
movzx eax, byte [rbx + 0x3e]
movzx r8d, byte [rbx + 0x33]
movzx ecx, byte [rbx + 0x27]
add ecx, 0xffffffbe
shl r8d, 8
or r8d, eax
movzx eax, byte [rbx + 0x66]
add eax, r9d
xor r8d, 0xf40a
add ecx, eax
add r8d, r9d
mov eax, dword [rdi + r8*4]
mov dword [rdi + rcx*4], eax
movzx eax, byte [rbx + 0x39]
movzx ecx, byte [rbx + 0x16]
add eax, r9d
add ecx, eax
movzx eax, byte [rbx + 0x6c]
shl eax, 0xa
add eax, 0xfffdc984
add eax, r9d
mov eax, dword [rdi + rax*4]
xor dword [rdi + rcx*4], eax
movzx edx, byte [rbx + 0x1c]
movzx eax, byte [rbx + 0x2b]
movzx ecx, byte [rbx + 7]
shl ecx, 8
shl edx, 8
or edx, eax
movzx eax, byte [rbx + 0x5c]
or ecx, eax
xor edx, 0x55cd
xor ecx, 0xdf30
add edx, r9d
add ecx, r9d
mov eax, dword [rdi + rdx*4]
mov dword [rdi + rcx*4], eax
movzx ecx, byte [rbx + 0x1a]
movzx eax, byte [rbx + 0x6b]
movzx edx, byte [rbx + 0x51]
shl ecx, 8
or ecx, eax
shl edx, 4
xor ecx, 0x3bc3
add edx, 0x2e8
add ecx, r9d
add edx, r9d
inc r9d
mov ecx, dword [rdi + rcx*4]
xor dword [rdi + rdx*4], ecx
cmp r9d, 0x20
jb 0x1401aaa89
movzx ecx, byte [rbx + 0x74]
mov r9, r14
movzx edx, byte [rbx + 0x6f]
add ecx, 0x1bcf
movzx eax, byte [rbx + 2]
add edx, 0x2d0
add ecx, eax
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rdi
call fcn.1401a6b98
xor r10d, r10d
lea r9, [rdi + 0xdd0]
mov r8d, r10d
mov rdx, r9
movzx ecx, byte [rbx + 0xf]
movzx eax, byte [rbx + 0x59]
add ecx, 0x2a3
add eax, r8d
add ecx, eax
mov ecx, dword [rdi + rcx*4]
xor dword [rdx + 0x15f0], ecx
movzx ecx, byte [rbx + 0x49]
movzx eax, byte [rbx + 0x6d]
add ecx, 0x5f
add eax, r8d
inc r8d
add ecx, eax
mov ecx, dword [rdi + rcx*4]
xor dword [rdx], ecx
lea rdx, [rdx + 4]
cmp r8d, 0x20
jb 0x1401aab83
lea rcx, [rbp - 0x75]
mov dword [rbp - 0x6d], r10d
mov qword [rbp - 0x75], rbx
call fcn.14019c7b8
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x40]
lea rax, [rdi + 0x1470]
mov dword [rsp + 0x38], r10d
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rbp - 0x31], xmm0
mov qword [rsp + 0x40], rax
mov dword [rbp - 0x79], r10d
call fcn.14019c7b8
mov qword [rsp + 0x30], rax
lea rcx, [rbp - 0x69]
mov dword [rsp + 0x38], r10d
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rbp - 0x21], xmm0
mov dword [rbp - 0x61], r10d
mov qword [rbp - 0x69], r12
call fcn.14019c7b8
xor r12d, r12d
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x38], r12d
lea rcx, [rbp - 0x51]
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rbp - 0x41], xmm0
mov dword [rbp - 0x49], r12d
mov qword [rbp - 0x51], r9
call fcn.14019c7b8
mov qword [rsp + 0x30], rax
lea r9, [rbp - 0x21]
mov dword [rsp + 0x38], r12d
lea rax, [rbp - 0x31]
movaps xmm0, xmmword [rsp + 0x30]
lea r8, [rbp - 0x41]
mov dword [rsp + 0x28], 0x20
lea rdx, [rsp + 0x30]
mov rcx, rsi
movdqa xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x20], rax
call fcn.1401ae398
mov r10d, r12d
movzx ecx, byte [rbx + 0x10]
lea r8d, [r10 + 0x7f0]
movzx eax, byte [rbx + 0x4e]
add ecx, 0x2a2
add eax, r10d
add ecx, eax
mov ecx, dword [rdi + rcx*4]
mov dword [rdi + r8*4], ecx
movzx ecx, byte [rbx + 0x2a]
movzx eax, byte [rbx + 0x5c]
shl ecx, 8
or ecx, eax
lea eax, [r8 - 0x674]
xor ecx, 0x13e8
mov eax, dword [rdi + rax*4]
add ecx, r10d
xor dword [rdi + rcx*4], eax
movzx ecx, byte [rbx + 0x51]
movzx eax, byte [rbx + 0x11]
add ecx, 0x781
movzx edx, byte [rbx + 6]
shl edx, 8
or edx, eax
movzx eax, byte [rbx + 0x6e]
xor edx, 0x50bf
add eax, r10d
add ecx, eax
add edx, r10d
mov ecx, dword [rdi + rcx*4]
xor dword [rdi + rdx*4], ecx
movzx eax, byte [rbx + 0x4d]
movzx ecx, byte [rbx + 0xb]
movzx edx, byte [rbx + 9]
add ecx, 0x715
shl edx, 8
or edx, eax
movzx eax, byte [rbx + 0x34]
add eax, r10d
xor edx, 0x21ba
add ecx, eax
add edx, r10d
mov ecx, dword [rdi + rcx*4]
xor dword [rdi + rdx*4], ecx
movzx eax, byte [rbx + 0x65]
shl eax, 8
add eax, 0xffffb4d0
add eax, r10d
mov eax, dword [rdi + rax*4]
xor dword [rdi + r8*4], eax
movzx eax, byte [rbx + 4]
movzx ecx, byte [rbx + 1]
movzx edx, byte [rbx + 0xe]
shl edx, 8
or edx, eax
shl ecx, 8
movzx eax, byte [rbx + 0x12]
xor edx, 0xfe82
or ecx, eax
add edx, r10d
xor ecx, 0x86a1
add ecx, r10d
inc r10d
mov ecx, dword [rdi + rcx*4]
xor dword [rdi + rdx*4], ecx
cmp r10d, 0x20
jb 0x1401aac8b
lea rcx, [rbp - 0x75]
mov dword [rbp - 0x6d], r12d
mov qword [rbp - 0x75], rbx
call fcn.14019c7b8
mov qword [rsp + 0x30], rax
lea rdx, [rdi + 0x1610]
mov dword [rsp + 0x38], r12d
lea rcx, [rsp + 0x40]
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rbp - 0x31], xmm0
mov dword [rbp - 0x79], r12d
mov qword [rsp + 0x40], rdx
call fcn.14019c7b8
mov qword [rsp + 0x30], rax
lea rcx, [rbp - 0x69]
mov dword [rsp + 0x38], r12d
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rbp - 0x21], xmm0
mov dword [rbp - 0x61], r12d
mov qword [rbp - 0x69], rdx
call fcn.14019c7b8
mov qword [rsp + 0x30], rax
lea rcx, [rbp - 0x51]
lea rax, [rdi + 0x1ac0]
mov dword [rsp + 0x38], r12d
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rbp - 0x41], xmm0
mov qword [rbp - 0x51], rax
mov dword [rbp - 0x49], r12d
call fcn.14019c7b8
mov qword [rsp + 0x30], rax
lea r9, [rbp - 0x21]
mov dword [rsp + 0x38], r12d
lea rax, [rbp - 0x31]
movaps xmm0, xmmword [rsp + 0x30]
lea r8, [rbp - 0x41]
mov dword [rsp + 0x28], 0x20
lea rdx, [rsp + 0x30]
mov rcx, rsi
movdqa xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x20], rax
call fcn.1401ae398
mov r10d, r12d
movzx ecx, byte [rbx + 0x14]
lea r9d, [r10 + 0x878]
movzx edx, byte [rbx + 0x54]
add ecx, 0x5a6
add edx, r10d
add edx, ecx
movzx ecx, byte [rbx + 0x34]
shl ecx, 0xa
add ecx, 0xfffd76bc
add ecx, r10d
mov eax, dword [rdi + rdx*4]
mov dword [rdi + rcx*4], eax
movzx eax, byte [rbx + 0x70]
movzx ecx, byte [rbx + 0x21]
shl ecx, 8
or ecx, eax
lea eax, [r9 - 0x88]
mov eax, dword [rdi + rax*4]
xor ecx, 0x246
add ecx, r10d
xor dword [rdi + rcx*4], eax
movzx ecx, byte [rbx + 0xf]
movzx eax, byte [rbx + 0x69]
add ecx, 0x574
movzx r8d, byte [rbx + 0x4c]
add eax, r10d
add ecx, eax
shl r8d, 0xd
add r8d, 0xffed26b0
add r8d, r10d
mov eax, dword [rdi + r8*4]
mov dword [rdi + rcx*4], eax
movzx ecx, byte [rbx + 0xc]
movzx eax, byte [rbx + 0x2f]
add ecx, 0x4fe
movzx edx, byte [rbx + 0x4a]
add eax, r10d
add edx, r10d
add edx, ecx
movzx ecx, byte [rbx + 0x3f]
add ecx, 0x617
add ecx, eax
mov ecx, dword [rdi + rcx*4]
xor dword [rdi + rdx*4], ecx
movzx eax, byte [rbx + 0x70]
movzx ecx, byte [rbx + 0xb]
add eax, r10d
add ecx, 0x5f6
add ecx, eax
movzx eax, byte [rbx + 0x55]
shl eax, 4
add eax, 0xfffffe40
add eax, r10d
mov eax, dword [rdi + rax*4]
xor dword [rdi + rcx*4], eax
movzx ecx, byte [rbx + 0x11]
movzx eax, byte [rbx + 3]
shl ecx, 8
or ecx, eax
xor ecx, 0x4c4b
add ecx, r10d
mov ecx, dword [rdi + rcx*4]
mov dword [rdi + r9*4], ecx
movzx eax, byte [rbx + 0x4e]
movzx edx, byte [rbx + 4]
shl eax, 0xb
shl edx, 9
add eax, 0xfff9b5f0
add edx, 0xffff6478
add eax, r10d
add edx, r10d
mov eax, dword [rdi + rax*4]
xor dword [rdi + rdx*4], eax
movzx ecx, byte [rbx + 9]
movzx eax, byte [rbx + 0x4b]
shl ecx, 8
or ecx, eax
xor ecx, 0x23a8
add ecx, r10d
mov ecx, dword [rdi + rcx*4]
xor dword [rdi + r9*4], ecx
movzx eax, byte [rbx + 0x1e]
movzx edx, byte [rbx + 0x37]
movzx ecx, byte [rbx + 0xa]
add edx, r10d
add ecx, 0x724
add edx, ecx
movzx ecx, byte [rbx + 0x7f]
shl ecx, 8
or ecx, eax
xor ecx, 0xd11d
mov eax, dword [rdi + rdx*4]
add ecx, r10d
mov dword [rdi + rcx*4], eax
movzx eax, byte [rbx + 0x17]
movzx ecx, byte [rbx + 0x6d]
add eax, r10d
add ecx, 0x319
add ecx, eax
lea eax, [r9 - 0x54c]
mov eax, dword [rdi + rax*4]
xor dword [rdi + rcx*4], eax
lea eax, [r9 - 0x404]
movzx edx, byte [rbx + 0x2a]
mov eax, dword [rdi + rax*4]
shl edx, 0xe
add edx, 0xfffb0618
add edx, r10d
xor dword [rdi + rdx*4], eax
movzx ecx, byte [rbx + 4]
movzx edx, byte [rbx + 0x16]
add ecx, 0x411
movzx eax, byte [rbx + 0x1f]
add edx, r10d
add edx, ecx
movzx ecx, byte [rbx + 0x22]
shl ecx, 8
or ecx, eax
xor ecx, 0x479e
add ecx, r10d
inc r10d
mov ecx, dword [rdi + rcx*4]
xor dword [rdi + rdx*4], ecx
cmp r10d, 0x20
jb 0x1401aae50
movzx ecx, byte [rbx + 0x2b]
mov r9, r14
movzx edx, byte [rbx + 0x25]
movzx eax, byte [rbx + 0x7f]
shl ecx, 8
or ecx, eax
shl edx, 0xe
xor ecx, 0x1922
mov qword [rsp + 0x28], r15
sub edx, 0x373dd5
mov qword [rsp + 0x20], rdi
call fcn.1401a6b98
lea rcx, [rbp - 0x75]
mov dword [rbp - 0x6d], r12d
mov qword [rbp - 0x75], rbx
call fcn.14019c7b8
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x40]
lea rax, [rdi + 0x2040]
mov dword [rsp + 0x38], r12d
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rbp - 0x31], xmm0
mov qword [rsp + 0x40], rax
mov dword [rbp - 0x79], r12d
call fcn.14019c7b8
mov qword [rsp + 0x30], rax
lea rcx, [rbp - 0x69]
mov dword [rsp + 0x38], r12d
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rbp - 0x21], xmm0
mov dword [rbp - 0x61], r12d
mov qword [rbp - 0x69], r13
call fcn.14019c7b8
mov qword [rsp + 0x30], rax
lea r9, [rbp - 0x21]
mov rax, qword [rbp + 0x5f]
lea r8, [rbp - 0x41]
mov dword [rsp + 0x38], r12d
lea rdx, [rsp + 0x30]
movaps xmm0, xmmword [rsp + 0x30]
mov rcx, rsi
mov dword [rsp + 0x28], 0x20
movaps xmm1, xmmword [rax]
lea rax, [rbp - 0x31]
mov qword [rsp + 0x20], rax
movdqa xmmword [rbp - 0x41], xmm0
movdqa xmmword [rsp + 0x30], xmm1
call fcn.1401ae398
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret