Function at 0x140028ac0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rcx
mov rcx, qword [rcx]
xor eax, eax
mov edx, eax
sub rdx, 0xffffffffffffffff
mov rax, rcx
sub rax, rdx
mov qword [rsp + 0x50], rax
mov r8, rax
xor r8, rcx
xor r8, 0xffffffffffffffff
mov rdx, rcx
and rdx, r8
shl rdx, 1
sub rdx, rcx
mov rcx, rax
sub rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg cl
mov al, cl
and al, dl
xor al, 0xff
xor cl, 0xff
xor dl, 0xff
or cl, dl
xor al, 0xff
mov dl, 1
xor dl, 0
xor cl, dl
or al, cl
test al, 1
jne 0x140028b4d
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
add rcx, 8
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rax
jmp 0x140028b57
call fcn.140007f57
jmp 0x140028ec7
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x28], rax
cmp rax, rcx
jl 0x140028eba
mov rax, qword [rsp + 0x28]
cmp rax, 0
jl 0x140028d3e
mov eax, dword [0x1402015e8]
mov r8d, dword [0x1402015ec]
mov ecx, 0x77a875b7
xor ecx, 0x88578a48
mov r9d, r8d
xor r9d, ecx
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0x784ec299
xor r9d, 0x87b13d66
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x29340f23
xor ecx, 0x555a11c2
and ecx, eax
xor ecx, 0xffffffff
add eax, 0x7c6e1ee1
mov edx, 0x6818006d
xor edx, 0x6818006c
add eax, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x39cd14bc
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x3aff3605
xor ecx, 0x18855cbd
xor edx, edx
div ecx
cmp eax, 0xcbb3bde
ja 0x140028ecc
mov rdx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x48]
mov ecx, dword [0x1402015f0]
mov r10d, dword [0x1402015f4]
mov r11d, r10d
xor r11d, 0xffffffff
mov r9d, ecx
and r9d, r11d
mov eax, ecx
or eax, r11d
xor eax, 0xffffffff
imul eax, r9d
mov r9d, ecx
and r9d, r10d
or ecx, r10d
imul ecx, r9d
add ecx, eax
add ecx, 0xf8064eed
mov eax, 0xe2d98c2c
xor eax, 0x1d2673d3
mov r9d, ecx
xor r9d, eax
and r9d, 0x7ee2f0e1
mov r10d, 0xffffffff
xor r10d, 0x7ee2f0e1
mov eax, ecx
and eax, r10d
imul eax, r9d
mov r9d, ecx
and r9d, 0x7ee2f0e1
or ecx, 0x7ee2f0e1
imul ecx, r9d
add ecx, eax
mov eax, ecx
or eax, eax
mov r9d, 0x22ad3a5
xor r9d, 0xfdd52c5a
xor eax, r9d
mov r9d, 0xe1b11df3
xor r9d, 0x44ae5ecf
mov r10d, 0x211db030
xor r10d, 0xdee24fcf
xor r9d, r10d
mov r10d, 0x7f9f8528
xor r10d, 0xda80c614
mov r11d, 0x91c6e3e8
xor r11d, 0x6e391c17
xor r10d, r11d
and r9d, r10d
xor eax, 0xffffffff
xor r9d, 0xffffffff
and eax, r9d
or ecx, 0xa51f433c
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xc2a1f8fb
xor ecx, 0x3d5e0704
xor eax, ecx
mov ecx, 0x32d1a8c
xor ecx, 0x83fd60b3
cmp rdx, qword [r8]
setl dl
mov byte [rsp + 0x27], dl
cmp eax, ecx
je 0x140028c15
mov al, byte [rsp + 0x27]
test al, 1
jne 0x140028e0f
jmp 0x140028d3e
mov ecx, dword [0x1402015f8]
xor ecx, 0x17748235
mov edx, dword [0x1402015fc]
xor edx, 0x6ab3510a
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
and eax, edx
xor eax, 0xffffffff
and edx, edx
xor edx, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
mov edx, 0xd96c873c
xor edx, 0x269378c3
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
and eax, 0x2f97d273
add eax, 0x3f778b99
mov edx, 0xab2b45c
xor edx, 0x907cec33
mov ecx, eax
and ecx, edx
mov edx, 0x37a0ca60
xor edx, 0x37a0ca62
imul ecx, edx
xor eax, 0x9ace586f
add eax, ecx
cmp eax, 0x19fc9298
ja 0x140028ed5
mov ecx, dword [0x140201600]
mov eax, dword [0x140201604]
xor eax, 0x4a01f2e0
or ecx, eax
xor ecx, 0x89f3bc6
mov edx, 0x76188b3f
xor edx, 0x9d708ea5
mov eax, ecx
and eax, edx
or ecx, 0xeb68059a
add eax, ecx
sub eax, 0x95a9c92b
mov dword [rsp + 0x20], eax
mov rcx, rdx
call fcn.140014583
mov eax, dword [rsp + 0x20]
cmp eax, 0x5b7f1fd7
ja 0x140028dba
jmp 0x140028ec7
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
call fcn.140028990
mov rcx, qword [rsp + 0x28]
movabs rdx, 0xf10ef187ed152f26
movabs rax, 0xef10e7812ead0d9
xor rdx, rax
mov rax, rcx
add rax, rdx
mov r8, rax
and r8, rcx
shl r8, 1
mov rdx, rax
add rdx, rcx
sub rdx, r8
movabs r8, 0xd6ebe1b9a151a5d3
movabs r9, 0xd6ebe1b9a151a5d3
xor r8, r9
cmp rdx, r8
setl dl
movabs r8, 0x2a2c825c67f7d78a
movabs r9, 0x2a2c825c67f7d78a
xor r8, r9
cmp rcx, r8
setne cl
and cl, dl
test cl, 1
mov qword [rsp + 0x38], rax
jne 0x140028eb0
jmp 0x140028b57
call fcn.140007f57
jmp 0x140028ec7
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
mov qword [rax], rcx
add rsp, 0x58
ret
sub cl, byte [rcx - 0x2bf162d]
invalid
jne 0x140028f16
outsb dx, byte [rsi]
xchg esp, eax
jmp 0x140028dba
mov eax, dword [rsp + 0x78]