Function at 0x1401cd100
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1b8]
sub rsp, 0x290
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x140284028]
xor rax, rsp
mov qword [rbp + 0x168], rax
mov rbx, rcx
xorps xmm0, xmm0
movups xmmword [rbp + 0x150], xmm0
lea r13, [rbp + 0x1b8]
movabs rax, 0xff00ff00ff00ff00
mov qword [rbp + 0x158], rax
mov qword [rbp + 0x160], r13
mov r12, qword [r13]
xor r12, rax
mov qword [rbp + 0x150], r12
xor r15d, r15d
mov qword [r13], r15
xor eax, eax
movups xmmword [rbp + 0x138], xmm0
mov qword [rbp + 0x148], rax
movzx eax, word [0x14026e76c]
mov word [rsp + 0x30], ax
cmp byte [0x14026e76d], r15b
je 0x1401cd1af
mov byte [rsp + 0x30], 0x34
xor byte [rsp + 0x31], 0x44
movups xmmword [rsp + 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x48], xmm1
lea rax, [rsp + 0x30]
mov rsi, 0xffffffffffffffff
mov r8, rsi
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1401cd1d0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x38]
call fcn.1401d50a0
nop
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x138], xmm0
mov qword [rbp + 0x148], r15
mov edx, 1
call fcn.14021ff20
mov qword [rbp + 0x138], rax
mov qword [rbp + 0x140], rax
lea rdi, [rax + 0x20]
mov qword [rbp + 0x148], rdi
lea rcx, [rbp + 0x138]
mov qword [rsp + 0x30], rcx
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xc8], rax
lea rcx, [rbp + 0x138]
mov qword [rbp + 0xd0], rcx
lea rdx, [rsp + 0x38]
mov rcx, rax
call fcn.140218140
nop
mov qword [rbp + 0x140], rdi
lea r9, [fcn.1401c9dd0]
mov edx, 0x20
lea r8d, [rdx - 0x1f]
lea rcx, [rsp + 0x38]
call fcn.1402411dc
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], rax
movzx eax, word [0x14026ea98]
mov word [rsp + 0x30], ax
movzx eax, byte [0x14026ea9a]
mov byte [rsp + 0x30], 0x35
xor byte [rsp + 0x31], 0x44
xor al, 0x46
mov byte [rsp + 0x32], al
movups xmmword [rbp + 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x30], xmm1
lea rax, [rsp + 0x30]
mov r8, rsi
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1401cd2d0
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x20]
call fcn.1401d50a0
nop
movzx eax, word [0x14026e578]
mov word [rsp + 0x30], ax
movzx eax, byte [0x14026e57a]
mov byte [rsp + 0x30], 0x35
xor byte [rsp + 0x31], 0x44
xor al, 0x46
mov byte [rsp + 0x32], al
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x50], xmm1
lea rax, [rsp + 0x30]
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x1401cd323
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x40]
call fcn.1401d50a0
nop
movzx eax, word [0x14026f1ec]
mov word [rsp + 0x30], ax
movzx eax, byte [0x14026f1ee]
mov byte [rsp + 0x30], 0x35
xor byte [rsp + 0x31], 0x44
xor al, 0x46
mov byte [rsp + 0x32], al
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x70], xmm1
lea rax, [rsp + 0x30]
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x1401cd376
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x60]
call fcn.1401d50a0
nop
movzx eax, word [0x140270658]
mov word [rsp + 0x30], ax
movzx eax, byte [0x14027065a]
mov byte [rsp + 0x30], 0x35
xor byte [rsp + 0x31], 0x44
xor al, 0x46
mov byte [rsp + 0x32], al
xorps xmm0, xmm0
movups xmmword [rbp + 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x90], xmm1
lea rax, [rsp + 0x30]
mov r8, rsi
nop
inc r8
cmp byte [rax + r8], 0
jne 0x1401cd3d0
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x80]
call fcn.1401d50a0
nop
movzx eax, word [0x14026ecb0]
mov word [rsp + 0x30], ax
movzx eax, byte [0x14026ecb2]
mov byte [rsp + 0x30], 0x35
xor byte [rsp + 0x31], 0x44
xor al, 0x46
mov byte [rsp + 0x32], al
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xb0], xmm1
lea rax, [rsp + 0x30]
mov r8, rsi
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1401cd430
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0xa0]
call fcn.1401d50a0
nop
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], r15
mov edx, 5
call fcn.14021ff20
mov rdi, rax
mov qword [rbp + 0x120], rax
mov qword [rbp + 0x128], rax
lea rcx, [rax + 0xa0]
mov qword [rbp + 0x130], rcx
lea rax, [rbp + 0x120]
mov qword [rsp + 0x30], rax
lea r14, [rbp + 0x20]
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xc0], rdi
mov qword [rbp + 0xc8], rdi
lea rax, [rbp + 0x120]
mov qword [rbp + 0xd0], rax
nop dword [rax]
mov rdx, r14
mov rcx, rdi
call fcn.140218140
add rdi, 0x20
mov qword [rbp + 0xc8], rdi
add r14, 0x20
lea rax, [rbp + 0xc0]
cmp r14, rax
jne 0x1401cd4c0
mov qword [rbp + 0x128], rdi
lea r9, [fcn.1401c9dd0]
mov edx, 0x20
lea r8d, [rdx - 0x1b]
lea rcx, [rbp + 0x20]
call fcn.1402411dc
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x108], xmm0
mov qword [rbp + 0x118], rax
movzx eax, word [0x14026fd54]
mov word [rsp + 0x30], ax
movzx eax, byte [0x14026fd56]
mov byte [rsp + 0x30], 0x33
xor byte [rsp + 0x31], 0x44
xor al, 0x46
mov byte [rsp + 0x32], al
movups xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
lea rax, [rsp + 0x30]
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x1401cd552
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x60]
call fcn.1401d50a0
nop
movzx eax, word [0x14026fb6c]
mov word [rsp + 0x30], ax
movzx eax, byte [0x14026fb6e]
mov byte [rsp + 0x30], 0x33
xor byte [rsp + 0x31], 0x44
xor al, 0x46
mov byte [rsp + 0x32], al
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x70], xmm1
lea rax, [rsp + 0x30]
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x1401cd5a6
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x80]
call fcn.1401d50a0
nop
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x108], xmm0
mov qword [rbp + 0x118], r15
mov edx, 2
call fcn.14021ff20
mov rdi, rax
mov qword [rbp + 0x108], rax
mov qword [rbp + 0x110], rax
lea rcx, [rax + 0x40]
mov qword [rbp + 0x118], rcx
lea rax, [rbp + 0x108]
mov qword [rsp + 0x30], rax
lea r14, [rsp + 0x60]
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xc0], rdi
mov qword [rbp + 0xc8], rdi
lea rax, [rbp + 0x108]
mov qword [rbp + 0xd0], rax
nop
mov rdx, r14
mov rcx, rdi
call fcn.140218140
add rdi, 0x20
mov qword [rbp + 0xc8], rdi
add r14, 0x20
lea rax, [rbp - 0x60]
cmp r14, rax
jne 0x1401cd630
mov qword [rbp + 0x110], rdi
lea r9, [fcn.1401c9dd0]
mov edx, 0x20
lea r8d, [rdx - 0x1e]
lea rcx, [rsp + 0x60]
call fcn.1402411dc
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xf0], xmm0
mov qword [rbp + 0x100], rax
mov eax, dword [str.ttwyJ]
mov dword [rsp + 0x30], eax
movzx eax, byte [0x14026fc1c]
mov byte [rsp + 0x30], 0x36
xor byte [rsp + 0x31], 0x44
xor byte [rsp + 0x32], 0x46
xor byte [rsp + 0x33], 0x48
xor al, 0x4a
mov byte [rsp + 0x34], al
movups xmmword [rbp - 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x50], xmm1
lea rax, [rsp + 0x30]
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x1401cd6c6
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x60]
call fcn.1401d50a0
nop
mov eax, dword [str.tvtHsvuzJ]
mov dword [rsp + 0x30], eax
cmp byte [0x14026ec6f], 0
je 0x1401cd864
cmp dword [0x140284008], 2
jl 0x1401cd7fe
mov ecx, 0x1f
movd xmm6, ecx
movdqa xmm7, xmmword [0x140272810]
movdqa xmm4, xmm7
punpckldq xmm4, xmm7
movdqa xmm2, xmm7
punpckhdq xmm2, xmm7
movdqa xmm5, xmm4
pmuldq xmm5, xmmword [0x1402728d0]
movdqa xmm0, xmm2
pmuldq xmm0, xmmword [0x1402728d0]
shufps xmm5, xmm0, 0xdd
mov ecx, 3
movd xmm0, ecx
psrad xmm5, xmm0
pmuldq xmm4, xmmword [0x140272910]
pmuldq xmm2, xmmword [0x140272910]
shufps xmm4, xmm2, 0xdd
psubd xmm4, xmm7
mov ecx, 6
movd xmm0, ecx
psrad xmm4, xmm0
movdqa xmm1, xmm4
psrld xmm1, xmm6
paddd xmm1, xmm4
pmulld xmm1, xmmword [0x140272920]
movdqa xmm0, xmm7
psubd xmm0, xmm1
pshuflw xmm0, xmm0, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
pand xmm3, xmmword [0x1402728c0]
packuswb xmm3, xmm3
movdqa xmm0, xmm5
psrld xmm0, xmm6
paddd xmm0, xmm5
pmulld xmm0, xmmword [0x140272840]
psubd xmm7, xmm0
pshuflw xmm0, xmm7, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x1402728c0]
packuswb xmm2, xmm2
paddb xmm3, xmm2
paddb xmm3, xmmword [str.BBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCC]
movd xmm0, eax
pxor xmm3, xmm0
movd dword [rsp + 0x30], xmm3
jmp 0x1401cd864
lea r10, [rsp + 0x30]
mov r9d, r15d
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r9d
add edx, r9d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx r8d, r9b
sub r8b, cl
add r8b, 0x21
add r8b, r8b
mov eax, 0x13e22cbd
imul r9d
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x67
sub r8b, cl
xor byte [r10], r8b
inc r9d
lea r10, [r10 + 1]
cmp r9d, 4
jl 0x1401cd810
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x30], xmm1
lea rax, [rsp + 0x30]
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1401cd880
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x40]
call fcn.1401d50a0
nop
movzx eax, word [0x14026ed3c]
mov word [rsp + 0x30], ax
movzx eax, byte [0x14026ed3e]
mov byte [rsp + 0x30], 0x36
xor byte [rsp + 0x31], 0x44
xor al, 0x46
mov byte [rsp + 0x32], al
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x10], xmm1
lea rax, [rsp + 0x30]
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x1401cd8d3
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x20]
call fcn.1401d50a0
nop
movzx eax, word [0x14026ee38]
mov word [rsp + 0x30], ax
movzx eax, byte [0x14026ee3a]
mov byte [rsp + 0x30], 0x36
xor byte [rsp + 0x31], 0x44
xor al, 0x46
mov byte [rsp + 0x32], al
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x10], xmm1
lea rax, [rsp + 0x30]
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x1401cd926
lea rdx, [rsp + 0x30]
lea rcx, [rbp]
call fcn.1401d50a0
nop
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xf0], xmm0
mov qword [rbp + 0x100], r15
mov edx, 4
call fcn.14021ff20
mov rdi, rax
mov qword [rbp + 0xf0], rax
mov qword [rbp + 0xf8], rax
lea rcx, [rax + 0x80]
mov qword [rbp + 0x100], rcx
lea rax, [rbp + 0xf0]
mov qword [rsp + 0x30], rax
lea r14, [rbp - 0x60]
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xc0], rdi
mov qword [rbp + 0xc8], rdi
lea rax, [rbp + 0xf0]
mov qword [rbp + 0xd0], rax
mov rdx, r14
mov rcx, rdi
call fcn.140218140
add rdi, 0x20
mov qword [rbp + 0xc8], rdi
add r14, 0x20
lea rax, [rbp + 0x20]
cmp r14, rax
jne 0x1401cd9b0
mov qword [rbp + 0xf8], rdi
lea r9, [fcn.1401c9dd0]
mov edx, 0x20
lea r8d, [rdx - 0x1c]
lea rcx, [rbp - 0x60]
call fcn.1402411dc
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xd8], xmm0
mov qword [rbp + 0xe8], rax
movzx eax, word [0x14026ec3c]
mov word [rsp + 0x30], ax
movzx eax, byte [0x14026ec3e]
mov byte [rsp + 0x30], 0x36
xor byte [rsp + 0x31], 0x44
xor al, 0x46
mov byte [rsp + 0x32], al
movups xmmword [rsp + 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x48], xmm1
lea rax, [rsp + 0x30]
nop dword [rax]
inc rsi
cmp byte [rax + rsi], 0
jne 0x1401cda40
mov r8, rsi
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x38]
call fcn.1401d50a0
nop
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xd8], xmm0
mov qword [rbp + 0xe8], r15
mov edx, 1
call fcn.14021ff20
mov qword [rbp + 0xd8], rax
mov qword [rbp + 0xe0], rax
lea rdi, [rax + 0x20]
mov qword [rbp + 0xe8], rdi
lea rcx, [rbp + 0xd8]
mov qword [rsp + 0x30], rcx
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xc8], rax
lea rcx, [rbp + 0xd8]
mov qword [rbp + 0xd0], rcx
lea rdx, [rsp + 0x38]
mov rcx, rax
call fcn.140218140
nop
mov qword [rbp + 0xe0], rdi
lea r9, [fcn.1401c9dd0]
mov edx, 0x20
lea r8d, [rdx - 0x1f]
lea rcx, [rsp + 0x38]
call fcn.1402411dc
mov rdi, qword [rbp + 0x138]
mov rsi, qword [rbp + 0x140]
cmp rdi, rsi
je 0x1401cdb4f
mov r14, qword [rbx + 0x18]
mov r15, qword [rbx + 0x10]
nop dword [rax]
mov rax, qword [rdi + 0x10]
mov r9, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x1401cdb21
mov r9, qword [rdi]
mov rcx, rbx
cmp r14, 0x10
jb 0x1401cdb2d
mov rcx, qword [rbx]
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, r15
call fcn.14021d370
test rax, rax
je 0x1401cdd60
add rdi, 0x20
cmp rdi, rsi
jne 0x1401cdb10
mov rdi, qword [rbp + 0x120]
mov rsi, qword [rbp + 0x128]
cmp rdi, rsi
je 0x1401cdbaf
mov r14, qword [rbx + 0x18]
mov r15, qword [rbx + 0x10]
nop word [rax + rax]
mov rax, qword [rdi + 0x10]
mov r9, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x1401cdb81
mov r9, qword [rdi]
mov rcx, rbx
cmp r14, 0x10
jb 0x1401cdb8d
mov rcx, qword [rbx]
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, r15
call fcn.14021d370
test rax, rax
je 0x1401cdd60
add rdi, 0x20
cmp rdi, rsi
jne 0x1401cdb70
mov rdi, qword [rbp + 0x108]
mov rsi, qword [rbp + 0x110]
cmp rdi, rsi
je 0x1401cdc0f
mov r14, qword [rbx + 0x18]
mov r15, qword [rbx + 0x10]
nop word [rax + rax]
mov rax, qword [rdi + 0x10]
mov r9, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x1401cdbe1
mov r9, qword [rdi]
mov rcx, rbx
cmp r14, 0x10
jb 0x1401cdbed
mov rcx, qword [rbx]
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, r15
call fcn.14021d370
test rax, rax
je 0x1401cdd60
add rdi, 0x20
cmp rdi, rsi
jne 0x1401cdbd0
mov rdi, qword [rbp + 0xf0]
mov rsi, qword [rbp + 0xf8]
cmp rdi, rsi
je 0x1401cdc6f
mov r14, qword [rbx + 0x18]
mov r15, qword [rbx + 0x10]
nop word [rax + rax]
mov rax, qword [rdi + 0x10]
mov r9, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x1401cdc41
mov r9, qword [rdi]
mov rcx, rbx
cmp r14, 0x10
jb 0x1401cdc4d
mov rcx, qword [rbx]
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, r15
call fcn.14021d370
test rax, rax
je 0x1401cdd60
add rdi, 0x20
cmp rdi, rsi
jne 0x1401cdc30
mov rdi, qword [rbp + 0xd8]
mov rsi, qword [rbp + 0xe0]
cmp rdi, rsi
je 0x1401cdccf
mov r14, qword [rbx + 0x18]
mov r15, qword [rbx + 0x10]
nop word [rax + rax]
mov rax, qword [rdi + 0x10]
mov r9, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x1401cdca1
mov r9, qword [rdi]
mov rcx, rbx
cmp r14, 0x10
jb 0x1401cdcad
mov rcx, qword [rbx]
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, r15
call fcn.14021d370
test rax, rax
je 0x1401cdd60
add rdi, 0x20
cmp rdi, rsi
jne 0x1401cdc90
xor bl, bl
lea rcx, [rbp + 0xd8]
call fcn.1402194e0
nop
lea rcx, [rbp + 0xf0]
call fcn.1402194e0
nop
lea rcx, [rbp + 0x108]
call fcn.1402194e0
nop
lea rcx, [rbp + 0x120]
call fcn.1402194e0
nop
lea rcx, [rbp + 0x138]
call fcn.1402194e0
nop
movabs rax, 0xff00ff00ff00ff00
xor r12, rax
mov qword [r13], r12
movzx eax, bl
mov rcx, qword [rbp + 0x168]
xor rcx, rsp
call fcn.140240c60
lea r11, [rsp + 0x290]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov bl, 1
jmp 0x1401cdcd1