Function at 0x140028e90
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rcx
call fcn.140009f59
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
add rax, 0x60
mov qword [rsp + 0x68], rax
mov rax, qword [rcx]
mov qword [rsp + 0x70], rax
cmp rax, rdx
jle 0x140028bcb
mov eax, dword [0x1401dc428]
xor eax, 0xd4b92843
xor edx, edx
div dword [0x1401dc42c]
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0x3f71d2b2
xor edx, 0xc0849688
mov r8d, 0xba4d16d1
xor r8d, 0x45b2e92e
xor edx, r8d
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xfff5443a
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0xb2572305
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xf9faa8ca
mov edx, 0xffffffff
xor edx, 0xf9faa8ca
and eax, edx
shl eax, 1
sub eax, ecx
cmp eax, 0x2e89c946
jae 0x140028e7e
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
mov eax, dword [0x1401dc430]
mov r8d, dword [0x1401dc434]
xor r8d, 0xbac00af5
and eax, r8d
add eax, 0x91bf9d55
add eax, 0xb7d44836
sub eax, 0x91bf9d55
mov r10d, eax
and r10d, 0x2c65877a
xor r10d, 0xffffffff
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x2c65877a
or eax, r8d
and r10d, eax
xor r10d, 0xffffffff
mov r8d, 0xb2141b81
xor r8d, 0x4debe47e
mov eax, r10d
xor eax, r8d
and eax, 0xa7ae421e
mov r9d, 0xffffffff
xor r9d, 0xa7ae421e
and r10d, r9d
mov r8d, 0xffffffff
xor r8d, 0x43d931a0
mov r11d, 0x93d31283
xor r11d, 0x347d509d
and r8d, r11d
and r9d, 0x43d931a0
or eax, r10d
or r8d, r9d
xor eax, r8d
mov dword [rsp + 0x54], eax
call fcn.1400284c0
mov eax, dword [rsp + 0x54]
cmp eax, 0x1a0e0b07
jbe 0x140028e7e
jmp 0x140028e78
mov eax, dword [0x1401dc438]
mov edx, dword [0x1401dc43c]
xor edx, 0xca174908
mov ecx, 0xbd36e56
xor ecx, 0xf42c91a9
xor eax, ecx
xor edx, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x89e03348
or eax, edx
or ecx, 0x89e03348
mov edx, 0xa829fb
xor edx, 0xff57d604
xor eax, edx
and eax, ecx
mov edx, 0xffffffff
xor edx, 0xc478d150
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xc478d150
add eax, edx
sub eax, ecx
mov ecx, 0x5d0dc3dd
xor ecx, 0xc6c20af
sub eax, ecx
imul eax, eax, 0x1371ffc7
mov ecx, 0x5a574301
xor ecx, 0xe283725b
cmp eax, ecx
ja 0x140028e87
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x60]
mov eax, dword [0x1401dc440]
and eax, dword [0x1401dc444]
imul eax, eax, 0x8db36e85
mov r8d, 0x1570a5d1
xor r8d, 0x3c92b721
mov r9d, 0xd7d1043
xor r9d, 0xf282efbc
xor r8d, r9d
add eax, r8d
mov r8d, 0x1953ff8d
xor r8d, 0x1953ff8c
add eax, r8d
or eax, 0x224245ca
cmp rcx, rdx
setl cl
mov byte [rsp + 0x53], cl
cmp eax, 0x9ae46675
jae 0x140028c50
mov al, byte [rsp + 0x53]
test al, 1
jne 0x140028cc7
jmp 0x140028e78
mov rax, qword [rsp + 0x58]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x40], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x48], rax
cmp rax, 0
je 0x140028d1c
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov rdx, rax
add rdx, 1
xor rax, 0xffffffffffffffff
movabs r8, 0xbfffffffffffffff
or rax, r8
add rax, rdx
cmp rax, rcx
jge 0x140028dbe
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x60]
mov rcx, r8
sub rcx, rdx
mov qword [rsp + 0x38], rcx
mov rax, rcx
xor rax, r8
cmp rax, 0
setl al
xor rcx, rdx
movabs rdx, 0xddf1d1e43eeb4675
movabs r8, 0x220e2e1bc114b98a
xor rdx, r8
cmp rcx, rdx
setg cl
xor al, 0xff
mov dl, 1
xor dl, 0
xor cl, dl
mov dl, 1
xor dl, 0
or al, cl
xor ecx, ecx
xor cl, 0
or cl, dl
xor al, 0xff
and al, cl
test al, 1
jne 0x140028db4
mov r8, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x70]
mov r9d, 8
mov qword [rsp + 0x20], 8
call fcn.140011560
mov rcx, rax
mov rax, qword [rsp + 0x40]
mov qword [rax], rcx
jmp 0x140028dbe
call fcn.1400067fe
jmp 0x140028e78
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov qword [rcx], rdx
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x28], rax
cmp rax, rcx
jge 0x140028e78
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
xor eax, eax
mov edx, eax
call fcn.1401373e0
mov rax, qword [rsp + 0x68]
cmp byte [rax], 0
jne 0x140028e78
mov rdx, qword [rsp + 0x28]
mov rcx, rdx
and rcx, 1
shl rcx, 1
mov rax, rdx
xor rax, 1
add rax, rcx
movabs r8, 0x2089f34762805be9
movabs rcx, 0xdf760cb89d7fa416
xor r8, rcx
mov rcx, rdx
and rcx, r8
shl rcx, 1
add rdx, 0xffffffffffffffff
sub rdx, rcx
mov rcx, rax
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x30], rax
jge 0x140028dd5
dec dword [rax + 0x29]
retf 0x8948
call fcn.1400067fe
nop
add rsp, 0x78
ret
sub dword [rdi], ebx
js 0x140028e5a
jmp 0x140028b01
movabs byte [0xfffffdc0e99376da], al
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.1400284c0
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x140028a50