Function at 0x140022c20
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x68
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rcx
mov rdx, qword [rcx]
movabs rax, 0xc25a7abac115eb07
movabs rcx, 0x3da585453eea14f8
xor rax, rcx
mov rcx, rdx
and rcx, rax
movabs rax, 0xf6b180788f982bc0
movabs r8, 0xf6b180788f982bc2
xor rax, r8
imul rcx, rax
mov rax, rdx
xor rax, 0xffffffffffffffff
add rax, rcx
mov qword [rsp + 0x60], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg cl
xor eax, eax
xor al, 1
xor dl, al
mov al, cl
xor al, dl
and al, cl
test al, 1
jne 0x140022cbd
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
add rcx, 8
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rax
jmp 0x140022da6
mov eax, dword [0x1402511c8]
mov ecx, dword [0x1402511cc]
mov edx, 0xf2c519af
xor edx, 0xca5054b4
xor ecx, edx
xor eax, ecx
mov ecx, 0x493a7641
xor ecx, 0xb6c589be
mov edx, eax
xor edx, ecx
and edx, 0xd28680f8
mov r8d, 0x6af8272f
xor r8d, 0xb87ea7d7
mov ecx, 0x6565b18b
xor ecx, 0x9a9a4e74
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xbdec9a41
xor r8d, 0x6f6a1ab9
mov edx, eax
and edx, r8d
or eax, 0xd28680f8
imul eax, edx
add eax, ecx
mov ecx, 0xbe2a8cb1
xor ecx, 0x3f41a650
xor edx, edx
div ecx
mov ecx, 0x827d09bb
xor edx, edx
div ecx
cmp eax, 0x4dd115c3
ja 0x140023245
mov eax, dword [0x1402511d0]
mov ecx, 0x5cd6cc95
xor ecx, 0x4410611f
xor eax, ecx
xor eax, dword [0x1402511d4]
sub eax, 0x67a91bd7
xor eax, 0x4c7d7fb3
mov ecx, 0x137f33ef
xor ecx, 0xc4d3d805
add eax, ecx
sub eax, 0x2d325183
sub eax, 0xd7acebea
mov dword [rsp + 0x3c], eax
call fcn.140007e9d
mov eax, dword [rsp + 0x3c]
cmp eax, 0xa663a3cf
je 0x140022d4f
jmp 0x140023240
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x30], rax
mov eax, dword [0x1402511d8]
xor edx, edx
div dword [0x1402511dc]
mov ecx, eax
and ecx, 0x14ad240d
xor ecx, 0xffffffff
mov edx, 0x96977627
xor edx, 0x823a522a
add eax, edx
add eax, 1
add eax, ecx
mov ecx, 0xe29fec15
xor ecx, 0xb52cfbb4
xor edx, edx
div ecx
mov r8d, eax
mov eax, 0x93e713bc
xor eax, 0x6c18ec43
mov ecx, r8d
xor ecx, eax
mov eax, 0xca6262a5
xor eax, 0x9de64b47
and eax, ecx
mov edx, 0xffffffff
xor edx, 0x578429e2
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x5624226c
and ecx, 0x578429e2
and edx, 0x5624226c
or eax, r8d
or ecx, edx
xor eax, ecx
cmp eax, 0x2df3d103
jbe 0x14002324e
mov rcx, qword [rsp + 0x30]
mov eax, dword [0x1402511e0]
mov edx, dword [0x1402511e4]
xor edx, 0xc214ab52
or eax, edx
mov r8d, 0xfe3f3bb6
xor r8d, 0xfe80301b
xor edx, edx
div r8d
imul eax, eax, 0xc35fa283
mov r8d, 0x5dbc215c
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x50]
cmp rcx, rdx
setl cl
mov byte [rsp + 0x2f], cl
cmp eax, 0x3963cd89
jae 0x14002324e
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x140023233
jmp 0x140022ea6
mov eax, dword [0x1402511e8]
xor eax, 0x147544b8
sub eax, dword [0x1402511ec]
or eax, 0x2b53cb8f
imul eax, eax, 0x52412b7
mov ecx, 0x319abb5
xor ecx, 0x4a675e3
sub eax, ecx
cmp eax, 0xe7e0f04
jbe 0x140023257
mov rcx, qword [rsp + 0x30]
mov eax, dword [0x1402511f0]
xor eax, 0x64674fae
mov edx, dword [0x1402511f4]
mov r8d, 0x613798dc
xor r8d, 0x6dea5dfa
xor edx, r8d
and eax, edx
mov edx, 0xefa9e711
xor edx, 0xefa9e711
sub edx, eax
xor eax, eax
sub eax, 0x3d7dc65
add edx, eax
xor eax, eax
sub eax, edx
sub eax, 0x9c63bd29
add eax, 0x5c17533f
add eax, 0x9c63bd29
mov edx, 0x8d3bff96
xor edx, 0x72c40069
mov r8d, eax
xor r8d, edx
and r8d, 0xc64c3182
mov r9d, 0x6f861527
xor r9d, 0xa9ca24a5
mov edx, 0x73dc4f3d
xor edx, 0x8c23b0c2
xor r9d, edx
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0xc64c3182
or eax, 0xc64c3182
imul eax, r8d
add eax, edx
cmp rcx, 0
setl cl
mov byte [rsp + 0x2e], cl
cmp eax, 0x8ff863dc
jb 0x140022eda
mov al, byte [rsp + 0x2e]
test al, 1
jne 0x140022fb6
jmp 0x140022fa3
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x58]
cmp rax, qword [rcx]
jl 0x14002315d
mov eax, dword [0x1402511f8]
mov ecx, 0xd73e07f4
xor ecx, 0x7d27470d
xor eax, ecx
xor edx, edx
div dword [0x1402511fc]
mov ecx, 0x2e42e03
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0xa1c83db3
xor edx, 0x5e37c24c
mov eax, ecx
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x14c47c04
mov edx, 0xffffffff
xor edx, 0x14c47c04
or ecx, edx
xor eax, 0xffffffff
mov edx, 0x62de89b4
xor edx, 0x9d21764b
xor ecx, edx
or eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xa7aaadbb
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xa7aaadbb
or eax, 0xa7aaadbb
imul eax, edx
add eax, ecx
mov ecx, 0xed098014
xor ecx, 0xa62123f0
cmp eax, ecx
jb 0x140023260
mov ecx, dword [0x140251200]
xor ecx, dword [0x140251204]
mov edx, 0xffffffff
xor edx, 0xc9b7457b
mov eax, ecx
and eax, edx
mov edx, ecx
xor edx, 0xc9b7457b
add ecx, edx
sub ecx, eax
mov edx, 0x1f9949d4
xor edx, 0xe066b62b
mov eax, ecx
xor eax, edx
mov r8d, 0x521a4759
xor r8d, 0xade5b8a6
mov edx, ecx
xor edx, r8d
and eax, edx
mov edx, 0xc41698fd
xor edx, 0xf7ff04e6
mov r8d, 0x809dcdb5
xor r8d, 0xb37451ae
or edx, r8d
mov r8d, 0xebbe2091
xor r8d, 0x1441df6e
xor edx, r8d
xor eax, 0xffffffff
mov r8d, 0x8782f30b
xor r8d, 0x787d0cf4
xor edx, r8d
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x33e99c1b
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, eax
xor ecx, 0x1109090e
mov edx, 0xff735dbb
xor edx, 0x8ca244
xor ecx, edx
mov edx, 0x3dddf937
xor edx, 0x2cd4f039
and edx, ecx
mov ecx, 0x56ca2e8c
xor ecx, 0x56ca2e8e
imul ecx, edx
mov edx, 0x3914812f
xor edx, 0x281d8821
sub ecx, edx
sub eax, ecx
mov dword [rsp + 0x28], eax
mov rcx, rdx
call fcn.140013507
mov eax, dword [rsp + 0x28]
cmp eax, 0x6350ee63
je 0x140023260
jmp 0x140023240
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx]
add rcx, 8
imul rax, rax, 0x38
add rcx, rax
call fcn.140022bcb
mov rcx, qword [rsp + 0x30]
mov rax, rcx
add rax, 0xffffffffffffffff
mov rdx, rax
and rdx, rdx
xor rdx, 0xffffffffffffffff
and rdx, rcx
xor rdx, 0xffffffffffffffff
mov r9, rcx
and r9, r9
movabs r8, 0xbbac554f51a580c6
movabs r10, 0x4453aab0ae5a7f39
xor r8, r10
xor r9, r8
movabs r10, 0xab2edf17ff46e922
movabs r8, 0x54d120e800b916dd
xor r10, r8
mov r8, rax
xor r8, r10
movabs r10, 0x5533cda119355cf8
movabs r11, 0xaacc325ee6caa307
xor r10, r11
xor r9, r10
or r8, r9
and rdx, r8
xor rdx, 0xffffffffffffffff
cmp rdx, 0
setl r8b
cmp rcx, 0
setne dl
xor ecx, ecx
xor cl, 1
xor r8b, cl
mov cl, dl
xor cl, r8b
and cl, dl
test cl, 1
mov qword [rsp + 0x48], rax
jne 0x140023229
jmp 0x140022da6
call fcn.140007e9d
jmp 0x140023240
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov qword [rax], rcx
add rsp, 0x68
ret
push rbp
std
stc
jmp 0x140022d4f
imul ebx, esp, 0xe8e90ecd
sti
invalid
pop rbp
test byte [rsi - 0x3851670], bh
invalid
in al, dx
xlatb
mov r14d, 0xfffdf3e9
dec dword [rdi]
invalid