Function at 0x140022e90
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x40
mov rsi, rdx
mov eax, 0x4555af05
xor eax, 0x4555ae97
mov dword [rsp + 0x24], eax
jmp 0x140022ec7
call fcn.1400699f6
mov ecx, 0x49e0f581
add ecx, 0xb61f0a7f
cmp eax, ecx
jne 0x140023152
jmp 0x1400230f3
mov eax, dword [rsp + 0x24]
jmp 0x1400231fd
mov eax, dword [0x14011357c]
add eax, 0xd4fe496a
cdqe
lea rcx, case.0x140017fd7.0
mov rax, qword [rcx + rax*8]
mov ecx, dword [0x140113580]
xor ecx, 0x334ab443
sub rax, rcx
jmp rax
call fcn.140069a9d
xor ecx, ecx
shr ecx, 0x10
xor edx, edx
shl edx, 0x10
or ecx, edx
mov rdx, qword [rsp + 0x38]
mov r8d, 0x100000
shr r8, 0x14
mov r9d, 0x100000
shl r9, 0x2c
or r8, r9
mov r9, rdx
and r9, r8
movabs r8, 0x6423259fc9845afd
movabs r10, 0x9bdcda60367ba505
add r8, r10
imul r9, r8
movabs r8, 0x323bacaee86285b8
movabs r10, 0xcdc45351179d7a49
add r8, r10
xor rdx, r8
add rdx, r9
mov qword [rsp + 0x28], rdx
mov edx, 0x1910000
shl edx, 0x10
mov r8d, 0x1910000
shr r8d, 0x10
or edx, r8d
mov dword [rsp + 0x24], edx
cmp eax, ecx
jne 0x140022ef9
jmp 0x1400231e8
cmp eax, 0x192
jl 0x140023251
jmp 0x140023137
call fcn.140016080
mov eax, 0x6380000
shr eax, 0x12
mov ecx, 0x6380000
shl ecx, 0xe
or eax, ecx
mov dword [rsp + 0x24], eax
jmp 0x140023095
cmp eax, 0x194
jl 0x140022f8f
jmp 0x1400231ed
cmp eax, 0x190
jl 0x140023075
jmp 0x14002326b
call fcn.140069937
mov ecx, eax
mov edx, 0x5b32fbd0
xor edx, 0x5b32fbd0
mov rax, qword [rsp + 0x30]
cmp ecx, edx
jne 0x1400230aa
jmp 0x1400232b5
test cl, 1
jne 0x140023009
jmp 0x14002309a
mov eax, 0x31a0000
shl eax, 0xf
mov ecx, 0x31a0000
shr ecx, 0x11
or eax, ecx
mov dword [rsp + 0x24], eax
jmp 0x140023095
call fcn.1400699bd
xor ecx, ecx
shr ecx, 0x18
xor edx, edx
shl edx, 8
or ecx, edx
mov rdx, qword [rsi]
movabs r8, 0x41bb72b33c9840ef
movabs r9, 0x41bb72b33c9840f0
sub r8, r9
add rdx, r8
mov qword [rsi], rdx
mov edx, 0x7800000c
shl edx, 5
mov r8d, 0x7800000c
shr r8d, 0x1b
or edx, r8d
mov dword [rsp + 0x24], edx
cmp eax, ecx
jne 0x1400231ab
jmp 0x140023093
call fcn.14005886c
xor ecx, ecx
shl ecx, 3
xor edx, edx
shr edx, 0x1d
or ecx, edx
cmp eax, ecx
jne 0x140022fdb
jmp 0x1400232b5
jmp 0x140023095
jmp 0x140022ec7
mov eax, 0x49e331c7
xor eax, 0x49e33053
mov dword [rsp + 0x24], eax
jmp 0x140023095
add rsp, 0x40
pop rbx
pop rdi
pop rsi
ret
call fcn.140069a40
mov edx, 0xe2e2028
add edx, 0xf1d1dfd8
mov rcx, qword [rsp + 0x28]
mov qword [rsi], rcx
mov rcx, qword [rsp + 0x28]
xor r8d, r8d
shr r8, 0x31
xor r9d, r9d
shl r9, 0xf
or r8, r9
cmp rcx, r8
setl cl
cmp eax, edx
jne 0x1400232ba
jmp 0x140022fff
mov rax, qword [rsp + 0x28]
movabs rcx, 0x28898a6dee6e7cd9
movabs rdx, 0x28898a6dee6e7cd8
xor rcx, rdx
shl rax, cl
mov rcx, rax
call fcn.1400159b0
mov qword [rsp + 0x30], rax
mov eax, 0x32000000
shr eax, 0x15
mov ecx, 0x32000000
shl ecx, 0xb
or eax, ecx
mov dword [rsp + 0x24], eax
jmp 0x140023152
mov rax, qword [rsi]
mov qword [rsp + 0x38], rax
mov eax, 0x602af132
sub eax, 0x602aef9d
mov dword [rsp + 0x24], eax
jmp 0x140023095
call fcn.1400583f3
mov edi, eax
mov ebx, 0x1d1b1eee
xor ebx, 0x1d1b1eee
mov rax, qword [rsp + 0x28]
movabs rcx, 0x1faf453352366fd9
movabs rdx, 0x1faf453352366fd8
xor rcx, rdx
shl rax, cl
mov rcx, rax
call fcn.1400159b0
mov qword [rsp + 0x30], rax
mov eax, 0x273860b6
add eax, 0xd8c7a0da
mov dword [rsp + 0x24], eax
cmp edi, ebx
jne 0x1400230f3
jmp 0x140022ed0
mov rax, qword [rsi]
mov rcx, rax
not rcx
lea rax, [rcx + rax*2]
mov qword [rsi], rax
mov dword [rsp + 0x24], 0x18f
mov eax, dword [0x140113584]
rol eax, 0x1d
lea rcx, case.0x140017fd7.0
mov rax, qword [rcx + rax*8]
mov ecx, dword [0x140113588]
xor ecx, 0xd334511d
sub rax, rcx
jmp rax
jmp 0x140023095
cmp eax, 0x195
jl 0x140022eaa
jmp 0x140023288
cmp eax, 0x191
jl 0x140023245
jmp 0x140022fbf
mov rax, qword [rsp + 0x38]
movabs rcx, 0x40000000000000
shr rcx, 0x36
movabs rdx, 0x40000000000000
shl rdx, 0xa
or rcx, rdx
add rax, rcx
mov qword [rsp + 0x28], rax
mov eax, 0x7f2a2e18
sub eax, 0x7f2a2c87
mov dword [rsp + 0x24], eax
jmp 0x1400232a0
cmp eax, 0x18f
jl 0x1400232a5
jmp 0x140022fcb
call fcn.14005886c
mov ecx, 0x1dcbbeaa
sub ecx, 0x1dcbbeaa
cmp eax, ecx
jne 0x1400230b2
jmp 0x1400232ba
call fcn.14006997e
mov ecx, 0x4556995
sub ecx, 0x4556995
cmp eax, ecx
jne 0x140023021
jmp 0x1400231ab
call fcn.140069a67
mov ecx, 0x18c628bd
xor ecx, 0x18c628bd
cmp eax, ecx
jne 0x140023209
jmp 0x140022ef9
cmp eax, 0x18e
je 0x140023021
jmp 0x140022f9f
jmp 0x140022fdb
mov rax, qword [rsp + 0x28]
mov qword [rsi], rax
jmp 0x1400230b2