Function at 0x14019fbb0
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 r14, rdx
mov r15, qword [rbp + 0x7f]
mov rsi, rcx
mov rbx, qword [rbp + 0x77]
mov r9, r14
mov qword [rsp + 0x28], r15
movzx r10d, byte [rdi + 0x29]
movzx edx, byte [rdi + 0x45]
add r10d, 0x2a2
movzx ecx, byte [rdi + 0x58]
add edx, r10d
movzx r10d, byte [rdi + 9]
add r10d, 0xcc0
mov qword [rsp + 0x20], rbx
add ecx, r10d
call fcn.1401a2010
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 0x14019fc25
mov rax, qword [0x1404524a8]
lea rdx, [rbx + 0x1b70]
mov qword [rbp - 0x11], rdx
lea r12, [rbx + 0x14f0]
mov dword [rbp + 7], r13d
lea r9, [rbp - 0x61]
mov dword [rbp - 0x59], r13d
mov rcx, r13
mov r8d, dword [rax]
lea rax, [rbp - 0x41]
add rax, r8
mov dword [rbp - 0x49], r13d
mov qword [rbp - 1], rax
lea rax, [rbp - 0x11]
movaps xmm0, xmmword [rbp - 1]
add rax, r8
test rdx, rdx
mov dword [rbp - 0x69], r13d
lea rdx, [rbx + 0x21e0]
movdqa xmmword [rbp - 1], xmm0
cmovne rcx, rax
mov qword [rbp - 0x31], rdx
mov qword [rbp - 0x61], rcx
lea rax, [rbp - 0x31]
movaps xmm1, xmmword [rbp - 0x61]
add rax, r8
test rdx, rdx
movdqa xmmword [rbp - 0x61], xmm1
mov rcx, r13
mov dword [rsp + 0x28], 0x20
cmovne rcx, rax
mov dword [rbp - 0x39], r13d
mov qword [rbp - 0x51], rcx
lea rax, [rbp - 0x25]
movaps xmm0, xmmword [rbp - 0x51]
lea rdx, [rbp - 0x71]
add rax, r8
mov qword [rbp - 0x41], rdi
test r12, r12
mov dword [rbp - 9], r13d
mov rcx, r13
mov dword [rbp - 0x29], r13d
cmovne rcx, rax
mov dword [rbp - 0x1d], r13d
mov qword [rbp - 0x71], rcx
lea rax, [rbp - 1]
movaps xmm1, xmmword [rbp - 0x71]
lea r8, [rbp - 0x51]
mov rcx, rsi
movdqa xmmword [rbp - 0x71], xmm1
mov qword [rbp - 0x25], r12
movdqa xmmword [rbp - 0x51], xmm0
mov qword [rsp + 0x20], rax
call fcn.1401a5c8c
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 0x14019fd38
mov rax, qword [0x1404524a8]
lea rdx, [rbx + 0x1ac0]
mov dword [rbp - 0x69], r13d
lea r9, [rbp - 0x51]
mov dword [rbp - 0x49], r13d
mov rcx, r13
mov dword [rbp - 0x59], r13d
mov r8d, dword [rax]
lea rax, [rbp - 1]
add rax, r8
mov qword [rbp - 0x31], rdx
mov qword [rbp - 0x71], rax
lea rax, [rbp - 0x25]
movaps xmm0, xmmword [rbp - 0x71]
add rax, r8
test r12, r12
mov dword [rbp - 0x39], r13d
mov qword [rbp - 0x25], r12
mov r12d, 0x20
cmovne rcx, rax
movdqa xmmword [rbp - 0x71], xmm0
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, [rbx + 0x1140]
mov dword [rsp + 0x28], r12d
mov qword [rbp - 0x11], rdx
mov rcx, r13
cmovne rcx, rax
mov dword [rbp + 7], r13d
mov qword [rbp - 0x61], rcx
lea rax, [rbp - 0x11]
movaps xmm0, xmmword [rbp - 0x61]
add rax, r8
test rdx, rdx
mov qword [rbp - 1], rdi
mov rcx, r13
mov dword [rbp - 0x1d], r13d
cmovne rcx, rax
mov dword [rbp - 0x29], r13d
mov qword [rbp - 0x41], rcx
lea rax, [rbp - 0x71]
movaps xmm1, xmmword [rbp - 0x41]
lea r8, [rbp - 0x61]
lea rdx, [rbp - 0x41]
movdqa xmmword [rbp - 0x41], xmm1
mov rcx, rsi
mov dword [rbp - 9], r13d
movdqa xmmword [rbp - 0x61], xmm0
mov qword [rsp + 0x20], rax
call fcn.1401a5c8c
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 + 0x5f]
movzx eax, byte [rdi + 0x36]
add ecx, 0x7d4
movzx edx, byte [rdi + 0x53]
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 + 0x58]
movzx eax, byte [rdi + 0x3a]
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, r12d
jb 0x1401a0034
movzx ecx, byte [rdi + 9]
mov r9, r14
movzx edx, byte [rdi + 0x33]
add ecx, 0x1f0
movzx eax, byte [rdi + 0x75]
add edx, ecx
movzx ecx, byte [rdi + 0x78]
shl ecx, 8
or ecx, eax
mov qword [rsp + 0x28], r15
xor ecx, 0x3e21
mov qword [rsp + 0x20], rbx
call fcn.1401a2010
mov rax, qword [0x1404524a8]
lea rdx, [rbx + 0xef0]
mov qword [rbp - 0x25], rdx
lea r9, [rbp - 0x51]
mov dword [rbp - 0x69], r13d
mov rcx, r13
mov dword [rbp - 0x49], r13d
mov r8d, dword [rax]
lea rax, [rbp - 1]
add rax, r8
mov dword [rbp - 0x59], r13d
mov qword [rbp - 0x71], rax
lea rax, [rbp - 0x25]
movaps xmm0, xmmword [rbp - 0x71]
add rax, r8
test rdx, rdx
mov dword [rbp - 0x39], r13d
lea rdx, [rbx + 0xd50]
movdqa xmmword [rbp - 0x71], 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, [rbx + 0xf90]
mov dword [rsp + 0x28], r12d
mov qword [rbp - 0x11], rdx
mov rcx, r13
cmovne rcx, rax
mov dword [rbp + 7], r13d
mov qword [rbp - 0x61], rcx
lea rax, [rbp - 0x11]
movaps xmm0, xmmword [rbp - 0x61]
add rax, r8
test rdx, rdx
mov qword [rbp - 1], rdi
mov rcx, r13
mov dword [rbp - 0x1d], r13d
cmovne rcx, rax
mov dword [rbp - 0x29], r13d
mov qword [rbp - 0x41], rcx
lea rax, [rbp - 0x71]
movaps xmm1, xmmword [rbp - 0x41]
lea r8, [rbp - 0x61]
lea rdx, [rbp - 0x41]
movdqa xmmword [rbp - 0x41], xmm1
mov rcx, rsi
mov dword [rbp - 9], r13d
movdqa xmmword [rbp - 0x61], xmm0
mov qword [rsp + 0x20], rax
call fcn.1401a5c8c
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, r12d
jb 0x1401a0240
mov rax, qword [0x1404524a8]
lea rdx, [rbx + 0x8f0]
mov dword [rbp - 0x69], r13d
lea r9, [rbp - 0x51]
mov dword [rbp - 0x49], r13d
mov rcx, r13
mov dword [rbp - 0x59], r13d
mov r8d, dword [rax]
lea rax, [rbp - 0x41]
add rax, r8
mov qword [rbp - 1], rdx
mov qword [rbp - 0x71], rax
lea rax, [rbp - 1]
movaps xmm0, xmmword [rbp - 0x71]
add rax, r8
test rdx, rdx
mov dword [rbp - 9], r13d
lea rdx, [rbx + 0xdd0]
movdqa xmmword [rbp - 0x71], xmm0
cmovne rcx, rax
mov qword [rbp - 0x25], rdx
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, [rbx + 0x140]
mov dword [rsp + 0x28], r12d
mov qword [rbp - 0x31], rdx
mov rcx, r13
cmovne rcx, rax
mov dword [rbp - 0x39], r13d
mov qword [rbp - 0x61], rcx
lea rax, [rbp - 0x31]
movaps xmm0, xmmword [rbp - 0x61]
add rax, r8
test rdx, rdx
mov qword [rbp - 0x41], rdi
mov rcx, r13
mov dword [rbp + 7], r13d
cmovne rcx, rax
mov dword [rbp - 0x1d], r13d
mov qword [rbp - 0x11], rcx
lea rax, [rbp - 0x71]
movaps xmm1, xmmword [rbp - 0x11]
lea r8, [rbp - 0x61]
lea rdx, [rbp - 0x11]
movdqa xmmword [rbp - 0x11], xmm1
mov rcx, rsi
mov dword [rbp - 0x29], r13d
movdqa xmmword [rbp - 0x61], xmm0
mov qword [rsp + 0x20], rax
call fcn.1401a5c8c
mov r11d, r13d
movzx eax, byte [rdi + 0x4d]
lea r10d, [r11 + 0xdc]
movzx r8d, byte [rdi + 0x74]
add eax, 0xffffffcd
movzx ecx, byte [rdi + 0x4f]
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, r12d
jb 0x1401a041c
movzx ecx, byte [rdi + 8]
mov r9, r14
movzx edx, byte [rdi + 1]
movzx eax, byte [rdi + 0x62]
shl ecx, 8
or ecx, eax
shl edx, 0xb
xor ecx, 0x18e
mov qword [rsp + 0x28], r15
sub edx, 0x434bb
mov qword [rsp + 0x20], rbx
call fcn.1401a2010
mov r9d, r13d
movzx eax, byte [rdi + 0x46]
lea r8d, [r9 + 0x308]
movzx ecx, byte [rdi + 0x58]
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 + 0x4f]
movzx eax, byte [rdi + 0x13]
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 + 3]
movzx eax, byte [rdi + 0x34]
add ecx, 0x6f
movzx edx, byte [rdi + 0x28]
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 + 0x7e]
movzx eax, byte [rdi + 5]
add r8d, r9d
movzx ecx, byte [rdi + 0x5f]
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, r12d
jb 0x1401a05c9
mov rax, qword [0x1404524a8]
lea rdx, [rbx + 0x24f0]
mov dword [rbp - 0x69], r13d
lea r9, [rbp - 0x51]
mov dword [rbp - 0x49], r13d
mov rcx, r13
mov dword [rbp - 0x59], r13d
mov r8d, dword [rax]
lea rax, [rbp - 1]
add rax, r8
mov qword [rbp - 0x25], rdx
mov qword [rbp - 0x71], rax
lea rax, [rbp - 0x25]
movaps xmm0, xmmword [rbp - 0x71]
add rax, r8
test rdx, rdx
mov dword [rbp + 7], r13d
lea rdx, [rbx + 0x2150]
mov dword [rbp - 0x1d], r13d
cmovne rcx, rax
mov dword [rbp - 0x29], r13d
mov qword [rbp - 0x51], rcx
lea rax, [rbp - 0x31]
movaps xmm1, xmmword [rbp - 0x51]
add rax, r8
test rdx, rdx
mov dword [rbp - 9], r13d
mov rcx, r13
movdqa xmmword [rbp - 0x71], xmm0
cmovne rcx, rax
movdqa xmmword [rbp - 0x51], xmm1
mov qword [rbp - 0x61], rcx
lea r13, [rbx + 0x2460]
movaps xmm0, xmmword [rbp - 0x61]
lea rax, [rbp - 0x11]
add rax, r8
mov qword [rbp - 0x31], rdx
xor ecx, ecx
mov dword [rsp + 0x28], r12d
test r13, r13
mov qword [rbp - 1], rdi
lea r8, [rbp - 0x61]
mov qword [rbp - 0x11], r13
cmovne rcx, rax
movdqa xmmword [rbp - 0x61], xmm0
and dword [rbp - 0x39], 0
lea rax, [rbp - 0x71]
mov qword [rbp - 0x41], rcx
lea rdx, [rbp - 0x41]
movaps xmm1, xmmword [rbp - 0x41]
mov rcx, rsi
movdqa xmmword [rbp - 0x41], xmm1
mov qword [rsp + 0x20], rax
call fcn.1401a5c8c
xor r11d, r11d
mov r10d, r11d
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 + 0x33]
movzx r8d, byte [rdi + 0x34]
add ecx, 0xffffff8d
movzx eax, byte [rdi + 0x72]
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, r12d
jb 0x1401a076c
mov rax, qword [0x1404524a8]
lea rdx, [rbx + 0x25a0]
mov dword [rbp - 0x69], r11d
lea r12, [rbx + 0x410]
mov dword [rbp - 0x49], r11d
lea r9, [rbp - 0x51]
mov rcx, r11
mov dword [rsp + 0x28], 0x20
mov r8d, dword [rax]
lea rax, [rbp - 0x41]
add rax, r8
mov qword [rbp - 0x25], r13
mov qword [rbp - 0x71], rax
lea rax, [rbp - 1]
movaps xmm0, xmmword [rbp - 0x71]
add rax, r8
test r12, r12
movdqa xmmword [rbp - 0x71], xmm0
mov qword [rbp - 0x31], rdx
cmovne rcx, rax
mov dword [rbp - 0x39], r11d
mov qword [rbp - 0x51], rcx
lea rax, [rbp - 0x25]
movaps xmm1, xmmword [rbp - 0x51]
add rax, r8
test r13, r13
movdqa xmmword [rbp - 0x51], xmm1
mov rcx, r11
mov qword [rbp - 0x41], rdi
cmovne rcx, rax
mov dword [rbp + 7], r11d
xor r13d, r13d
mov qword [rbp - 0x61], rcx
mov dword [rbp - 0x59], r13d
lea rax, [rbp - 0x31]
movaps xmm0, xmmword [rbp - 0x61]
add rax, r8
test rdx, rdx
mov dword [rbp - 9], r13d
mov ecx, r13d
mov qword [rbp - 1], r12
cmovne rcx, rax
mov dword [rbp - 0x1d], r11d
mov qword [rbp - 0x11], rcx
lea rax, [rbp - 0x71]
movaps xmm1, xmmword [rbp - 0x11]
lea r8, [rbp - 0x61]
lea rdx, [rbp - 0x11]
movdqa xmmword [rbp - 0x11], xmm1
mov rcx, rsi
mov dword [rbp - 0x29], r13d
movdqa xmmword [rbp - 0x61], xmm0
mov qword [rsp + 0x20], rax
call fcn.1401a5c8c
mov r9d, r13d
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 0x1401a0937
movzx ecx, byte [rdi + 0x29]
mov r9, r14
add ecx, 0x1686
mov qword [rsp + 0x28], r15
mov edx, 0x3ce
mov qword [rsp + 0x20], rbx
call fcn.1401a2010
mov r8d, r13d
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 0x1401a0a5c
mov rax, qword [0x1404524a8]
lea rdx, [rbx + 0x1610]
mov qword [rbp - 0x25], rdx
lea r9, [rbp - 0x51]
mov dword [rbp - 0x69], r13d
mov rcx, r13
mov dword [rbp - 0x49], r13d
mov r8d, dword [rax]
lea rax, [rbp - 1]
add rax, r8
mov dword [rbp - 0x59], r13d
mov qword [rbp - 0x71], rax
lea rax, [rbp - 0x25]
movaps xmm0, xmmword [rbp - 0x71]
add rax, r8
test rdx, rdx
mov dword [rbp - 0x39], r13d
lea rdx, [rbx + 0x1fc0]
movdqa xmmword [rbp - 0x71], 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, [rbx + 0x8f0]
mov dword [rsp + 0x28], 0x20
mov qword [rbp - 0x11], rdx
mov rcx, r13
cmovne rcx, rax
mov dword [rbp + 7], r13d
mov qword [rbp - 0x61], rcx
lea rax, [rbp - 0x11]
movaps xmm0, xmmword [rbp - 0x61]
add rax, r8
test rdx, rdx
mov qword [rbp - 1], rdi
mov rcx, r13
mov dword [rbp - 0x1d], r13d
cmovne rcx, rax
mov dword [rbp - 0x29], r13d
mov qword [rbp - 0x41], rcx
lea rax, [rbp - 0x71]
movaps xmm1, xmmword [rbp - 0x41]
lea r8, [rbp - 0x61]
lea rdx, [rbp - 0x41]
movdqa xmmword [rbp - 0x41], xmm1
mov rcx, rsi
mov dword [rbp - 9], r13d
movdqa xmmword [rbp - 0x61], xmm0
mov qword [rsp + 0x20], rax
call fcn.1401a5c8c
lea r11d, [r13 + 0x1f0]
mov eax, dword [rbx + r11*4]
lea r9d, [r11 + 0x474]
xor dword [rbx + r9*4], eax
movzx eax, byte [rdi + 0x28]
movzx r8d, byte [rdi + 0x75]
movzx ecx, byte [rdi + 0x5a]
add ecx, 0x18d
shl r8d, 8
or r8d, eax
movzx eax, byte [rdi + 0x51]
add eax, r13d
xor r8d, 0x5b6a
add ecx, eax
add r8d, r13d
mov eax, dword [rbx + r8*4]
mov dword [rbx + rcx*4], eax
movzx eax, byte [rdi + 0x11]
movzx ecx, byte [rdi + 0x6b]
shl ecx, 8
or ecx, eax
mov eax, dword [rbx + r9*4]
xor ecx, 0xd173
add ecx, r13d
xor dword [rbx + rcx*4], eax
movzx eax, byte [rdi + 0x6c]
movzx ecx, byte [rdi + 0x71]
add eax, r13d
movzx edx, byte [rdi + 8]
add ecx, 0x120
add ecx, eax
shl edx, 0xc
add edx, 0xfffee664
add edx, r13d
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + rdx*4], ecx
movzx eax, byte [rdi + 0x74]
movzx ecx, byte [rdi + 0x14]
add eax, r13d
add ecx, 0x73
add ecx, eax
lea eax, [r11 + 0x4c0]
mov r8d, eax
mov eax, dword [rbx + rax*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 + 0x74]
mov ecx, eax
xor edx, 0x3e63
mov eax, dword [rbx + rax*4]
add edx, r13d
xor dword [rbx + rdx*4], eax
mov eax, dword [rbx + r8*4]
xor dword [rbx + rcx*4], eax
movzx r8d, byte [rdi + 0x4c]
movzx eax, byte [rdi + 0x21]
movzx ecx, byte [rdi + 0x5c]
add ecx, 0xffffff9c
shl r8d, 8
or r8d, eax
movzx eax, byte [rdi + 0x3a]
add eax, r13d
xor r8d, 0x9164
add ecx, eax
add r8d, r13d
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, r13d
add edx, 0xfffff5e4
add ecx, eax
add edx, r13d
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + rdx*4], ecx
movzx eax, byte [rdi + 0x3a]
lea edx, [r11 + 0x4c]
shl eax, 0xf
add eax, 0xffd20664
add eax, r13d
mov eax, dword [rbx + rax*4]
xor dword [rbx + rdx*4], eax
movzx ecx, byte [rdi + 0x2a]
mov eax, dword [rbx + r11*4]
shl ecx, 0xf
add ecx, 0xfff60664
add ecx, r13d
xor dword [rbx + rcx*4], eax
movzx eax, byte [rdi + 0x31]
movzx ecx, byte [rdi + 5]
add eax, r13d
movzx edx, byte [rdi + 0x30]
add ecx, 0xffffffc1
add ecx, eax
shl edx, 0xf
add edx, 0xff848030
lea eax, [r11 - 0x1c0]
add edx, r13d
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + rdx*4], ecx
lea edx, [r11 - 0x174]
mov eax, dword [rbx + rax*4]
xor dword [rbx + rdx*4], eax
movzx eax, byte [rdi + 0x4a]
movzx ecx, byte [rdi + 0x25]
add eax, r13d
add ecx, 0xfffffe73
add ecx, eax
movzx eax, byte [rdi + 0x23]
shl eax, 0xb
add eax, 0xfff9107c
add eax, r13d
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 edx, r13d
lea ecx, [rax*4 - 0x6c]
add ecx, r13d
mov ecx, dword [rbx + rcx*4]
xor dword [rbx + rdx*4], ecx
movzx eax, byte [rdi + 0x48]
movzx edx, byte [rdi + 0x18]
shl edx, 0xa
add edx, 0xfffe7e3c
add edx, r13d
lea ecx, [rax*2 + 0x588]
add ecx, r13d
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, r13d
add eax, 0xfffe983c
add eax, r13d
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, r13d
mov dword [rbx + rcx*4], r8d
movzx ecx, byte [rdi + 0x15]
mov edx, ecx
shl edx, 0x10
add edx, 0xff1d039c
add edx, r13d
movzx eax, byte [rdi + 0x1f]
add ecx, 0x60f
add eax, ecx
add eax, r13d
mov eax, dword [rbx + rax*4]
xor dword [rbx + rdx*4], eax
movzx eax, byte [rdi + 0x6c]
movzx ecx, byte [rdi + 0x61]
add eax, r13d
add ecx, 0x650
inc r13d
add ecx, eax
lea eax, [r11 + 0x1ac]
mov eax, dword [rbx + rax*4]
xor dword [rbx + rcx*4], eax
cmp r13d, 0x20
jb 0x1401a0b88
mov rax, qword [0x1404524a8]
lea rdx, [rbx + 0x6a0]
xor r9d, r9d
mov dword [rsp + 0x28], 0x20
mov dword [rbp - 0x69], r9d
mov ecx, r9d
mov dword [rbp - 0x49], r9d
mov r8d, dword [rax]
lea rax, [rbp - 0x41]
add rax, r8
mov dword [rbp - 0x59], r9d
mov qword [rbp - 0x71], rax
lea rax, [rbp - 1]
movaps xmm0, xmmword [rbp - 0x71]
add rax, r8
test rdx, rdx
mov dword [rbp - 9], r9d
mov qword [rbp - 1], rdx
lea rdx, [rbx + 0x1ac0]
cmovne rcx, rax
movdqa xmmword [rbp - 0x71], 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
mov ecx, r9d
mov dword [rbp - 0x39], r9d
cmovne rcx, rax
mov dword [rbp + 7], r9d
mov qword [rbp - 0x61], rcx
lea rax, [rbp - 0x31]
movaps xmm0, xmmword [rbp - 0x61]
add rax, r8
mov ecx, r9d
mov dword [rbp - 0x1d], r9d
mov qword [rbp - 0x25], rdx
lea r8, [rbp - 0x61]
mov dword [rbp - 0x29], r9d
lea rdx, [rbp - 0x11]
test r12, r12
mov qword [rbp - 0x41], rdi
lea r9, [rbp - 0x51]
mov qword [rbp - 0x31], r12
cmovne rcx, rax
movdqa xmmword [rbp - 0x61], xmm0
mov qword [rbp - 0x11], rcx
lea rax, [rbp - 0x71]
movaps xmm1, xmmword [rbp - 0x11]
mov rcx, rsi
movdqa xmmword [rbp - 0x11], xmm1
mov qword [rsp + 0x20], rax
call fcn.1401a5c8c
mov rax, qword [rbp + 0x5f]
lea r8, [rbp - 0x71]
mov r9, qword [rbp + 0x67]
mov rdx, r14
mov qword [rsp + 0x30], r15
mov rcx, rsi
mov qword [rsp + 0x28], rbx
movaps xmm0, xmmword [rax]
movdqa xmmword [rbp - 0x71], xmm0
mov qword [rsp + 0x20], rdi
call fcn.1401a0f60
mov rbx, qword [rsp + 0x100]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret