Function at 0x14018e954
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x47]
sub rsp, 0xc0
mov rdi, qword [rbp + 0x6f]
mov r15, rdx
mov r12, qword [rbp + 0x7f]
mov rsi, rcx
mov rbx, qword [rbp + 0x77]
mov r9, r15
mov qword [rsp + 0x28], r12
mov r8, rdi
movzx r10d, byte [rdi + 0x45]
movzx edx, byte [rdi + 0x29]
add r10d, 0x2a2
movzx ecx, byte [rdi + 9]
add edx, r10d
movzx r10d, byte [rdi + 0x58]
add r10d, 0xcc0
mov qword [rsp + 0x20], rbx
add ecx, r10d
call fcn.140190d30
xor r13d, r13d
mov r8d, r13d
movzx eax, byte [rdi + 0x5a]
movzx ecx, byte [rdi + 0x2e]
shl eax, 5
shl ecx, 0x10
add eax, 0xfffff0fc
add ecx, 0xff9b0878
add eax, r8d
add ecx, r8d
inc r8d
mov eax, dword [rbx + rax*4]
mov dword [rbx + rcx*4], eax
cmp r8d, 0x20
jb 0x14018e9cc
mov rax, qword [0x14042f758]
lea rdx, [rbx + 0x1b70]
mov dword [rbp - 0x59], r13d
lea r14, [rbx + 0x14f0]
mov qword [rbp - 0x21], rdx
lea r9, [rbp - 0x31]
mov rcx, r13
mov dword [rsp + 0x28], 0x20
mov r8d, dword [rax]
lea rax, [rbp - 0x71]
add rax, r8
mov dword [rbp - 0x69], r13d
mov qword [rbp - 0x61], rax
lea rax, [rbp - 0x21]
movaps xmm0, xmmword [rbp - 0x61]
add rax, r8
test rdx, rdx
mov dword [rbp - 0x59], r13d
movdqa xmmword [rbp - 0x41], xmm0
lea rdx, [rbx + 0x21e0]
cmovne rcx, rax
mov qword [rbp - 0x11], rdx
mov qword [rbp - 0x61], rcx
lea rax, [rbp - 0x11]
movaps xmm0, xmmword [rbp - 0x61]
add rax, r8
mov dword [rbp - 0x59], r13d
test rdx, rdx
movdqa xmmword [rbp - 0x31], xmm0
lea rdx, [rbp - 0x61]
mov rcx, r13
mov qword [rbp - 0x71], rdi
cmovne rcx, rax
mov dword [rbp - 0x19], r13d
mov qword [rbp - 0x61], rcx
lea rax, [rbp - 1]
movaps xmm0, xmmword [rbp - 0x61]
add rax, r8
mov dword [rbp - 0x59], r13d
lea r8, [rbp - 0x51]
test r14, r14
movdqa xmmword [rbp - 0x51], xmm0
mov rcx, r13
mov dword [rbp - 9], r13d
cmovne rcx, rax
mov dword [rbp + 7], r13d
mov qword [rbp - 0x61], rcx
lea rax, [rbp - 0x41]
movaps xmm0, xmmword [rbp - 0x61]
mov rcx, rsi
movdqa xmmword [rbp - 0x61], xmm0
mov qword [rbp - 1], r14
mov qword [rsp + 0x20], rax
call fcn.140194010
mov r11d, r13d
movzx ecx, byte [rdi + 0x52]
lea r10d, [r11 + 0x55c]
movzx eax, byte [rdi + 0x13]
lea edx, [r10 - 0x2cc]
shl ecx, 8
or ecx, eax
xor ecx, 0x3ad7
add ecx, r11d
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + rdx*4], ecx
movzx eax, byte [rdi + 0x42]
shl eax, 4
add eax, 0xfffffde8
add eax, r11d
mov eax, dword [rbx + rax*4]
xor dword [rbx + r10*4], eax
movzx eax, byte [rdi + 0x5e]
movzx ecx, byte [rdi + 0x51]
movzx edx, byte [rdi + 0x6e]
shl ecx, 8
shl edx, 8
or edx, eax
movzx eax, byte [rdi + 0x36]
or ecx, eax
xor edx, 0x865
xor ecx, 0x4734
add edx, r11d
add ecx, r11d
mov eax, dword [rbx + rdx*4]
mov dword [rbx + rcx*4], eax
movzx ecx, byte [rdi + 0x7b]
movzx eax, byte [rdi + 0x15]
movzx edx, byte [rdi + 0x1d]
shl ecx, 8
add edx, 0x4f7
or ecx, eax
add edx, r11d
xor ecx, 0x8a4b
add ecx, r11d
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + rdx*4], ecx
movzx eax, byte [rdi + 0x23]
movzx ecx, byte [rdi + 0x26]
shl ecx, 8
or ecx, eax
mov eax, dword [rbx + r10*4]
xor ecx, 0x4576
add ecx, r11d
xor dword [rbx + rcx*4], eax
movzx eax, byte [rdi + 0x6b]
movzx ecx, byte [rdi + 0x33]
add eax, r11d
movzx edx, byte [rdi + 0x17]
add ecx, 0xa1
add ecx, eax
shl edx, 0xc
add edx, 0xfff48408
add edx, r11d
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + rdx*4], ecx
movzx eax, byte [rdi + 0x71]
movzx ecx, byte [rdi + 0x5d]
shl ecx, 8
or ecx, eax
lea eax, [r10 + 0x154]
mov r9d, eax
xor ecx, 0x50e9
mov eax, dword [rbx + rax*4]
add ecx, r11d
xor dword [rbx + rcx*4], eax
movzx eax, byte [rdi + 8]
movzx ecx, byte [rdi + 0x26]
add eax, 0x13d
add ecx, 0x149
lea r8d, [r11 + rax*4]
movzx eax, byte [rdi + 0x7f]
add eax, r11d
add ecx, eax
mov eax, dword [rbx + r8*4]
mov dword [rbx + rcx*4], eax
movzx eax, byte [rdi + 0x6a]
add eax, 0x48
lea ecx, [r11 + rax*4]
mov eax, dword [rbx + r9*4]
xor dword [rbx + rcx*4], eax
movzx eax, byte [rdi + 0x56]
movzx ecx, byte [rdi + 0x6a]
movzx edx, byte [rdi + 0x65]
shl ecx, 8
shl edx, 8
or edx, eax
movzx eax, byte [rdi + 0x4e]
or ecx, eax
xor edx, 0x55fd
xor ecx, 0x53ae
add edx, r11d
add ecx, r11d
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + rdx*4], ecx
movzx edx, byte [rdi + 0x51]
movzx ecx, byte [rdi + 0x35]
add edx, r11d
add ecx, 0x7d1
add edx, ecx
lea ecx, [r10 - 0x52c]
mov eax, dword [rbx + rdx*4]
mov dword [rbx + rcx*4], eax
movzx eax, byte [rdi + 0x12]
movzx ecx, byte [rdi + 0x62]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdi + 0x4a]
shl eax, 0xb
xor ecx, 0xf8a5
add eax, 0xfff905f0
add ecx, r11d
add eax, r11d
mov eax, dword [rbx + rax*4]
xor dword [rbx + rcx*4], eax
movzx eax, byte [rdi + 0x55]
movzx ecx, byte [rdi + 0xe]
add eax, r11d
add ecx, 0x472
add ecx, eax
movzx eax, byte [rdi + 0x21]
shl eax, 4
add eax, 0x878
add eax, r11d
mov eax, dword [rbx + rax*4]
xor dword [rbx + rcx*4], eax
movzx ecx, byte [rdi + 0x14]
movzx edx, byte [rdi + 0x1d]
add ecx, 0xffffff61
movzx eax, byte [rdi + 9]
shl edx, 0xc
add eax, r11d
add edx, 0xfff9b030
add ecx, eax
add edx, r11d
inc r11d
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + rdx*4], ecx
cmp r11d, 0x20
jb 0x14018eadf
mov rax, qword [0x14042f758]
lea rdx, [rbx + 0x1ac0]
mov rcx, r13
mov dword [rbp - 0x59], r13d
lea r9, [rbp - 0x31]
mov qword [rbp - 0x61], rdi
mov r8d, dword [rax]
lea rax, [rbp - 0x61]
add rax, r8
mov dword [rbp + 7], r13d
mov qword [rbp - 1], rax
lea rax, [rbp - 1]
movaps xmm0, xmmword [rbp - 1]
add rax, r8
test r14, r14
movdqa xmmword [rbp - 0x51], xmm0
mov dword [rbp - 9], r13d
cmovne rcx, rax
mov dword [rbp - 0x19], r13d
mov qword [rbp - 0x11], rcx
lea rax, [rbp - 0x11]
movaps xmm0, xmmword [rbp - 0x11]
add rax, r8
test rdx, rdx
mov qword [rbp - 0x11], rdx
lea rdx, [rbx + 0x1140]
movdqa xmmword [rbp - 0x31], xmm0
mov dword [rbp - 0x69], r13d
mov rcx, r13
cmovne rcx, rax
mov qword [rbp - 1], r14
mov qword [rbp - 0x21], rcx
lea rax, [rbp - 0x21]
movaps xmm0, xmmword [rbp - 0x21]
add rax, r8
test rdx, rdx
movdqa xmmword [rbp - 0x41], xmm0
mov qword [rbp - 0x21], rdx
lea r8, [rbp - 0x41]
mov rcx, r13
mov dword [rbp + 7], r13d
cmovne rcx, rax
mov dword [rbp - 9], r13d
mov qword [rbp - 0x71], rcx
lea rax, [rbp - 0x51]
movaps xmm0, xmmword [rbp - 0x71]
lea rdx, [rbp - 0x71]
mov r14d, 0x20
movdqa xmmword [rbp - 0x71], xmm0
mov dword [rsp + 0x28], r14d
mov rcx, rsi
mov dword [rbp - 0x19], r13d
mov qword [rsp + 0x20], rax
call fcn.140194010
mov r9d, r13d
movzx ecx, byte [rdi + 0x5e]
movzx eax, byte [rdi + 8]
movzx edx, byte [rdi + 9]
shl ecx, 8
shl edx, 8
or edx, eax
movzx eax, byte [rdi + 0x15]
or ecx, eax
xor edx, 0x2242
xor ecx, 0x5aeb
add edx, r9d
add ecx, r9d
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + rdx*4], ecx
movzx ecx, byte [rdi + 0x1e]
movzx eax, byte [rdi + 0x6c]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdi + 7]
xor ecx, 0x1df
shl eax, 0xb
add ecx, r9d
add eax, 0xfff94308
add eax, r9d
mov r8d, dword [rbx + rcx*4]
xor r8d, dword [rbx + rax*4]
movzx ecx, byte [rdi + 0x64]
movzx eax, byte [rdi + 0x6b]
shl ecx, 8
or ecx, eax
xor ecx, 0xcd83
add ecx, r9d
mov dword [rbx + rcx*4], r8d
lea r8d, [r9 + 0x878]
movzx ecx, byte [rdi + 0x53]
movzx eax, byte [rdi + 0x36]
add ecx, 0x7d4
movzx edx, byte [rdi + 0x5f]
add edx, r9d
add edx, ecx
movzx ecx, byte [rdi + 0x7c]
shl ecx, 8
or ecx, eax
xor ecx, 0x4598
add ecx, r9d
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + rdx*4], ecx
lea edx, [r8 - 0x828]
movzx ecx, byte [rdi + 0x47]
movzx eax, byte [rdi + 0x11]
shl ecx, 8
or ecx, eax
xor ecx, 0xf137
add ecx, r9d
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + rdx*4], ecx
movzx ecx, byte [rdi + 0x3a]
movzx eax, byte [rdi + 0x58]
add ecx, 0xffffffd1
add eax, r9d
inc r9d
add ecx, eax
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + r8*4], ecx
cmp r9d, r14d
jb 0x14018eddb
movzx ecx, byte [rdi + 0x33]
mov r9, r15
movzx edx, byte [rdi + 9]
add ecx, 0x1f0
movzx eax, byte [rdi + 0x75]
add edx, ecx
movzx ecx, byte [rdi + 0x78]
mov r8, rdi
shl ecx, 8
or ecx, eax
mov qword [rsp + 0x28], r12
xor ecx, 0x3e21
mov qword [rsp + 0x20], rbx
call fcn.140190d30
mov rdx, rdi
lea rcx, [rbp - 0x61]
call fcn.14016324c
mov rcx, rax
call fcn.140163260
mov qword [rbp - 0x71], rax
lea rdx, [rbx + 0xef0]
mov dword [rbp - 0x69], r13d
lea rcx, [rbp - 1]
movaps xmm0, xmmword [rbp - 0x71]
movdqa xmmword [rbp - 0x51], xmm0
call fcn.14016324c
mov rcx, rax
call fcn.140163260
mov qword [rbp - 0x71], rax
lea rdx, [rbx + 0xd50]
mov dword [rbp - 0x69], r13d
lea rcx, [rbp - 0x11]
movaps xmm0, xmmword [rbp - 0x71]
movdqa xmmword [rbp - 0x31], xmm0
call fcn.14016324c
mov rcx, rax
call fcn.140163260
mov qword [rbp - 0x71], rax
lea rdx, [rbx + 0xf90]
mov dword [rbp - 0x69], r13d
lea rcx, [rbp - 0x21]
movaps xmm0, xmmword [rbp - 0x71]
movdqa xmmword [rbp - 0x41], xmm0
call fcn.14016324c
mov rcx, rax
call fcn.140163260
mov qword [rbp - 0x71], rax
lea r9, [rbp - 0x31]
mov dword [rbp - 0x69], r13d
lea rax, [rbp - 0x51]
movaps xmm0, xmmword [rbp - 0x71]
lea r8, [rbp - 0x41]
mov dword [rsp + 0x28], r14d
lea rdx, [rbp - 0x71]
mov rcx, rsi
movdqa xmmword [rbp - 0x71], xmm0
mov qword [rsp + 0x20], rax
call fcn.140194010
mov r11d, r13d
movzx eax, byte [rdi + 0x1e]
lea r10d, [r11 + 0x854]
add eax, 0xf4
lea r8d, [r10 - 0x210]
lea ecx, [r11 + rax*4]
mov ecx, dword [rbx + rcx*4]
lea eax, [r10 - 0x470]
mov dword [rbx + r8*4], ecx
mov ecx, dword [rbx + r10*4]
xor dword [rbx + rax*4], ecx
movzx eax, byte [rdi + 0x2a]
movzx edx, byte [rdi + 0x4e]
shl eax, 9
add eax, 0xffffdbe4
shl edx, 4
add eax, r11d
add edx, 0xfffffbb4
add edx, r11d
mov eax, dword [rbx + rax*4]
xor dword [rbx + rdx*4], eax
movzx eax, byte [rdi + 0x43]
movzx ecx, byte [rdi + 0x6d]
shl ecx, 8
or ecx, eax
lea eax, [r10 - 0x178]
mov r9d, eax
xor ecx, 0xa579
mov eax, dword [rbx + rax*4]
add ecx, r11d
xor dword [rbx + rcx*4], eax
movzx eax, byte [rdi + 0x77]
movzx edx, byte [rdi + 0x7c]
add eax, r11d
movzx ecx, byte [rdi + 6]
add edx, r11d
add ecx, 0x225
add edx, ecx
movzx ecx, byte [rdi + 0xa]
add ecx, 0x6ad
add ecx, eax
lea eax, [r10 - 0x84]
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + rdx*4], ecx
mov eax, dword [rbx + rax*4]
movzx edx, byte [rdi + 0x13]
shl edx, 8
add edx, 0xffff7cf0
add edx, r11d
xor dword [rbx + rdx*4], eax
lea eax, [r10 - 0x64]
mov r8d, dword [rbx + r8*4]
xor r8d, dword [rbx + r9*4]
mov dword [rbx + rax*4], r8d
mov edx, eax
movzx eax, byte [rdi + 0x69]
shl eax, 9
add eax, 0xfffe9dd0
add eax, r11d
inc r11d
mov eax, dword [rbx + rax*4]
xor eax, r8d
mov dword [rbx + rdx*4], eax
cmp r11d, r14d
jb 0x14018efcd
mov rdx, rdi
lea rcx, [rbp - 0x61]
call fcn.14016324c
mov rcx, rax
call fcn.140163260
mov qword [rbp - 0x71], rax
lea rdx, [rbx + 0x8f0]
mov dword [rbp - 0x69], r13d
lea rcx, [rbp - 1]
movaps xmm0, xmmword [rbp - 0x71]
movdqa xmmword [rbp - 0x51], xmm0
call fcn.14016324c
mov rcx, rax
call fcn.140163260
mov qword [rbp - 0x71], rax
lea rdx, [rbx + 0xdd0]
mov dword [rbp - 0x69], r13d
lea rcx, [rbp - 0x11]
movaps xmm0, xmmword [rbp - 0x71]
movdqa xmmword [rbp - 0x31], xmm0
call fcn.14016324c
mov rcx, rax
call fcn.140163260
mov qword [rbp - 0x71], rax
lea rdx, [rbx + 0x140]
mov dword [rbp - 0x69], r13d
lea rcx, [rbp - 0x21]
movaps xmm0, xmmword [rbp - 0x71]
movdqa xmmword [rbp - 0x41], xmm0
call fcn.14016324c
mov rcx, rax
call fcn.140163260
mov qword [rbp - 0x71], rax
lea r9, [rbp - 0x31]
mov dword [rbp - 0x69], r13d
lea rax, [rbp - 0x51]
movaps xmm0, xmmword [rbp - 0x71]
lea r8, [rbp - 0x41]
mov dword [rsp + 0x28], r14d
lea rdx, [rbp - 0x71]
mov rcx, rsi
movdqa xmmword [rbp - 0x71], xmm0
mov qword [rsp + 0x20], rax
call fcn.140194010
mov r11d, r13d
movzx eax, byte [rdi + 0x4d]
lea r10d, [r11 + 0xdc]
movzx r8d, byte [rdi + 0x4f]
add eax, 0xffffffcd
movzx ecx, byte [rdi + 0x74]
add r8d, r11d
add ecx, 0xfffffed4
add r8d, ecx
lea ecx, [r11 + rax*4]
mov eax, dword [rbx + r8*4]
mov dword [rbx + rcx*4], eax
lea eax, [r10 + 0x4c8]
mov eax, dword [rbx + rax*4]
xor dword [rbx + r10*4], eax
movzx eax, byte [rdi + 0x5f]
movzx ecx, byte [rdi + 0x13]
movzx edx, byte [rdi + 0x26]
shl ecx, 8
shl edx, 8
or edx, eax
movzx eax, byte [rdi + 0x17]
or ecx, eax
xor edx, 0x419c
xor ecx, 0x8b64
add edx, r11d
add ecx, r11d
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + rdx*4], ecx
movzx eax, byte [rdi + 0x72]
movzx r8d, byte [rdi + 0x1e]
add eax, r11d
movzx ecx, byte [rdi + 0xe]
add r8d, r11d
add ecx, 0xffffff52
add r8d, ecx
movzx ecx, byte [rdi + 0x1b]
add ecx, 0x13
add ecx, eax
mov eax, dword [rbx + r8*4]
mov dword [rbx + rcx*4], eax
movzx eax, byte [rdi + 0x1a]
movzx ecx, byte [rdi + 0x49]
shl ecx, 8
or ecx, eax
xor ecx, 0x797
add ecx, r11d
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + r10*4], ecx
movzx eax, byte [rdi + 0x13]
movzx edx, byte [rdi + 0xf]
shl eax, 6
add eax, 0xffffde1c
shl edx, 0xb
add eax, r11d
add edx, 0xfffccda4
add edx, r11d
mov eax, dword [rbx + rax*4]
xor dword [rbx + rdx*4], eax
lea edx, [r10 + 0x714]
movzx eax, byte [rdi + 0x13]
shl eax, 4
add eax, 0xffffff20
add eax, r11d
mov eax, dword [rbx + rax*4]
xor dword [rbx + rdx*4], eax
movzx eax, byte [rdi + 0x48]
movzx ecx, byte [rdi + 0x47]
add eax, 0x38a
shl ecx, 8
lea edx, [r11 + rax*2]
movzx eax, byte [rdi + 0x46]
or ecx, eax
mov eax, dword [rbx + rdx*4]
xor ecx, 0xf871
add ecx, r11d
mov dword [rbx + rcx*4], eax
movzx ecx, byte [rdi + 0x77]
movzx eax, byte [rdi + 0x46]
shl ecx, 8
or ecx, eax
xor ecx, 0xd971
add ecx, r11d
lea eax, [r10 + 0x860]
mov eax, dword [rbx + rax*4]
xor dword [rbx + rcx*4], eax
movzx eax, byte [rdi + 0x51]
movzx ecx, byte [rdi + 0x60]
add eax, r11d
add ecx, 0x890
add ecx, eax
movzx eax, byte [rdi + 0x61]
shl eax, 0xa
add eax, 0xfffd9d04
add eax, r11d
inc r11d
mov eax, dword [rbx + rax*4]
xor dword [rbx + rcx*4], eax
cmp r11d, r14d
jb 0x14018f18c
movzx ecx, byte [rdi + 8]
mov r9, r15
movzx edx, byte [rdi + 1]
mov r8, rdi
movzx eax, byte [rdi + 0x62]
shl ecx, 8
or ecx, eax
shl edx, 0xb
xor ecx, 0x18e
mov qword [rsp + 0x28], r12
sub edx, 0x434bb
mov qword [rsp + 0x20], rbx
call fcn.140190d30
mov r9d, r13d
movzx eax, byte [rdi + 0x58]
lea r8d, [r9 + 0x308]
movzx ecx, byte [rdi + 0x46]
lea edx, [r8 + 0xdc]
add ecx, 0x1a4
add eax, r9d
add ecx, eax
movzx eax, byte [rdi + 0x2f]
shl eax, 0xf
add eax, 0xff8b8664
add eax, r9d
mov eax, dword [rbx + rax*4]
xor dword [rbx + rcx*4], eax
lea eax, [r8 + 0x35c]
mov eax, dword [rbx + rax*4]
mov dword [rbx + r8*4], eax
movzx ecx, byte [rdi + 0x13]
movzx eax, byte [rdi + 0x4f]
add ecx, 0x749
add eax, r9d
add ecx, eax
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + rdx*4], ecx
movzx ecx, byte [rdi + 0x28]
movzx eax, byte [rdi + 0x34]
add ecx, 0x6f
movzx edx, byte [rdi + 3]
add edx, r9d
add edx, ecx
movzx ecx, byte [rdi + 0x1c]
shl ecx, 8
or ecx, eax
xor ecx, 0x589f
add ecx, r9d
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + rdx*4], ecx
movzx r8d, byte [rdi + 0x5f]
movzx eax, byte [rdi + 5]
add r8d, r9d
movzx ecx, byte [rdi + 0x7e]
add ecx, 0x853
add r8d, ecx
lea ecx, [rax*8 + 0x3d4]
add ecx, r9d
inc r9d
mov eax, dword [rbx + r8*4]
mov dword [rbx + rcx*4], eax
cmp r9d, r14d
jb 0x14018f33c
mov rdx, rdi
lea rcx, [rbp - 0x61]
call fcn.14016324c
mov rcx, rax
call fcn.140163260
mov qword [rbp - 0x71], rax
lea rdx, [rbx + 0x24f0]
mov dword [rbp - 0x69], r13d
lea rcx, [rbp - 1]
movaps xmm0, xmmword [rbp - 0x71]
movdqa xmmword [rbp - 0x51], xmm0
call fcn.14016324c
mov rcx, rax
call fcn.140163260
mov qword [rbp - 0x71], rax
lea rdx, [rbx + 0x2150]
mov dword [rbp - 0x69], r13d
lea rcx, [rbp - 0x11]
movaps xmm0, xmmword [rbp - 0x71]
movdqa xmmword [rbp - 0x31], xmm0
call fcn.14016324c
mov rcx, rax
call fcn.140163260
mov qword [rbp - 0x71], rax
lea r14, [rbx + 0x2460]
mov dword [rbp - 0x69], r13d
lea rcx, [rbp - 0x21]
movaps xmm0, xmmword [rbp - 0x71]
mov rdx, r14
movdqa xmmword [rbp - 0x41], xmm0
call fcn.14016324c
mov rcx, rax
call fcn.140163260
mov qword [rbp - 0x71], rax
lea r9, [rbp - 0x31]
mov dword [rbp - 0x69], r13d
lea rax, [rbp - 0x51]
movaps xmm0, xmmword [rbp - 0x71]
lea r8, [rbp - 0x41]
mov dword [rsp + 0x28], 0x20
lea rdx, [rbp - 0x71]
mov rcx, rsi
movdqa xmmword [rbp - 0x71], xmm0
mov qword [rsp + 0x20], rax
call fcn.140194010
mov r10d, r13d
movzx ecx, byte [rdi + 0x2f]
lea r9d, [r10 + 0x104]
movzx edx, byte [rdi + 0x33]
movzx eax, byte [rdi + 0x45]
shl ecx, 8
or ecx, eax
shl edx, 0xa
xor ecx, 0xee34
add edx, 0xfffc4918
add ecx, r10d
add edx, r10d
mov eax, dword [rbx + rdx*4]
mov dword [rbx + rcx*4], eax
movzx ecx, byte [rdi + 0x4a]
movzx edx, byte [rdi + 0x2f]
add ecx, 0x58a
movzx eax, byte [rdi + 0x5b]
add eax, r10d
shl edx, 8
add ecx, eax
add edx, 0xffff1ea4
add edx, r10d
lea eax, [r9 + 0x604]
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + rdx*4], ecx
movzx ecx, byte [rdi + 0x50]
add ecx, 0x7a2
add ecx, r10d
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + rax*4], ecx
movzx ecx, byte [rdi + 0x72]
movzx r8d, byte [rdi + 0x34]
add ecx, 0xffffff8d
movzx eax, byte [rdi + 0x33]
add eax, r10d
shl r8d, 8
add ecx, eax
add r8d, 0xffff6618
add r8d, r10d
mov eax, dword [rbx + r8*4]
mov dword [rbx + rcx*4], eax
movzx ecx, byte [rdi + 8]
movzx eax, byte [rdi + 0x70]
add ecx, 0x830
add eax, r10d
add ecx, eax
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + r9*4], ecx
movzx eax, byte [rdi + 0x76]
movzx edx, byte [rdi + 0x48]
shl edx, 5
add edx, 0xfffff344
add edx, r10d
lea ecx, [rax*8 + 0x834]
add ecx, r10d
inc r10d
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + rdx*4], ecx
cmp r10d, 0x20
jb 0x14018f4c6
mov rdx, rdi
lea rcx, [rbp - 0x61]
call fcn.14016324c
mov rcx, rax
call fcn.140163260
mov dword [rbp - 0x69], r13d
lea rcx, [rbp - 1]
mov qword [rbp - 0x71], rax
lea r13, [rbx + 0x410]
movaps xmm0, xmmword [rbp - 0x71]
mov rdx, r13
movdqa xmmword [rbp - 0x51], xmm0
call fcn.14016324c
mov rcx, rax
call fcn.140163260
and dword [rbp - 0x69], 0
lea rcx, [rbp - 0x11]
mov qword [rbp - 0x71], rax
mov rdx, r14
movaps xmm0, xmmword [rbp - 0x71]
movdqa xmmword [rbp - 0x31], xmm0
call fcn.14016324c
mov rcx, rax
call fcn.140163260
mov qword [rbp - 0x71], rax
lea rdx, [rbx + 0x25a0]
xor r14d, r14d
lea rcx, [rbp - 0x21]
mov dword [rbp - 0x69], r14d
movaps xmm0, xmmword [rbp - 0x71]
movdqa xmmword [rbp - 0x41], xmm0
call fcn.14016324c
mov rcx, rax
call fcn.140163260
mov qword [rbp - 0x71], rax
lea r9, [rbp - 0x31]
mov dword [rbp - 0x69], r14d
lea rax, [rbp - 0x51]
movaps xmm0, xmmword [rbp - 0x71]
lea r8, [rbp - 0x41]
mov dword [rsp + 0x28], 0x20
lea rdx, [rbp - 0x71]
mov rcx, rsi
movdqa xmmword [rbp - 0x71], xmm0
mov qword [rsp + 0x20], rax
call fcn.140194010
mov r9d, r14d
movzx eax, byte [rdi + 0x48]
lea r8d, [r9 + 0x810]
add eax, 0x17b
lea ecx, [r9 + rax*4]
lea eax, [r8 - 0x108]
mov eax, dword [rbx + rax*4]
xor dword [rbx + rcx*4], eax
movzx eax, byte [rdi + 2]
add eax, 0x2ca
lea ecx, [r9 + rax*2]
movzx eax, byte [rdi + 0x1e]
shl eax, 0xf
add eax, 0xfffd8810
add eax, r9d
mov eax, dword [rbx + rax*4]
xor dword [rbx + rcx*4], eax
movzx ecx, byte [rdi + 1]
movzx eax, byte [rdi + 0xc]
shl ecx, 8
or ecx, eax
lea eax, [r8 - 0x754]
xor ecx, 0x80ba
add ecx, r9d
mov edx, dword [rbx + rcx*4]
xor edx, dword [rbx + r8*4]
mov dword [rbx + rax*4], edx
movzx ecx, byte [rdi + 0xf]
movzx eax, byte [rdi + 0x25]
add ecx, 0x227
movzx edx, byte [rdi + 0x27]
shl edx, 8
or edx, eax
movzx eax, byte [rdi + 0x5d]
xor edx, 0x6061
add eax, r9d
add ecx, eax
add edx, r9d
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + rdx*4], ecx
movzx ecx, byte [rdi + 0x7a]
movzx eax, byte [rdi + 9]
movzx edx, byte [rdi + 0x76]
shl edx, 0xe
shl ecx, 8
add edx, 0xfff7c878
or ecx, eax
add edx, r9d
xor ecx, 0x92d6
add ecx, r9d
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + rdx*4], ecx
movzx eax, byte [rdi + 0x22]
movzx ecx, byte [rdi + 0xa]
movzx edx, byte [rdi + 0x46]
add ecx, 0x69a
shl edx, 8
or edx, eax
movzx eax, byte [rdi + 0x11]
add eax, r9d
xor edx, 0x70b1
add edx, r9d
add ecx, eax
inc r9d
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + rdx*4], ecx
cmp r9d, 0x20
jb 0x14018f67b
movzx ecx, byte [rdi + 0x29]
mov r9, r15
add ecx, 0x1686
mov qword [rsp + 0x28], r12
mov r8, rdi
mov qword [rsp + 0x20], rbx
mov edx, 0x3ce
call fcn.140190d30
mov r8d, r14d
movzx eax, byte [rdi + 0x1e]
lea ecx, [r8 + 0x584]
movzx edx, byte [rdi + 0x21]
shl eax, 5
add eax, 0x750
shl edx, 9
add eax, r8d
add edx, 0x2bc
add edx, r8d
mov eax, dword [rbx + rax*4]
xor dword [rbx + rdx*4], eax
movzx eax, byte [rdi + 4]
shl eax, 7
add eax, 0xffffdef0
add eax, r8d
inc r8d
mov eax, dword [rbx + rax*4]
mov dword [rbx + rcx*4], eax
cmp r8d, 0x20
jb 0x14018f7a3
mov rdx, rdi
lea rcx, [rbp - 0x61]
call fcn.14016324c
mov rcx, rax
call fcn.140163260
mov qword [rbp - 0x71], rax
lea rdx, [rbx + 0x1610]
mov dword [rbp - 0x69], r14d
lea rcx, [rbp - 1]
movaps xmm0, xmmword [rbp - 0x71]
movdqa xmmword [rbp - 0x51], xmm0
call fcn.14016324c
mov rcx, rax
call fcn.140163260
mov qword [rbp - 0x71], rax
lea rdx, [rbx + 0x1fc0]
mov dword [rbp - 0x69], r14d
lea rcx, [rbp - 0x11]
movaps xmm0, xmmword [rbp - 0x71]
movdqa xmmword [rbp - 0x31], xmm0
call fcn.14016324c
mov rcx, rax
call fcn.140163260
mov qword [rbp - 0x71], rax
lea rdx, [rbx + 0x8f0]
mov dword [rbp - 0x69], r14d
lea rcx, [rbp - 0x21]
movaps xmm0, xmmword [rbp - 0x71]
movdqa xmmword [rbp - 0x41], xmm0
call fcn.14016324c
mov rcx, rax
call fcn.140163260
mov qword [rbp - 0x71], rax
lea r9, [rbp - 0x31]
mov dword [rbp - 0x69], r14d
lea rax, [rbp - 0x51]
movaps xmm0, xmmword [rbp - 0x71]
lea r8, [rbp - 0x41]
mov dword [rsp + 0x28], 0x20
lea rdx, [rbp - 0x71]
mov rcx, rsi
movdqa xmmword [rbp - 0x71], xmm0
mov qword [rsp + 0x20], rax
call fcn.140194010
lea r11d, [r14 + 0x6b0]
lea eax, [r11 - 0x4c0]
mov r10d, eax
lea r9d, [r11 - 0x4c]
mov eax, dword [rbx + rax*4]
xor dword [rbx + r9*4], eax
movzx r8d, byte [rdi + 0x75]
movzx eax, byte [rdi + 0x28]
movzx ecx, byte [rdi + 0x5a]
add ecx, 0x18d
shl r8d, 8
or r8d, eax
movzx eax, byte [rdi + 0x51]
add eax, r14d
xor r8d, 0x5b6a
add ecx, eax
add r8d, r14d
mov eax, dword [rbx + r8*4]
mov dword [rbx + rcx*4], eax
movzx ecx, byte [rdi + 0x6b]
movzx eax, byte [rdi + 0x11]
shl ecx, 8
or ecx, eax
mov eax, dword [rbx + r9*4]
xor ecx, 0xd173
add ecx, r14d
xor dword [rbx + rcx*4], eax
movzx ecx, byte [rdi + 0x6c]
movzx eax, byte [rdi + 0x71]
add ecx, 0x120
movzx edx, byte [rdi + 8]
add eax, r14d
add ecx, eax
shl edx, 0xc
add edx, 0xfffee664
add edx, r14d
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + rdx*4], ecx
movzx eax, byte [rdi + 0x74]
movzx ecx, byte [rdi + 0x14]
add eax, r14d
add ecx, 0x73
add ecx, eax
mov eax, dword [rbx + r11*4]
xor dword [rbx + rcx*4], eax
movzx eax, byte [rdi + 0x6b]
movzx edx, byte [rdi + 0x5f]
shl edx, 8
or edx, eax
lea eax, [r11 - 0x44c]
mov ecx, eax
xor edx, 0x3e63
mov eax, dword [rbx + rax*4]
add edx, r14d
xor dword [rbx + rdx*4], eax
mov eax, dword [rbx + r11*4]
xor dword [rbx + rcx*4], eax
movzx r8d, byte [rdi + 0x4c]
movzx eax, byte [rdi + 0x21]
movzx ecx, byte [rdi + 0x3a]
add ecx, 0xffffff9c
shl r8d, 8
or r8d, eax
movzx eax, byte [rdi + 0x5c]
add eax, r14d
xor r8d, 0x9164
add ecx, eax
add r8d, r14d
mov eax, dword [rbx + r8*4]
mov dword [rbx + rcx*4], eax
movzx ecx, byte [rdi + 0x6a]
movzx edx, byte [rdi + 0x1b]
add ecx, 0x114
movzx eax, byte [rdi + 0x7f]
shl edx, 6
add eax, r14d
add edx, 0xfffff5e4
add ecx, eax
add edx, r14d
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + rdx*4], ecx
movzx eax, byte [rdi + 0x3a]
lea edx, [r11 - 0x474]
shl eax, 0xf
add eax, 0xffd20664
add eax, r14d
mov eax, dword [rbx + rax*4]
xor dword [rbx + rdx*4], eax
movzx ecx, byte [rdi + 0x2a]
mov eax, dword [rbx + r10*4]
shl ecx, 0xf
add ecx, 0xfff60664
add ecx, r14d
xor dword [rbx + rcx*4], eax
movzx eax, byte [rdi + 0x31]
movzx ecx, byte [rdi + 5]
add eax, r14d
movzx edx, byte [rdi + 0x30]
add ecx, 0xffffffc1
add ecx, eax
shl edx, 0xf
add edx, 0xff848030
lea eax, [r11 - 0x680]
add edx, r14d
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + rdx*4], ecx
lea edx, [r11 - 0x634]
mov eax, dword [rbx + rax*4]
xor dword [rbx + rdx*4], eax
movzx eax, byte [rdi + 0x4a]
movzx ecx, byte [rdi + 0x25]
add eax, r14d
add ecx, 0xfffffe73
add ecx, eax
movzx eax, byte [rdi + 0x23]
shl eax, 0xb
add eax, 0xfff9107c
add eax, r14d
mov eax, dword [rbx + rax*4]
xor dword [rbx + rcx*4], eax
movzx eax, byte [rdi + 0x3a]
movzx edx, byte [rdi + 0xa]
shl edx, 8
or edx, eax
movzx eax, byte [rdi + 0x4c]
xor edx, 0x6d38
add eax, 0xffffffe5
add edx, r14d
lea ecx, [r14 + rax*4]
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + rdx*4], ecx
movzx edx, byte [rdi + 0x18]
movzx eax, byte [rdi + 0x48]
shl edx, 0xa
add eax, 0x2c4
add edx, 0xfffe7e3c
add edx, r14d
lea ecx, [r14 + rax*2]
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + rdx*4], ecx
movzx edx, byte [rdi + 0x14]
movzx eax, byte [rdi + 0x69]
movzx ecx, byte [rdi + 0x37]
shl edx, 0xa
add edx, 0xfffc3264
shl ecx, 8
shl eax, 9
add edx, r14d
add eax, 0xfffe983c
add eax, r14d
mov r8d, dword [rbx + rdx*4]
xor r8d, dword [rbx + rax*4]
movzx eax, byte [rdi + 0x3d]
or ecx, eax
xor ecx, 0xeaaa
add ecx, r14d
mov dword [rbx + rcx*4], r8d
movzx ecx, byte [rdi + 0x15]
mov edx, ecx
shl edx, 0x10
add edx, 0xff1d039c
add edx, r14d
movzx eax, byte [rdi + 0x1f]
add ecx, 0x60f
add eax, ecx
add eax, r14d
mov eax, dword [rbx + rax*4]
xor dword [rbx + rdx*4], eax
movzx eax, byte [rdi + 0x61]
movzx ecx, byte [rdi + 0x6c]
add eax, r14d
add ecx, 0x650
inc r14d
add ecx, eax
lea eax, [r11 - 0x314]
mov eax, dword [rbx + rax*4]
xor dword [rbx + rcx*4], eax
cmp r14d, 0x20
jb 0x14018f8b2
mov rdx, rdi
lea rcx, [rbp - 0x61]
call fcn.14016324c
mov rcx, rax
call fcn.140163260
mov qword [rbp - 0x71], rax
lea rdx, [rbx + 0x6a0]
xor r14d, r14d
lea rcx, [rbp - 1]
mov dword [rbp - 0x69], r14d
movaps xmm0, xmmword [rbp - 0x71]
movdqa xmmword [rbp - 0x51], xmm0
call fcn.14016324c
mov rcx, rax
call fcn.140163260
mov qword [rbp - 0x71], rax
lea rdx, [rbx + 0x1ac0]
mov dword [rbp - 0x69], r14d
lea rcx, [rbp - 0x11]
movaps xmm0, xmmword [rbp - 0x71]
movdqa xmmword [rbp - 0x31], xmm0
call fcn.14016324c
mov rcx, rax
call fcn.140163260
mov qword [rbp - 0x71], rax
lea rcx, [rbp - 0x21]
mov dword [rbp - 0x69], r14d
mov rdx, r13
movaps xmm0, xmmword [rbp - 0x71]
movdqa xmmword [rbp - 0x41], xmm0
call fcn.14016324c
mov rcx, rax
call fcn.140163260
mov qword [rbp - 0x71], rax
lea r9, [rbp - 0x31]
mov dword [rbp - 0x69], r14d
lea rax, [rbp - 0x51]
movaps xmm0, xmmword [rbp - 0x71]
lea r8, [rbp - 0x41]
mov dword [rsp + 0x28], 0x20
lea rdx, [rbp - 0x71]
mov rcx, rsi
movdqa xmmword [rbp - 0x71], xmm0
mov qword [rsp + 0x20], rax
call fcn.140194010
mov rax, qword [rbp + 0x5f]
lea r8, [rbp - 0x51]
mov r9, qword [rbp + 0x67]
mov rdx, r15
mov qword [rsp + 0x30], r12
mov rcx, rsi
mov qword [rsp + 0x28], rbx
movaps xmm0, xmmword [rax]
movdqa xmmword [rbp - 0x51], xmm0
mov qword [rsp + 0x20], rdi
call fcn.14018fc6c
mov rbx, qword [rsp + 0x100]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret