Function at 0x140142cf0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x248
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x1b0], xmm6
mov qword [rbp + 0x1a8], 0xfffffffffffffffe
mov r12d, r9d
mov r14d, r8d
mov rsi, rdx
mov qword [rbp + 0x198], rcx
mov dword [rbp + 0x1a0], 0
mov dword [rsp + 0x28], 0x925ae42f
mov dword [rsp + 0x20], 0x33668de8
lea rdx, [rbp + 0x1a0]
xor ecx, ecx
xor r8d, r8d
mov r9d, 0xa31e849b
call fcn.140146cd0
mov r15d, r14d
lea rax, [0x14042b4b8]
mov qword [rbp + 0x150], rax
mov dword [rbp + 0x158], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x160], xmm0
mov byte [rbp + 0x170], 0
mov r9d, 0x5a560764
add r9d, dword [0x140500800]
lea rcx, [rbp + 0x150]
mov rdx, rsi
mov r8, r15
call fcn.140145ae0
mov byte [rbp + 0x170], al
cmp qword [rbp + 0x238], 0
je 0x140142dce
mov edi, dword [rbp + 0x240]
cmp byte [0x14055be98], 0
jne 0x140142e8a
jmp 0x140142e3a
lea rcx, [rbp + 0x1a0]
mov rdx, rsi
mov r8, r15
call fcn.1402c1c10
mov rcx, qword [rbp + 0x198]
mov rdx, rsi
mov r8d, r14d
mov r9d, r12d
call fcn.140143530
test al, al
je 0x14014332d
lea rcx, [rbp + 0x1a0]
call fcn.1402c2150
mov rcx, qword [rbp + 0x230]
mov dword [rcx], eax
mov rax, qword [rbp + 0x198]
mov eax, dword [rax + 0x98]
and eax, 0x100
mov ecx, 0x6c45f968
add ecx, dword [0x140500800]
cmp eax, ecx
setne sil
jmp 0x14014332f
movzx eax, byte [0x140500804]
mov ecx, eax
xor cl, 0x64
and al, 0x64
add al, al
mov edx, ecx
xor dl, al
and al, cl
add al, al
add al, dl
mov byte [rbp - 0x48], al
lea rbx, [rbp - 0x44]
mov r8d, 0x150
mov rcx, rbx
xor edx, edx
call fcn.14040d340
mov ecx, dword [0x14055be90]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, 0x6c45f96a
add ecx, dword [0x140500800]
xor edx, edx
div ecx
test edx, edx
je 0x140142ea1
mov byte [rbp - 0x48], 0
lea rcx, [rbp - 0x44]
mov r8d, 0x150
xor edx, edx
call fcn.14040d340
jmp 0x140142e3a
mov rcx, rbx
xor edx, edx
call fcn.1402bd010
mov eax, dword [0x140500800]
mov ecx, eax
xor ecx, 0x6b
and eax, 0x6b
lea ecx, [rcx + rax*2]
shl edi, cl
cmp edi, r14d
cmovae edi, r14d
test edi, edi
jle 0x1401432c4
movsxd rax, r12d
mov qword [rbp + 0x190], rax
xorps xmm6, xmm6
mov r14d, 0x6c45f968
xor r15d, r15d
mov al, 1
xor ecx, ecx
xor r12d, r12d
mov qword [rbp + 0x188], rsi
jmp 0x140142f0b
mov r12d, edx
cmp edx, edi
jge 0x1401432c4
movsxd rdx, ecx
mov r8, qword [rbp + 0x238]
test byte [r8 + rdx], al
jne 0x140142fd0
cmp r12d, edi
jge 0x140142fd0
xor r13d, r13d
jmp 0x140142f40
inc r13d
mov eax, ebx
mov ecx, esi
and dl, r8b
je 0x140142fe0
cmp qword [rbp + 0x238], 0
je 0x140142fb0
xor esi, esi
mov edx, eax
add dl, al
sete sil
movzx ebx, dl
mov edx, 1
cmove ebx, edx
add esi, ecx
movsxd rdx, esi
mov r8, qword [rbp + 0x238]
movzx edx, byte [r8 + rdx]
mov r8d, edx
not r8b
mov r9d, ebx
not r9b
and r9b, r8b
xor dl, bl
or dl, r9b
cmp dl, 0xff
sete dl
lea r8d, [r12 + r13]
inc r8d
cmp r8d, edi
setl r8b
mov r9d, dword [0x14055be94]
cmp r9d, 0x39
jl 0x140142f30
nop word cs:[rax + rax]
mov edx, dword [0x14055be90]
lea r8d, [rdx + 1]
imul r8d, edx
test r8b, 1
jne 0x140142fb0
jmp 0x140142f4a
xor r13d, r13d
mov ebx, eax
mov esi, ecx
jmp 0x140143187
mov r8d, r13d
mov edx, r12d
add rdx, qword [rbp + 0x188]
lea rcx, [rbp + 0x1a0]
mov qword [rbp + 0x180], rdx
mov qword [rbp + 0x178], r8
call fcn.1402c1c10
test r15b, 1
jne 0x14014316a
mov r9, qword [rbp + 0x198]
mov eax, dword [r9 + 0x98]
mov ecx, eax
not ecx
mov edx, eax
xor edx, 0x100
mov r8d, ecx
and r8d, 0xfffffeff
or r8d, edx
not r8d
and ecx, 0x100
and eax, 0xfffffeff
or eax, ecx
or eax, r8d
mov dword [r9 + 0x98], eax
mov rax, qword [rbp + 0x190]
lea r15, [rax + rax*4]
shl r15, 5
add r15, qword [r9 + 0x370]
mov rcx, r15
lea rdx, [rbp + 0x110]
xor r8d, r8d
call fcn.140328eb0
test al, al
je 0x140143324
mov rcx, r15
lea rdx, [rbp + 0x130]
lea r8, [rbp + 0x110]
mov r9d, 0x20
call fcn.1403297e0
lea r8, [fcn.140142cf0]
nop word cs:[rax + rax]
cmp byte [0x14055be98], 0
je 0x1401430e1
mov eax, dword [0x140500800]
mov ecx, 0x6c45f969
add eax, ecx
lea ecx, [r8 + r8]
add ecx, 0x7a0
mov edx, ecx
xor edx, eax
not eax
not ecx
and ecx, eax
or ecx, edx
cmp ecx, 0xffffffff
jne 0x1401430b0
movzx r9d, byte [rbp - 0x48]
lea rax, [rbp + 0xc]
mov qword [rsp + 0x20], rax
mov r8d, 0x20
lea rcx, [rbp - 0x44]
lea rdx, [rbp + 0x130]
call fcn.1402bd1c0
mov eax, dword [0x14055be90]
mov ecx, dword [0x140500800]
not ecx
add ecx, eax
imul ecx, eax
test cl, 1
jne 0x140143280
nop word cs:[rax + rax]
lea rax, [rbp + 0xc]
movups xmmword [rax], xmm6
mov eax, dword [0x140500800]
mov ecx, eax
xor ecx, 0x6c45f968
and eax, 0x6c45f968
lea eax, [rcx + rax*2]
lea rcx, [fcn.140142cf0]
add ecx, ecx
add ecx, 0x1c40
mov edx, ecx
not edx
and edx, ecx
cmp edx, eax
jne 0x140143280
mov r15b, 1
lea rcx, [rbp - 0x44]
mov rdx, qword [rbp + 0x180]
mov r8, qword [rbp + 0x178]
mov r9, rdx
call fcn.1402bd650
movsxd rax, esi
mov ecx, ebx
not cl
mov edx, ebx
xor dl, cl
mov r8, qword [rbp + 0x238]
and dl, byte [r8 + rax]
xor dl, cl
mov eax, edx
not al
xor dl, bl
and al, cl
or al, dl
not al
movzx ecx, byte [0x140500804]
add cl, 0x64
lea edx, [r12 + r13]
cmp al, cl
je 0x140143240
cmp edx, edi
jge 0x140143240
mov eax, ebx
mov ecx, esi
mov bl, 1
nop
mov edx, ecx
xor ecx, ecx
add al, al
sete cl
movzx eax, al
mov r8d, 1
cmove eax, r8d
add ecx, edx
mov r8d, dword [0x140500800]
lea edx, [r8 + r13]
movsxd r9, ecx
mov r10, qword [rbp + 0x238]
movzx r9d, byte [r10 + r9]
mov r10d, r9d
not r10b
mov r11d, eax
not r11b
and r11b, r10b
xor r9b, al
or r9b, r11b
add edx, r12d
add edx, 0x6c45f969
cmp r9b, 0xff
je 0x140143246
add r13d, r8d
add r13d, 0x6c45f969
cmp edx, edi
jl 0x1401431d0
jmp 0x140143246
mov ecx, esi
mov eax, ebx
mov bl, 1
mov r8d, dword [0x140500800]
mov r9d, r8d
xor r9d, 0x6c45f969
and r8d, 0x6c45f969
lea r8d, [r9 + r8*2]
lea r9, [fcn.140142cf0]
add r9d, r9d
add r9d, 0x480
xor r8d, r9d
not r8d
test r8d, r9d
jne 0x1401432a0
jmp 0x140143290
lea rax, [rbp + 0xc]
movups xmmword [rax], xmm6
jmp 0x140143130
test bl, bl
jne 0x140142f00
nop dword [rax + rax]
mov r8d, dword [0x14055be90]
lea r9d, [r8 - 1]
imul r9d, r8d
and r9d, 1
mov r8d, dword [0x140500800]
add r8d, r14d
cmp r9d, r8d
jne 0x1401432a0
jmp 0x140143290
lea rcx, [rbp - 0x44]
call fcn.1402bd500
nop dword [rax]
mov eax, dword [0x14055be94]
mov ecx, dword [0x140500800]
mov edx, ecx
xor edx, 0x5e88b3c0
and ecx, 0x5e88b3c0
lea ecx, [rdx + rcx*2]
mov edx, ecx
xor edx, 0xdbd4601
and ecx, 0xdbd4601
lea ecx, [rdx + rcx*2]
cmp eax, ecx
jge 0x140143317
mov eax, dword [0x14055be90]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x140142dfd
mov eax, dword [0x14055be94]
cmp eax, 0x46
jge 0x1401432d0
jmp 0x140143302
lea rcx, [rbp - 0x44]
call fcn.1402bd500
xor esi, esi
lea rax, [0x14042b4b8]
mov qword [rbp + 0x150], rax
movzx eax, byte [rbp + 0x170]
movzx ecx, byte [0x14055be98]
mov edx, ecx
xor dl, al
and cl, al
add cl, cl
add cl, dl
je 0x140143384
nop word [rax + rax]
mov eax, dword [0x14055be90]
mov ecx, dword [0x140500800]
dec ecx
xor ecx, eax
imul ecx, eax
test cl, 1
jne 0x140143360
lea rcx, [rbp + 0x150]
call fcn.14013a680
mov eax, esi
movaps xmm6, xmmword [rbp + 0x1b0]
add rsp, 0x248
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret