Function at 0x140134750
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1c8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x140], 0xfffffffffffffffe
mov r8, rdx
mov rdi, rcx
mov qword [rbp + 0x108], 0
mov qword [rbp + 0x110], 0xf
mov byte [rbp + 0xf8], 0
lea rsi, [0x140427b38]
mov qword [rbp + 0xf0], rsi
lea rdx, [rbp + 0xf0]
call fcn.140134140
cmp qword [0x14055bd90], 0
jne 0x1401347fe
mov ecx, 0xe8
call fcn.1403e4d2c
lea rcx, [0x140427ad8]
mov qword [rax], rcx
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0xf
mov byte [rax + 0x18], 0
mov qword [rax + 0x10], rsi
mov dword [rax + 8], 0
xorps xmm0, xmm0
movups xmmword [rax + 0x38], xmm0
mov qword [0x14055bd90], rax
mov rdx, qword [0x14055bd90]
add rdx, 0x10
lea rcx, [rbp - 0x48]
call fcn.140266730
mov qword [rbp + 0x130], 0
mov qword [rbp + 0x138], 0xf
mov byte [rbp + 0x120], 0
lea rax, [0x140429978]
mov qword [rbp + 0x118], rax
lea rcx, [rbp - 0x48]
lea rdx, [rbp - 0x20]
call fcn.1402694a0
lea rcx, [rbp + 0x118]
lea rdx, [rbp - 0x20]
call fcn.140266970
mov rax, qword [rbp]
cmp rax, 0x10
jb 0x140134908
mov rdx, qword [rbp - 0x18]
mov rcx, qword [0x1404fef10]
add rcx, rax
movabs r9, 0x433f64b081d506e1
add r9, rcx
cmp r9, 0x1000
jb 0x1401348eb
mov rcx, qword [rdx - 8]
mov r8, rdx
xor r8, 0xfffffffffffffff8
not edx
and edx, 7
or rdx, r8
not rdx
lea rdx, [r8 + rdx*2]
sub rdx, rcx
cmp rdx, 0x20
jae 0x140134a0b
mov rdx, qword [0x1404fef10]
movabs r8, 0x433f64b081d50708
xor r8, rdx
movabs r9, 0x3cc09b4f7e2af8f7
xor r9, rdx
and r9, rdx
lea rdx, [r8 + r9*2]
mov r8, rax
xor r8, rdx
and rax, rdx
lea r9, [r8 + rax*2]
mov rdx, rcx
mov dword [rsp + 0x28], 0xb8994c06
mov dword [rsp + 0x20], 0x8f348b52
mov ecx, 1
xor r8d, r8d
call fcn.1401396a0
mov qword [rbp + 0xe8], rdi
lea rax, [rbp + 0xf8]
mov r9, qword [rbp + 0x108]
cmp qword [rbp + 0x110], 0x10
jb 0x14013492e
mov rax, qword [rbp + 0xf8]
movsxd rcx, dword [0x14042a9e0]
mov r12d, dword [0x14042a9e8]
test r9, r9
je 0x1401351d1
lea rbx, [rbp + 0x120]
lea rdx, [0x14042a9e0]
movabs r8, 0xa96aac4e8c141176
add r8, rdx
add r8, rcx
movabs rcx, 0x569553b173ebee8a
xor rcx, r8
movabs rdx, 0x296aac4e8c141175
xor rdx, r8
and rdx, r8
lea rsi, [rcx + rdx*2]
xorps xmm0, xmm0
movaps xmmword [rbp], xmm0
movaps xmmword [rbp + 0x30], xmm0
movaps xmmword [rbp + 0xd0], xmm0
movaps xmmword [rbp + 0xc0], xmm0
movaps xmmword [rbp + 0xb0], xmm0
movaps xmmword [rbp + 0xa0], xmm0
movaps xmmword [rbp + 0x90], xmm0
movaps xmmword [rbp + 0x80], xmm0
movaps xmmword [rbp + 0x70], xmm0
movaps xmmword [rbp + 0x60], xmm0
movaps xmmword [rbp + 0x50], xmm0
movaps xmmword [rbp + 0x40], xmm0
movaps xmmword [rbp + 0x20], xmm0
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp - 0x10], xmm0
movaps xmmword [rbp - 0x20], xmm0
mov byte [rbp + 0xf], 1
mov byte [rbp + 0x3c], 1
lea r10, [r9 + rax - 1]
movzx ecx, byte [r9 + rax - 1]
movzx r11d, byte [rbp + rcx - 0x20]
movzx r13d, byte [0x1404fef08]
add r13b, 0x36
mov ecx, dword [0x14055bdec]
cmp ecx, 0x3e
jge 0x140134a30
jmp 0x140134a10
call fcn.1403c4adc
mov ecx, dword [0x1404fec10]
lea edx, [rcx + 1]
mov dword [0x1404fec10], edx
mov edx, dword [0x14055bdec]
cmp edx, 0x3f
jl 0x140134abc
nop
mov r14d, dword [0x1404fec10]
movzx ecx, byte [0x1404fef18]
add cl, 0xe3
mov edx, r14d
shl edx, cl
sub r14d, edx
imul r14d, edx
mov ecx, r14d
sub ecx, edx
imul ecx, edx
sub r14d, ecx
imul r14d, ecx
mov edx, r14d
neg edx
lea r8d, [r14 - 1]
mov r15d, r8d
and r15d, ecx
mov edi, edx
xor edx, ecx
not ecx
and edi, ecx
or edi, r15d
and ecx, r8d
or ecx, edx
not ecx
lea ecx, [rdi + rcx*2]
sub ecx, r14d
mov edx, r14d
shl edx, cl
mov r8d, r14d
mov ecx, edx
shl r8d, cl
mov ecx, r8d
shl r14d, cl
mov edx, r14d
mov ecx, r8d
shl edx, cl
sub r14d, edx
mov dword [0x1404fec10], r14d
mov ecx, dword [0x14055bdec]
cmp ecx, 0x3b
jge 0x140134a30
jmp 0x140134a10
mov edx, 0xfffffffe
sub edx, ecx
not ecx
mov r15d, ecx
xor r15d, edx
and r15d, ecx
or r15d, edx
not r15d
mov ecx, dword [0x14055bde8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x140134af0
mov ecx, dword [0x14055bdec]
cmp ecx, 0x5b
jl 0x140134afd
mov ecx, dword [0x14055bdec]
cmp ecx, 0x53
jge 0x140134af0
jmp 0x140134ae5
test r15d, r15d
jne 0x140134b0b
test r12d, r12d
jg 0x140134d1d
xor r14d, r14d
mov ecx, dword [0x1404fef18]
mov edx, 0x79aaf51c
sub edx, ecx
add ecx, 0x86550ae3
lea r8, [fcn.140134750]
add r8d, r8d
add r8d, 0x1a0
xor ecx, r8d
not r8d
and r8d, edx
or r8d, ecx
cmp r8d, 0xffffffff
nop word cs:[rax + rax]
mov ecx, dword [0x14055bdec]
cmp ecx, 0x5a
jge 0x140134b50
cmp r11b, r13b
jne 0x140134b96
mov rcx, r9
cmp rcx, 1
je 0x140134b85
nop dword [rax]
movzx edx, byte [rax + rcx - 2]
cmp byte [rbp + rdx - 0x20], 0
jne 0x140134b8e
dec rcx
cmp rcx, 1
jne 0x140134b70
mov r10, 0xffffffffffffffff
jmp 0x140134b99
lea r10, [rax + rcx]
add r10, 0xfffffffffffffffe
sub r10, rax
mov rcx, qword [0x1404fef10]
add rcx, r9
movabs rdx, 0x433f64b081d506df
add rdx, rcx
movabs rsi, 0x433f64b081d506e0
cmp r10, rdx
jne 0x140134c37
cmp r9, r10
jb 0x1401351d1
sete cl
setne dl
movzx r8d, byte [0x14055bdf0]
mov r11d, r8d
xor r11b, 1
mov r12d, r8d
xor r12b, dl
mov r13d, r11d
and r13b, cl
or r13b, r12b
not r13b
and r11b, dl
and r8b, cl
or r8b, r11b
or r8b, r13b
movzx edx, r8b
and edx, 1
add rax, r10
mov rcx, qword [0x1404fef10]
mov r8, rcx
xor r8, rsi
and rcx, rsi
lea r8, [r8 + rcx*2]
sub r8, rdx
add r8, r9
mov qword [rbp + 0x108], r8
sub r8, r10
inc r8
add rdx, rax
mov rcx, rax
call fcn.14040cc90
mov r8, qword [rbp + 0x130]
cmp qword [rbp + 0x138], 0x10
mov rax, rbx
jb 0x140134c52
mov rax, qword [rbp + 0x120]
add rsi, qword [0x1404fef10]
cmp r8, rsi
je 0x1401351d6
xorps xmm0, xmm0
movaps xmmword [rbp], xmm0
movaps xmmword [rbp + 0x30], xmm0
movaps xmmword [rbp + 0xd0], xmm0
movaps xmmword [rbp + 0xc0], xmm0
movaps xmmword [rbp + 0xb0], xmm0
movaps xmmword [rbp + 0xa0], xmm0
movaps xmmword [rbp + 0x90], xmm0
movaps xmmword [rbp + 0x80], xmm0
movaps xmmword [rbp + 0x70], xmm0
movaps xmmword [rbp + 0x60], xmm0
movaps xmmword [rbp + 0x50], xmm0
movaps xmmword [rbp + 0x40], xmm0
movaps xmmword [rbp + 0x20], xmm0
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp - 0x10], xmm0
movaps xmmword [rbp - 0x20], xmm0
mov byte [rbp + 0xf], 1
mov byte [rbp + 0x3c], 1
mov rcx, r8
not rcx
lea rcx, [rcx + r8*2]
movzx edx, byte [rax + rcx]
cmp byte [rbp + rdx - 0x20], 0
je 0x140134cd9
add rcx, rax
jmp 0x140134d4f
mov rcx, r8
cmp rcx, 1
je 0x140134d11
nop word cs:[rax + rax]
movzx edx, byte [rax + rcx - 2]
movzx r9d, byte [0x1404fef08]
add r9b, 0x36
cmp byte [rbp + rdx - 0x20], r9b
jne 0x140134d48
dec rcx
cmp rcx, 1
jne 0x140134cf0
mov r9, 0xffffffffffffffff
jmp 0x140134da1
mov ecx, 8
xor r14d, r14d
nop word cs:[rax + rax]
lea edx, [rcx - 8]
movsxd rdx, edx
xor r14, qword [rsi + rdx]
cmp ecx, r12d
jge 0x140134b0e
add ecx, 8
jmp 0x140134d30
add rcx, rax
add rcx, 0xfffffffffffffffe
movabs rdx, 0xdef36b5ede08a137
add rdx, rcx
movabs rcx, 0x12c126bd73e64734
mov r9, rdx
xor r9, rcx
and rdx, rcx
lea rcx, [r9 + rdx*2]
sub rcx, rax
movabs rdx, 0x210c94a121f75ec9
add rdx, rcx
movabs rcx, 0xed3ed9428c19b8cc
xor rcx, rdx
movabs r9, 0x6d3ed9428c19b8cc
and r9, rdx
lea r9, [rcx + r9*2]
lea rdx, [r8 - 1]
xor ecx, ecx
test r15d, r15d
setne cl
mov r10, rcx
not r10
lea rcx, [r10 + rcx*2]
movabs r10, 0xf59f41776f5f3a2c
sub r10, qword [0x14042a950]
movabs r11, 0xa60be8890a0c5d4
mov rsi, r10
xor rsi, r11
and r10, r11
lea r10, [rsi + r10*2]
add r14, r10
neg r14
xor r14, rcx
not r14
and r14, rcx
movzx ecx, byte [0x1404fef10]
mov r10, r14
shr r10, cl
mov r11d, r10d
xor r11d, r14d
and r11d, r10d
not r10d
mov ecx, r14d
xor ecx, r10d
mov esi, ecx
and esi, r14d
or r11d, esi
not ecx
and ecx, r10d
or ecx, r11d
mov r10d, dword [0x14055bde8]
lea r11d, [r10 - 1]
imul r11d, r10d
test r11b, 1
je 0x140134e62
mov r10d, 0x86550ae2
nop dword [rax + rax]
mov r11d, dword [0x14055bde8]
mov esi, r11d
not esi
imul esi, r11d
and esi, 1
mov r11d, dword [0x1404fef18]
add r11d, r10d
cmp esi, r11d
jne 0x140134e40
add dword [0x14055bdf4], ecx
cmp r9, rdx
jne 0x140134e9a
cmp r8, r9
jb 0x1401351d6
setne cl
movzx edx, cl
add rax, r9
sub r8, rdx
mov qword [rbp + 0x130], r8
sub r8, r9
inc r8
add rdx, rax
mov rcx, rax
call fcn.14040cc90
mov rax, qword [rbp + 0x130]
mov rdx, qword [rbp + 0x138]
mov rcx, rdx
sub rcx, rax
cmp rcx, 2
mov rdi, qword [rbp + 0xe8]
jae 0x140134ef2
xor ecx, ecx
xor edx, edx
mov r8d, 0xf3fcdf37
mov r9d, 0x85ec1c4a
call fcn.140139ba0
mov qword [rsp + 0x20], 2
mov edx, 2
mov rcx, rbx
mov r9, rax
call fcn.1400875c0
lea r10, [rbp + 0xf8]
jmp 0x140134f3c
lea rcx, [rax + 2]
mov qword [rbp + 0x130], rcx
mov rcx, rbx
cmp rdx, 0x10
jb 0x140134f0d
mov rcx, qword [rbp + 0x120]
xor edx, edx
sub dx, word [0x1404fef1c]
mov r8d, edx
xor r8d, 0x35a2
and edx, 0x35a2
lea edx, [r8 + rdx*2]
neg edx
mov word [rcx + rax], dx
mov byte [rcx + rax + 2], 0
lea r10, [rbp + 0xf8]
mov r8, qword [rbp + 0x108]
cmp qword [rbp + 0x110], 0x10
jb 0x140134f54
mov r10, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x130]
mov rax, qword [rbp + 0x138]
mov rdx, qword [0x1404fef10]
add rdx, rcx
mov r9, rax
sub r9, rdx
movabs rdx, 0xbcc09b4f7e2af920
add rdx, r9
cmp rdx, r8
jae 0x140134f99
mov qword [rsp + 0x20], r8
mov rcx, rbx
mov rdx, r8
mov r9, r10
call fcn.1400875c0
jmp 0x140134fd5
mov rdx, r8
xor rdx, r8
not rdx
and rdx, rcx
xor rdx, r8
mov r9, rcx
and r9, r8
lea rsi, [rdx + r9*2]
mov qword [rbp + 0x130], rsi
cmp rax, 0x10
jb 0x140134fc6
mov rbx, qword [rbp + 0x120]
add rcx, rbx
mov rdx, r10
call fcn.14040cc90
mov byte [rbx + rsi], 0
lea rdx, [rbp + 0x118]
mov rcx, rdi
call fcn.1401331f0
mov rax, qword [rbp + 0x138]
cmp rax, 0x10
jb 0x14013505e
mov rdx, qword [rbp + 0x120]
mov rcx, qword [0x1404fef10]
movabs r8, 0x433f64b081d506e1
mov r9, rcx
xor r9, r8
and rcx, r8
lea r9, [r9 + rcx*2]
add r9, rax
cmp r9, 0x1000
jb 0x140135041
mov rcx, qword [rdx - 8]
add rdx, 0xfffffffffffffff8
sub rdx, rcx
cmp rdx, 0x20
jae 0x1401351db
add rax, 0x28
mov r9, rax
mov rdx, rcx
mov dword [rsp + 0x28], 0xb8994c06
mov dword [rsp + 0x20], 0x8f348b52
mov ecx, 1
xor r8d, r8d
call fcn.1401396a0
mov rax, qword [rbp - 0x28]
cmp rax, 0x10
jb 0x14013514f
mov rdx, qword [rbp - 0x40]
mov rcx, qword [0x1404fef10]
movabs r8, 0x433f64b081d506e1
add r8, rcx
mov r9, r8
xor r9, r8
not r9
and r9, rax
xor r9, r8
movabs r8, 0x7ffffffffffffffe
xor r8, rax
and r8, rax
lea r9, [r9 + r8*2]
movabs r8, 0x433f64b081d516df
add r8, rcx
cmp r9, r8
jbe 0x140135132
mov rcx, qword [rdx - 8]
mov r8, qword [0x1404fef10]
mov r9, r8
not r9
movabs r10, 0xbcc09b4f7e2af927
and r10, r8
movabs r11, 0x433f64b081d506d8
movabs rsi, 0x3cc09b4f7e2af927
and rsi, r9
and r9, r11
or r9, r10
xor r8, r11
or rsi, r8
not rsi
lea r8, [r9 + rsi*2]
add r8, rdx
sub r8, rcx
cmp r8, 0x20
jae 0x1401351e0
neg rax
mov rdx, rax
xor rdx, 0xffffffffffffffd8
movabs r8, 0x7fffffffffffffd8
and r8, rax
lea r9, [rdx + r8*2]
neg r9
mov rdx, rcx
mov dword [rsp + 0x28], 0xb8994c06
mov dword [rsp + 0x20], 0x8f348b52
mov ecx, 1
xor r8d, r8d
call fcn.1401396a0
mov rax, qword [rbp + 0x110]
cmp rax, 0x10
jb 0x1401351bc
mov rdx, qword [rbp + 0xf8]
lea r9, [rax + 1]
cmp r9, 0x1000
jb 0x14013519f
mov rcx, qword [rdx - 8]
mov r8, rdx
xor r8, 0xfffffffffffffff8
movabs r9, 0x7ffffffffffffff8
and r9, rdx
lea rdx, [r8 + r9*2]
sub rdx, rcx
cmp rdx, 0x20
jae 0x1401351e5
add rax, 0x28
mov r9, rax
mov rdx, rcx
mov dword [rsp + 0x28], 0xb8994c06
mov dword [rsp + 0x20], 0x8f348b52
mov ecx, 1
xor r8d, r8d
call fcn.1401396a0
nop
add rsp, 0x1c8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.140113c30
call fcn.140113c30
call fcn.1403c4adc
call fcn.1403c4adc
call fcn.1403c4adc
int3