Function at 0x140126fe0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x228
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x190], xmm6
mov qword [rbp + 0x188], 0xfffffffffffffffe
mov r10, rdx
mov edx, dword [0x1405759bc]
lea eax, [rdx - 1]
imul eax, edx
mov r8d, 0xacb9b955
add r8d, dword [0x1405129b8]
xor edx, edx
div r8d
test edx, edx
jne 0x140127050
mov rax, qword [0x140512810]
movsxd r9, dword [rax]
mov edx, dword [0x1405759c0]
cmp edx, 0x25
jl 0x140127066
nop word [rax + rax]
mov rax, qword [0x140512810]
mov eax, dword [rax]
mov eax, dword [0x1405759c0]
cmp eax, 0x46
jge 0x140127050
jmp 0x140127032
mov edx, dword [0x1405759bc]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
nop dword [rax + rax]
mov edx, dword [0x1405759c0]
cmp edx, 0x18
jg 0x140127080
mov edx, dword [0x14043afc0]
mov dword [rbp + 0x184], edx
test r10, r10
je 0x1401277cb
neg r9
neg rax
mov rdx, r9
xor rdx, rax
and rax, r9
lea rsi, [rdx + rax*2]
neg rsi
mov eax, dword [r10 + 0xc4]
lea rdi, [r10 + rax]
add rdi, 0xd4
mov qword [rbp + 0x150], rcx
lea rax, [rcx + 0x50]
mov qword [rbp + 0x140], rax
xor r14d, r14d
xorps xmm6, xmm6
lea rbx, [fcn.140126fe0]
xor ecx, ecx
mov qword [rbp + 0x148], r10
jmp 0x140127127
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a87c0
add rdi, qword [rbp + 0x138]
mov rcx, qword [rbp + 0x130]
inc rcx
mov r10, qword [rbp + 0x148]
mov eax, dword [r10 + 0xc8]
cmp rcx, rax
jae 0x1401277bb
mov qword [rbp + 0x130], rcx
movzx r15d, word [rdi]
mov eax, dword [0x1405129a8]
mov ecx, 0xffffe937
add eax, ecx
mov ecx, 0xc4
sub rcx, r15
mov r8, qword [0x1405129b0]
movabs rdx, 0xf66bf57038b2c5fe
add r8, rdx
cmp r15w, ax
cmovbe r8, rcx
lea rcx, [r15 + rbp]
add rcx, 0xffffffffffffffa8
xor edx, edx
call fcn.14041da70
lea rcx, [rbp - 0x58]
mov qword [rbp + 0x128], rdi
mov rdx, rdi
mov qword [rbp + 0x138], r15
mov r8, r15
call fcn.14041d3c0
mov qword [rbp + 0x170], 0
mov qword [rbp + 0x178], 0xf
mov byte [rbp + 0x160], 0
lea rcx, [rbp - 0x14]
mov edx, 0x49cc8059
mov r8d, 0x2358c4f8
mov r9d, 0x5aa62003
call fcn.1400aa1d0
mov r12, rax
mov eax, dword [0x1405759c0]
cmp eax, 0x30
jl 0x1401275e0
jmp 0x140127625
lea rcx, [rbp + 0x160]
mov rdx, r12
lea r9, [rbp - 0x14]
call fcn.1400896c0
lea rax, [0x1404388f8]
mov qword [rbp + 0x158], rax
lea rax, [0x14043a0d8]
mov qword [rbp + 0xe8], rax
lea rax, [rbp + 0xf0]
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov byte [rbp + 0x108], 1
movups xmmword [rax + 0x28], xmm6
movups xmmword [rax + 0x1c], xmm6
movzx eax, word [rbp - 0x56]
mov ecx, dword [0x1405129a8]
mov edx, 0xffffe873
add ecx, edx
xor ecx, eax
xor eax, 1
and ecx, 0xfffffffe
or ecx, eax
cmp cx, 0xffff
je 0x140127330
cmp qword [rbp + 0xf0], 0
je 0x14012728b
mov rcx, qword [rbp + 0xf0]
test rcx, rcx
je 0x14012728b
mov edx, 0xe6901866
mov r8d, 0x8240a84c
call fcn.1400a87c0
lea rax, [rbp + 0xf0]
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov byte [rbp + 0x108], 1
mov ecx, 0x40
call fcn.1403f5424
mov qword [rbp + 0xf0], rax
mov qword [rbp + 0x100], 0x40
mov qword [rbp + 0xf8], 0x40
lea rcx, [rbp - 0x14]
movups xmm0, xmmword [rcx - 0x40]
movups xmm1, xmmword [rcx - 0x30]
movups xmm2, xmmword [rcx - 0x20]
movups xmm3, xmmword [rcx - 0x10]
movups xmmword [rax + 0x30], xmm3
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov r12, qword [rbp + 0x110]
jmp 0x140127304
add r12, 8
cmp r12, qword [rbp + 0x118]
je 0x140127330
mov rcx, qword [r12]
test rcx, rcx
je 0x140127300
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov edx, 1
call qword [case.0x14013cbc3.0]
jmp 0x140127300
xor ecx, ecx
cmp edi, r13d
setne cl
mov eax, dword [0x14043afb4]
mov r11d, 0xacb9b99d
nop word cs:[rax + rax]
test r14b, r14b
je 0x140127370
lea edx, [rbx + rbx]
add edx, 0x4a0
mov r8d, edx
not r8d
test r8d, edx
jne 0x140127350
jmp 0x140127350
dec ecx
sub eax, r15d
and eax, ecx
movzx ecx, byte [0x1405129b8]
add cl, 0x63
mov r8d, eax
shr r8d, cl
or r8d, eax
nop word [rax + rax]
mov eax, dword [0x1405759c0]
cmp eax, 0x32
jg 0x1401273bc
mov eax, dword [0x1405759c0]
mov ecx, dword [0x1405129b8]
mov edx, ecx
xor edx, 0xacb9b96a
and ecx, 0x2cb9b96a
lea ecx, [rdx + rcx*2]
cmp eax, ecx
jl 0x1401273e0
mov eax, dword [0x1405759bc]
mov ecx, dword [0x1405129b8]
neg ecx
add ecx, eax
add ecx, 0xacb9b954
imul ecx, eax
test cl, 1
jne 0x140127390
jmp 0x14012739b
movzx ecx, r8w
shr ecx, 8
nop word [rax + rax]
mov edx, dword [0x1405759bc]
lea eax, [rdx - 1]
imul eax, edx
mov r9d, dword [0x1405129b8]
lea r10d, [r9 - 0x534646ab]
xor edx, edx
div r10d
add r9d, 0xacb9b953
cmp edx, r9d
je 0x14012742e
mov eax, dword [0x1405759c0]
mov edx, dword [0x1405129b8]
add edx, r11d
cmp eax, edx
jge 0x1401273f0
mov eax, r8d
not al
xor r8b, cl
not cl
and cl, al
or cl, r8b
not cl
movzx eax, byte [0x1405759c5]
sub al, byte [0x1405129bc]
or cl, r8b
add al, cl
add al, 0x68
mov ecx, eax
xor cl, 0xfd
and al, 0x7d
add al, al
add al, cl
mov ecx, dword [0x1405759c0]
mov edx, dword [0x1405129b8]
mov r8d, 0xacb9b999
add edx, r8d
cmp ecx, edx
jge 0x1401275d0
nop dword [rax + rax]
mov byte [0x1405759c5], al
mov ecx, dword [0x1405759c0]
cmp ecx, 0x58
jg 0x1401275d0
lea rcx, [rbp + 0x70]
lea rdx, [rbp + 0x158]
lea r8, [rbp + 0xe8]
call fcn.140128d10
mov rcx, qword [rbp + 0x140]
lea rdx, [rbp + 0xd8]
lea r8, [rbp + 0x70]
call fcn.140129330
lea rcx, [rbp + 0x98]
call fcn.140075fb0
mov rax, qword [rbp + 0x90]
cmp rax, 0x10
mov rdi, qword [rbp + 0x128]
jb 0x140127552
mov rcx, qword [rbp + 0x78]
mov rdx, qword [0x1405129b0]
mov r8, rdx
movabs r9, 0xf66bf57038b2c5fe
xor r8, r9
mov r9, rdx
movabs r10, 0x766bf57038b2c5fe
and r9, r10
lea r8, [r8 + r9*2]
add rdx, rax
sub rdx, r8
movabs r8, 0xf66bf57038b2c5ff
add rdx, r8
cmp rdx, 0x1000
jb 0x14012754d
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x1401277e8
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a87c0
lea rcx, [rbp + 0xe8]
call fcn.140075fb0
mov rax, qword [rbp + 0x178]
cmp rax, 0x10
jb 0x14012710f
mov rcx, qword [rbp + 0x160]
mov rdx, qword [0x1405129b0]
add rdx, rax
movabs r8, 0xf66bf57038b2c5ff
add rdx, r8
cmp rdx, 0x1000
jb 0x14012710a
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
add rcx, qword [0x1405129b0]
movabs rdx, 0xf66bf57038b2c5fe
add rcx, rdx
cmp rcx, 0x20
jb 0x140127100
jmp 0x1401277ed
mov byte [0x1405759c5], al
jmp 0x140127480
mov ecx, dword [0x1405759a8]
mov r13d, dword [0x1405129b8]
mov eax, r13d
xor eax, 0xacb9b954
mov edx, r13d
and edx, 0x2cb9b954
lea edi, [rax + rdx*2]
add edi, ecx
mov dword [0x1405759a8], edi
mov edx, dword [0x1405759bc]
lea eax, [rdx - 1]
imul eax, edx
lea r8d, [r13 - 0x534646ab]
xor edx, edx
div r8d
test edx, edx
je 0x140127690
mov eax, dword [0x1405759a8]
mov r8d, eax
neg r8d
mov edx, eax
sub edx, dword [0x1405129b8]
mov cl, 0x54
sub cl, dl
mov edx, eax
shl edx, cl
mov ecx, edx
shl eax, cl
mov ecx, r8d
xor ecx, eax
and r8d, eax
lea edx, [rcx + r8*2]
mov ecx, eax
shl edx, cl
mov r8d, edx
shl r8d, cl
sub edx, r8d
imul edx, r8d
mov eax, r8d
sub eax, edx
neg edx
imul edx, r8d
sub edx, eax
mov ecx, eax
sub ecx, edx
imul ecx, edx
mov edx, eax
sub edx, ecx
mov ecx, edx
neg ecx
add eax, edx
imul eax, ecx
sub eax, edx
mov dword [0x1405759a8], eax
jmp 0x1401275e0
xor edi, ecx
not edi
and edi, ecx
add r13d, 0xacb9b953
xor r15d, r15d
cmp edi, r13d
mov r10d, dword [rbp + 0x184]
mov r11d, 0xacb9b9ad
jne 0x140127789
nop word cs:[rax + rax]
mov eax, dword [0x1405129b8]
mov ecx, eax
xor ecx, 0xacb9b953
and eax, 0x2cb9b953
add eax, eax
add eax, ecx
jne 0x1401276c0
test r10d, r10d
jle 0x140127789
xor eax, eax
xor r15d, r15d
nop word [rax + rax]
movsxd rcx, eax
mov edx, dword [0x1405759c0]
mov r8d, dword [0x1405129b8]
add r8d, r11d
cmp edx, r8d
jge 0x140127728
nop dword [rax + rax]
mov edx, dword [rsi + rcx]
mov r8d, dword [0x1405759bc]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
je 0x140127730
mov edx, dword [rsi + rcx]
jmp 0x140127710
mov ecx, r15d
not ecx
mov r9d, dword [0x1405129b8]
mov r8d, 0xacb9b952
add r9d, r8d
mov r8d, r9d
xor r8d, r9d
not r8d
and r8d, edx
xor r8d, r9d
and ecx, edx
nop word cs:[rax + rax]
mov edx, dword [0x1405129b8]
mov r9d, dword [0x1405759c0]
cmp r9d, 0x19
jg 0x140127760
and r15d, r8d
or r15d, ecx
add eax, edx
add eax, 0xacb9b957
cmp eax, r10d
jl 0x1401276f0
cmp r12, 0xf
ja 0x1401271f0
mov qword [rbp + 0x170], r12
lea rcx, [rbp + 0x160]
lea rdx, [rbp - 0x14]
mov r8, r12
call fcn.14041d3c0
mov byte [rbp + r12 + 0x160], 0
jmp 0x140127203
mov rcx, qword [rbp + 0x150]
cmp qword [rcx + 0x58], rax
sete al
jmp 0x1401277cd
xor eax, eax
movaps xmm6, xmmword [rbp + 0x190]
add rsp, 0x228
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.1403d599c
call fcn.1403d599c
int3