Function at 0x140193830
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 rdi, rdx
mov qword [rbp + 0x198], rcx
mov rbx, qword [rbp + 0x238]
mov dword [rbp + 0x1a0], 0
mov esi, 0xea3a
mov eax, dword [0x140613c70]
add eax, esi
cdqe
add rax, qword [0x140613c80]
mov dword [rsp + 0x40], 0xda06a5ad
mov dword [rsp + 0x38], 0xee2f34b0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
lea r8, [rbp + 0x1a0]
mov ecx, 1
xor edx, edx
xor r9d, r9d
call qword [0x1405fc400]
mov r15d, r14d
lea rax, [0x140532f18]
mov qword [rbp + 0x160], rax
mov dword [rbp + 0x168], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x170], xmm0
add esi, dword [0x140613c74]
mov byte [rbp + 0x180], 0
movsxd rax, esi
add rax, qword [0x140613c88]
lea rcx, [rbp + 0x160]
mov rdx, rdi
mov r8, r15
mov r9d, 0x984bb7be
call qword [0x1405fc400]
mov byte [rbp + 0x180], al
test rbx, rbx
je 0x140193c99
mov byte [rbp - 0x38], 0
lea rsi, [rbp - 0x34]
mov r8d, 0x150
mov rcx, rsi
xor edx, edx
call fcn.140512320
mov rcx, rsi
xor edx, edx
call fcn.1403503e0
mov qword [rbp + 0x188], rdi
mov edi, dword [rbp + 0x240]
shl edi, 3
cmp edi, r14d
cmovae edi, r14d
test edi, edi
mov r9, qword [rbp + 0x238]
jle 0x140193c8e
movsxd rax, r12d
mov qword [rbp + 0x190], rax
mov r14b, 1
mov r10d, 1
xorps xmm6, xmm6
xor r15d, r15d
xor ebx, ebx
xor esi, esi
nop
mov eax, dword [0x140693ecc]
cmp eax, 0x3e
movsxd rax, ebx
movzx eax, byte [r9 + rax]
mov ecx, eax
not cl
mov edx, r14d
not dl
and dl, cl
xor al, r14b
or al, dl
cmp al, 0xff
sete al
or al, byte [0x140693ed0]
cmp esi, edi
setl cl
mov edx, dword [0x140693ec8]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x1401939a9
xor r12d, r12d
and al, cl
je 0x140193c01
mov r13d, esi
mov r12d, 1
nop dword [rax]
mov eax, ebx
xor ebx, ebx
add r14b, r14b
sete bl
movzx r14d, r14b
cmove r14d, r10d
add ebx, eax
movsxd rax, ebx
movzx eax, byte [r9 + rax]
mov ecx, eax
not cl
mov edx, r14d
not dl
and al, dl
and dl, cl
and cl, r14b
or al, cl
or dl, al
cmp dl, 0xff
jne 0x140193a50
lea eax, [r12 + r13]
cmp eax, edi
jge 0x140193a50
inc r12
jmp 0x140193a00
add r13, qword [rbp + 0x188]
lea rcx, [rbp + 0x1a0]
mov rdx, r13
mov r8, r12
call fcn.140357d00
mov eax, r15d
not al
mov ecx, eax
and cl, 1
and r15b, 0xfe
or r15b, cl
and al, 0xfe
xor al, r15b
not al
movzx edx, byte [0x1406143d0]
mov ecx, edx
not cl
mov r8d, edx
and r8b, 0xc3
mov r9d, ecx
and r9b, 0x3c
or r9b, r8b
xor dl, 0x3c
and cl, 0x43
or cl, dl
not cl
add cl, cl
add cl, r9b
add cl, 0xa2
mov edx, ecx
xor dl, 0x5e
and cl, 0x5e
add cl, cl
add cl, dl
cmp al, cl
jne 0x140193b80
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 + 0x120]
xor r8d, r8d
call fcn.140403220
test al, al
je 0x140193cee
mov rcx, r15
lea rdx, [rbp + 0x140]
lea r8, [rbp + 0x120]
mov r9d, 0x20
call fcn.140403830
movzx r9d, byte [rbp - 0x38]
lea rax, [rbp + 0x1c]
mov qword [rsp + 0x20], rax
mov r8d, 0x20
lea rcx, [rbp - 0x34]
lea rdx, [rbp + 0x140]
call fcn.1403505c0
lea rax, [rbp + 0x1c]
movups xmmword [rax], xmm6
nop dword [rax + rax]
lea rax, [fcn.140193830]
add eax, eax
add eax, 0x4a40
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xfffffffe
lea r8d, [rdx + 1]
xor r8d, ecx
xor edx, 0xfffffffe
or edx, r8d
not edx
and ecx, edx
or eax, r8d
and r8d, edx
or eax, 1
xor eax, edx
and edx, 0xfffffffe
xor edx, ecx
or eax, r8d
or eax, edx
cmp eax, 0xffffffff
je 0x140193bd3
mov eax, dword [0x140693ec8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140193b80
cmp dword [0x1406143d4], 0x5a3ccce5
jne 0x140193bc2
lea rcx, [rbp - 0x34]
mov rdx, r13
mov r8, r12
mov r9, r13
call fcn.1403509c0
mov r15b, 1
mov r9, qword [rbp + 0x238]
mov r10d, 1
movsxd rax, ebx
movzx eax, byte [r9 + rax]
mov ecx, eax
not cl
mov edx, r14d
not dl
and al, dl
and dl, cl
and cl, r14b
or al, cl
or dl, al
lea eax, [r12 + rsi]
cmp dl, 0xff
je 0x140193c70
cmp eax, edi
jge 0x140193c70
add esi, r12d
inc esi
nop
movzx eax, byte [0x1406143d0]
mov ecx, eax
xor cl, 0x42
and cl, al
xor al, 0x3d
add cl, cl
add cl, al
shl r14b, cl
mov eax, ebx
xor ebx, ebx
test r14b, r14b
sete bl
movzx r14d, r14b
cmove r14d, r10d
add ebx, eax
movsxd rax, ebx
test byte [r9 + rax], r14b
je 0x140193c72
cmp esi, edi
jge 0x140193c72
inc esi
jmp 0x140193c30
mov esi, eax
mov eax, dword [0x140693ecc]
cmp eax, 0xf
mov eax, dword [0x140693ecc]
cmp eax, 0x53
jge 0x140193c7b
cmp esi, edi
jl 0x1401939a0
lea rcx, [rbp - 0x34]
call fcn.140350890
jmp 0x140193cc4
lea rcx, [rbp + 0x1a0]
mov rdx, rdi
mov r8, r15
call fcn.140357d00
mov rcx, qword [rbp + 0x198]
mov rdx, rdi
mov r8d, r14d
mov r9d, r12d
call fcn.140193ec0
test al, al
je 0x140193d26
lea rcx, [rbp + 0x1a0]
call fcn.140358200
mov rcx, qword [rbp + 0x230]
mov dword [rcx], eax
mov rax, qword [rbp + 0x198]
mov esi, dword [rax + 0x98]
shr esi, 8
and esi, 1
jmp 0x140193d28
mov eax, dword [0x140693ecc]
cmp eax, 0x61
jg 0x140193d10
jmp 0x140193cfb
mov eax, dword [0x140693ecc]
cmp eax, 0xb
jl 0x140193d1d
nop word cs:[rax + rax]
mov eax, dword [0x140693ecc]
cmp eax, 0x24
jge 0x140193d10
jmp 0x140193cfb
lea rcx, [rbp - 0x34]
call fcn.140350890
xor esi, esi
lea rax, [0x140532f18]
mov qword [rbp + 0x160], rax
cmp byte [rbp + 0x180], 0
je 0x140193d4b
lea rcx, [rbp + 0x160]
call fcn.14018b520
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