Function at 0x14019f848
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, 0xb0
mov rbx, qword [rbp + 0x6f]
xor r14d, r14d
mov rdi, qword [rbp + 0x77]
mov r9d, r14d
mov r12, 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 0x14019f883
mov rax, qword [0x14045d6d8]
lea rdx, [rdi + 0x2460]
mov qword [rbp + 0xf], rdx
lea r15, [rdi + 0x5f0]
mov dword [rbp - 9], r14d
lea r9, [rbp - 0x61]
mov dword [rbp - 0x59], r14d
mov rcx, r14
mov r8d, dword [rax]
lea rax, [rbp - 1]
add rax, r8
mov dword [rbp - 0x49], r14d
mov qword [rbp - 0x11], rax
lea rax, [rbp + 0xf]
movaps xmm0, xmmword [rbp - 0x11]
add rax, r8
test rdx, rdx
mov dword [rbp - 0x39], r14d
lea rdx, [rdi + 0x410]
movdqa xmmword [rbp - 0x11], xmm0
cmovne rcx, rax
mov qword [rbp - 0x25], rdx
mov qword [rbp - 0x61], rcx
lea rax, [rbp - 0x31]
movaps xmm1, xmmword [rbp - 0x61]
add rax, r8
test r15, r15
movdqa xmmword [rbp - 0x61], xmm1
mov rcx, r14
mov dword [rsp + 0x28], 0x20
cmovne rcx, rax
mov dword [rbp + 7], r14d
mov qword [rbp - 0x51], rcx
lea rax, [rbp - 0x25]
movaps xmm0, xmmword [rbp - 0x51]
add rax, r8
test rdx, rdx
mov qword [rbp - 1], rbx
mov rcx, r14
mov dword [rbp + 0x17], r14d
cmovne rcx, rax
mov dword [rbp - 0x29], r14d
mov qword [rbp - 0x41], rcx
lea rax, [rbp - 0x11]
movaps xmm1, xmmword [rbp - 0x41]
lea r8, [rbp - 0x51]
lea rdx, [rbp - 0x41]
movdqa xmmword [rbp - 0x41], xmm1
mov rcx, rsi
mov qword [rbp - 0x31], r15
mov dword [rbp - 0x1d], r14d
movdqa xmmword [rbp - 0x51], xmm0
mov qword [rsp + 0x20], rax
call fcn.1401a45ac
movzx ecx, byte [rbx + 0x26]
mov r9, r12
movzx edx, byte [rbx + 0x54]
add ecx, 0x29b
movzx eax, byte [rbx + 0x46]
add edx, ecx
movzx ecx, byte [rbx + 0x5a]
mov r13, qword [rbp + 0x7f]
shl ecx, 8
or ecx, eax
mov qword [rsp + 0x28], r13
xor ecx, 0x8fe4
mov qword [rsp + 0x20], rdi
call fcn.1401a0900
mov rax, qword [0x14045d6d8]
lea rdx, [rdi + 0x1d50]
mov dword [rbp - 0x1d], r14d
mov qword [rbp - 0x25], rbx
mov dword [rbp - 0x39], r14d
mov r8d, dword [rax]
lea rax, [rbp - 0x25]
add rax, r8
mov dword [rbp - 0x29], r14d
mov qword [rbp - 0x41], rax
lea rax, [rbp - 0x31]
add rax, r8
mov qword [rbp - 0x31], rdx
movaps xmm0, xmmword [rbp - 0x41]
lea r9, [rbp - 0x51]
test rdx, rdx
mov dword [rbp - 0x49], r14d
mov dword [rbp - 0x59], r14d
lea rdx, [rdi + 0x1ca0]
mov rcx, r14
mov dword [rbp + 0x17], r14d
cmovne rcx, rax
mov dword [rbp + 7], r14d
mov qword [rbp - 0x51], rcx
lea rax, [rbp + 0xf]
movaps xmm1, xmmword [rbp - 0x51]
add rax, r8
test rdx, rdx
movdqa xmmword [rbp - 0x41], xmm0
mov rcx, r14
movdqa xmmword [rbp - 0x51], xmm1
cmovne rcx, rax
mov qword [rbp + 0xf], rdx
mov qword [rbp - 0x61], rcx
lea r14, [rdi + 0x14f0]
movaps xmm0, xmmword [rbp - 0x61]
lea rax, [rbp - 1]
add rax, r8
mov dword [rsp + 0x28], 0x20
xor ecx, ecx
mov qword [rbp - 1], r14
test r14, r14
movdqa xmmword [rbp - 0x61], xmm0
lea r8, [rbp - 0x61]
cmovne rcx, rax
lea rdx, [rbp - 0x11]
and dword [rbp - 9], 0
lea rax, [rbp - 0x41]
mov qword [rbp - 0x11], rcx
mov rcx, rsi
movaps xmm1, xmmword [rbp - 0x11]
movdqa xmmword [rbp - 0x11], xmm1
mov qword [rsp + 0x20], rax
call fcn.1401a45ac
xor r11d, r11d
mov r10d, r11d
movzx eax, byte [rbx + 0x70]
lea r8d, [r10 + 0x104]
movzx edx, byte [rbx + 0x5c]
lea ecx, [r8 - 0x100]
shl edx, 8
or edx, eax
mov r9d, r8d
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 + 0x33]
movzx eax, byte [rbx + 0x3a]
add r8d, r10d
movzx ecx, byte [rbx + 0x62]
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 + 0x1b]
movzx ecx, byte [rbx + 0x3c]
add edx, r10d
add ecx, 0x6b9
add edx, ecx
movzx eax, byte [rbx + 0x51]
movzx ecx, byte [rbx + 0x2d]
shl ecx, 8
or ecx, eax
xor ecx, 0x44e6
add ecx, r10d
mov ecx, dword [rdi + rcx*4]
xor dword [rdi + rdx*4], ecx
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
lea r8d, [r9 + 0x138]
add ecx, r10d
xor dword [rdi + rcx*4], eax
movzx ecx, byte [rbx + 0x56]
movzx eax, byte [rbx + 0x10]
add ecx, 0x60f
add eax, r10d
add ecx, eax
mov edx, dword [rdi + rcx*4]
xor edx, dword [rdi + r8*4]
mov dword [rdi + r8*4], edx
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 0x14019fb80
mov rax, qword [0x14045d6d8]
lea rdx, [rdi + 0x2260]
mov dword [rbp - 0x39], r11d
lea r9, [rbp - 0x51]
mov dword [rbp - 0x49], r11d
mov rcx, r11
mov dword [rbp - 0x59], r11d
mov r8d, dword [rax]
lea rax, [rbp - 0x11]
add rax, r8
mov qword [rbp - 0x25], rdx
mov qword [rbp - 0x41], rax
lea rax, [rbp - 0x25]
movaps xmm0, xmmword [rbp - 0x41]
add rax, r8
test rdx, rdx
mov dword [rbp + 7], r11d
lea rdx, [rdi + 0x24f0]
movdqa xmmword [rbp - 0x41], xmm0
cmovne rcx, rax
mov qword [rbp - 0x31], rdx
mov qword [rbp - 0x51], rcx
lea rax, [rbp - 0x31]
movaps xmm1, xmmword [rbp - 0x51]
add rax, r8
test rdx, rdx
movdqa xmmword [rbp - 0x51], xmm1
lea rdx, [rdi + 0x13d0]
mov dword [rsp + 0x28], 0x20
mov rcx, r11
mov qword [rbp + 0xf], rdx
cmovne rcx, rax
mov dword [rbp - 9], r11d
mov qword [rbp - 0x61], rcx
lea rax, [rbp + 0xf]
movaps xmm0, xmmword [rbp - 0x61]
add rax, r8
test rdx, rdx
mov qword [rbp - 0x11], rbx
mov rcx, r11
mov dword [rbp - 0x1d], r11d
cmovne rcx, rax
mov dword [rbp - 0x29], r11d
mov qword [rbp - 1], rcx
lea rax, [rbp - 0x41]
movaps xmm1, xmmword [rbp - 1]
lea r8, [rbp - 0x61]
lea rdx, [rbp - 1]
movdqa xmmword [rbp - 1], xmm1
mov rcx, rsi
mov dword [rbp + 0x17], r11d
movdqa xmmword [rbp - 0x61], xmm0
mov qword [rsp + 0x20], rax
call fcn.1401a45ac
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 0x14019fe78
movzx eax, byte [rbx + 2]
mov r9, r12
movzx edx, byte [rbx + 0x6f]
add eax, 0x1bcf
movzx ecx, byte [rbx + 0x74]
add edx, 0x2d0
add ecx, eax
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rdi
call fcn.1401a0900
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 + 0x6d]
movzx eax, byte [rbx + 0x49]
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 0x14019ff71
mov rax, qword [0x14045d6d8]
lea rdx, [rdi + 0x1470]
mov dword [rbp - 0x39], r10d
mov rcx, r10
mov dword [rbp - 0x49], r10d
mov qword [rbp - 0x31], r14
mov r8d, dword [rax]
lea rax, [rbp - 0x11]
add rax, r8
mov qword [rbp - 0x25], rdx
mov qword [rbp - 0x41], rax
lea rax, [rbp - 0x25]
movaps xmm0, xmmword [rbp - 0x41]
add rax, r8
test rdx, rdx
movdqa xmmword [rbp - 0x41], xmm0
mov qword [rbp + 0xf], r9
lea rdx, [rbp - 1]
cmovne rcx, rax
mov dword [rsp + 0x28], 0x20
mov qword [rbp - 0x51], rcx
lea rax, [rbp - 0x31]
movaps xmm1, xmmword [rbp - 0x51]
add rax, r8
test r14, r14
movdqa xmmword [rbp - 0x51], xmm1
mov rcx, r10
mov dword [rbp - 9], r10d
cmovne rcx, rax
mov qword [rbp - 0x11], rbx
xor r14d, r14d
mov qword [rbp - 0x61], rcx
mov dword [rbp - 0x59], r14d
lea rax, [rbp + 0xf]
movaps xmm0, xmmword [rbp - 0x61]
add rax, r8
test r9, r9
mov dword [rbp + 7], r14d
mov ecx, r14d
mov dword [rbp - 0x1d], r10d
cmovne rcx, rax
mov dword [rbp - 0x29], r10d
mov qword [rbp - 1], rcx
lea rax, [rbp - 0x41]
movaps xmm1, xmmword [rbp - 1]
lea r9, [rbp - 0x51]
lea r8, [rbp - 0x61]
movdqa xmmword [rbp - 1], xmm1
mov rcx, rsi
mov dword [rbp + 0x17], r14d
movdqa xmmword [rbp - 0x61], xmm0
mov qword [rsp + 0x20], rax
call fcn.1401a45ac
mov r10d, r14d
movzx ecx, byte [rbx + 0x10]
lea r8d, [r10 + 0x17c]
movzx eax, byte [rbx + 0x4e]
lea r9d, [r8 + 0x674]
add ecx, 0x2a2
add eax, r10d
add ecx, eax
mov ecx, dword [rdi + rcx*4]
mov dword [rdi + r9*4], ecx
movzx eax, byte [rbx + 0x5c]
mov ecx, dword [rdi + r8*4]
movzx edx, byte [rbx + 0x2a]
shl edx, 8
or edx, eax
xor edx, 0x13e8
add edx, r10d
xor dword [rdi + rdx*4], ecx
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 + r9*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 0x1401a0089
mov rax, qword [0x14045d6d8]
lea rdx, [rdi + 0x1610]
mov dword [rbp - 0x39], r14d
lea r9, [rbp - 0x51]
mov dword [rbp - 0x49], r14d
mov rcx, r14
mov dword [rbp - 0x59], r14d
mov r8d, dword [rax]
lea rax, [rbp - 1]
add rax, r8
mov qword [rbp - 0x11], rdx
mov qword [rbp - 0x41], rax
lea rax, [rbp - 0x11]
movaps xmm0, xmmword [rbp - 0x41]
add rax, r8
test rdx, rdx
mov qword [rbp - 0x25], rdx
mov dword [rbp + 0x17], r14d
cmovne rcx, rax
movdqa xmmword [rbp - 0x41], xmm0
mov qword [rbp - 0x51], rcx
lea rax, [rbp - 0x25]
movaps xmm1, xmmword [rbp - 0x51]
add rax, r8
test rdx, rdx
movdqa xmmword [rbp - 0x51], xmm1
lea rdx, [rdi + 0x1ac0]
mov dword [rsp + 0x28], 0x20
mov qword [rbp - 0x31], rdx
mov rcx, r14
cmovne rcx, rax
mov dword [rbp + 7], r14d
mov qword [rbp - 0x61], rcx
lea rax, [rbp - 0x31]
movaps xmm0, xmmword [rbp - 0x61]
add rax, r8
test rdx, rdx
mov qword [rbp - 1], rbx
mov rcx, r14
mov dword [rbp - 9], r14d
cmovne rcx, rax
mov dword [rbp - 0x1d], r14d
mov qword [rbp + 0xf], rcx
lea rax, [rbp - 0x41]
movaps xmm1, xmmword [rbp + 0xf]
lea r8, [rbp - 0x61]
lea rdx, [rbp + 0xf]
movdqa xmmword [rbp + 0xf], xmm1
mov rcx, rsi
mov dword [rbp - 0x29], r14d
movdqa xmmword [rbp - 0x61], xmm0
mov qword [rsp + 0x20], rax
call fcn.1401a45ac
mov r10d, r14d
movzx ecx, byte [rbx + 0x14]
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, [r10 + 0x878]
xor ecx, 0x246
mov r9d, eax
add ecx, r10d
add eax, 0xffffff78
mov eax, dword [rdi + rax*4]
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 0x1401a025f
movzx ecx, byte [rbx + 0x2b]
mov r9, r12
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], r13
sub edx, 0x373dd5
mov qword [rsp + 0x20], rdi
call fcn.1401a0900
mov rax, qword [0x14045d6d8]
lea rdx, [rdi + 0x2040]
mov dword [rbp - 0x49], r14d
lea r9, [rbp - 0x51]
mov dword [rbp - 0x39], r14d
mov rcx, r14
mov dword [rbp - 0x59], r14d
mov r8d, dword [rax]
lea rax, [rbp - 0x11]
add rax, r8
mov qword [rbp - 0x25], rdx
mov qword [rbp - 0x41], rax
lea rax, [rbp - 0x25]
movaps xmm0, xmmword [rbp - 0x41]
add rax, r8
test rdx, rdx
movdqa xmmword [rbp - 0x41], xmm0
mov dword [rsp + 0x28], 0x20
lea rdx, [rbp + 0xf]
cmovne rcx, rax
mov dword [rbp - 9], r14d
mov qword [rbp - 0x51], rcx
lea rax, [rbp - 0x31]
movaps xmm1, xmmword [rbp - 0x51]
add rax, r8
test r15, r15
movdqa xmmword [rbp - 0x51], xmm1
mov rcx, r14
mov qword [rbp - 0x11], rbx
cmovne rcx, rax
mov dword [rbp - 0x1d], r14d
mov rax, qword [rbp + 0x5f]
lea r8, [rbp - 0x61]
mov qword [rbp - 0x61], rcx
mov rcx, rsi
movaps xmm0, xmmword [rbp - 0x61]
mov dword [rbp - 0x29], r14d
movaps xmm1, xmmword [rax]
lea rax, [rbp - 0x41]
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x31], r15
movdqa xmmword [rbp - 0x61], xmm0
movdqa xmmword [rbp + 0xf], xmm1
call fcn.1401a45ac
lea r11, [rsp + 0xb0]
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