Function at 0x140089a70
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x118
mov qword [rsp + 0xc8], r8
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xd0], rcx
call fcn.14008a484
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0xe0], rax
mov edx, 0x10
call fcn.14008a49f
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rdx]
mov qword [rsp + 0xf0], rax
mov qword [rdx + 8], rax
mov rax, rdx
add rax, 0x10
mov qword [rsp + 0xf8], rax
mov cl, byte [rdx + 0x10]
mov dl, 0x71
xor dl, 0x70
mov al, cl
xor al, dl
cmp cl, 0
mov byte [rsp + 0x107], al
jne 0x140089b83
mov rcx, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0xc8]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0xc0], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140089b51
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rsp + 0xc0]
mov rdx, rax
and rdx, 0xffffffffffffffff
or rax, 0xffffffffffffffff
add rdx, rax
call fcn.140012270
jmp 0x14008a447
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rsp + 0xc8]
mov rax, qword [rax + 8]
mov cl, byte [rax + rcx + 8]
mov al, 0x4c
xor al, 0x10
cmp cl, al
sete al
cmp cl, 0x2f
sete cl
or al, cl
and al, 1
mov byte [rsp + 0x107], al
mov al, byte [rsp + 0x107]
mov cl, 0xc2
xor cl, 0xc2
cmp al, cl
je 0x140089be9
mov rcx, qword [rsp + 0xf0]
mov rax, rcx
add rax, 1
mov qword [rsp + 0xb8], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x140089bc9
call fcn.140007bb8
jmp 0x14008a447
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xe8]
mov qword [rcx], rax
mov qword [rsp + 0xb0], rax
jmp 0x140089d2a
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rcx]
mov qword [rsp + 0x90], rdx
add rcx, 8
mov qword [rsp + 0x98], rcx
movabs rcx, 0x3a8475e51e55e7af
movabs rdx, 0xc57b8a1ae1aa1850
xor rcx, rdx
cmp rax, rcx
setg cl
mov byte [rsp + 0xa7], cl
mov qword [rsp + 0xa8], rax
mov rcx, qword [rsp + 0x90]
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x88], rax
cmp rax, rcx
mov qword [rsp + 0xb0], rax
jge 0x140089d2a
mov al, byte [rsp + 0xa7]
test al, 1
jne 0x140089cad
jmp 0x140089c79
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x90]
movabs rax, 0x921349d8da512e7e
movabs r8, 0x6decb62725aed181
xor rax, r8
add rdx, rax
call fcn.140012270
jmp 0x14008a447
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x98]
mov rcx, qword [rcx]
mov cl, byte [rcx + rax + 8]
mov byte [rsp + 0x87], cl
sub cl, 0x2f
mov qword [rsp + 0xb0], rax
je 0x140089d2a
jmp 0x140089ce1
mov rax, qword [rsp + 0x88]
mov cl, byte [rsp + 0x87]
sub cl, 0x5c
mov qword [rsp + 0xb0], rax
je 0x140089d2a
jmp 0x140089d06
mov rcx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0x88]
add rax, 1
mov qword [rcx], rax
mov qword [rsp + 0xa8], rax
jmp 0x140089c3c
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x78], rcx
cmp rax, rcx
jge 0x140089ec2
mov rax, qword [rsp + 0x78]
movabs rdx, 0xb5a84d94349324df
mov rcx, rax
add rcx, rdx
add rcx, 0xffffffffffffffff
movabs rdx, 0xb5a84d94349324df
sub rcx, rdx
mov qword [rsp + 0x70], rcx
xor rcx, rax
movabs rdx, 0x7887a97d86e53cc9
movabs r8, 0x7887a97d86e53cc9
xor rdx, r8
cmp rcx, rdx
setl cl
movabs rdx, 0x1ff312106e6ae12b
movabs r8, 0x1ff312106e6ae12b
xor rdx, r8
cmp rax, rdx
setg al
and al, cl
test al, 1
jne 0x140089dbf
jmp 0x140089e97
mov ecx, dword [0x1401dc028]
xor ecx, dword [0x1401dc02c]
or ecx, 0x2b8fb495
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x3dc7a9a9
xor ecx, 0x8dffc497
mov edx, 0x1443c54d
xor edx, 0xa47ba873
or ecx, edx
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov r8d, 0x540c4964
xor r8d, 0x4de7aec1
mov ecx, 0x221becfb
xor ecx, 0xdde41304
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x19ebe7a5
or eax, 0x19ebe7a5
imul eax, edx
add eax, ecx
cmp eax, 0xbcecf8b6
ja 0x14008a457
mov eax, dword [0x1401dc030]
mov ecx, dword [0x1401dc034]
xor ecx, 0x39e60acb
xor edx, edx
div ecx
xor eax, 0x164a6882
add eax, 0xc4f5570f
mov ecx, 0xa21b9873
xor ecx, 0x95031d71
sub eax, ecx
sub eax, 0xc4f5570f
xor eax, 0x9308d06d
mov dword [rsp + 0x6c], eax
call fcn.140007bb8
mov eax, dword [rsp + 0x6c]
cmp eax, 0x34a29435
je 0x14008a457
jmp 0x14008a447
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0xf0]
mov qword [rcx], r8
mov qword [rcx + 8], rdx
mov qword [rsp + 0x60], rax
jmp 0x14008a0ac
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0xc8]
mov rdx, qword [rdx]
sub rcx, rdx
setge cl
mov al, byte [rax]
test al, al
setne al
mov byte [rsp + 0x5f], al
or al, cl
test al, 1
jne 0x14008a090
mov ecx, dword [0x1401dc038]
xor ecx, 0x8c3d880b
mov eax, dword [0x1401dc03c]
xor eax, 0x628f4451
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x33ab02e5
mov edx, 0xffffffff
xor edx, 0x33ab02e5
and ecx, edx
or eax, ecx
mov ecx, 0x68b6ea5f
xor ecx, 0x51cea226
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xcc3f7944
xor edx, 0x28c4536f
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xe4fb2a2b
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xe4fb2a2b
mov r8d, 0x7cb97167
xor r8d, 0x98425b4c
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x72b4614f
je 0x14008a460
mov rdx, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xc8]
mov r8d, dword [0x1401dc040]
xor r8d, 0x7b1ed2ad
mov r9d, dword [0x1401dc044]
xor r9d, 0x572150e1
xor r8d, r9d
xor r8d, 0xffffffff
mov r10d, 0x18d53e57
xor r10d, 0x2ddde50e
mov r9d, 0x12933419
xor r9d, 0xed6ccbe6
xor r10d, r9d
mov r9d, 0xe1a8c259
xor r9d, 0x67e59867
mov r11d, 0xcb50ce5b
xor r11d, 0x34af31a4
xor r9d, r11d
or r8d, r10d
or r9d, 0x864d5a3e
xor r8d, 0xffffffff
and r8d, r9d
mov r9d, 0x1c7407f6
xor r9d, 0xa7acdfa2
sub r8d, r9d
and r8d, 0x8fec7b6e
mov dword [rsp + 0x58], r8d
mov r8, qword [rax]
mov qword [rsp + 0x108], r8
mov rax, qword [rax + 8]
mov qword [rsp + 0x110], rax
lea r8, [rsp + 0x108]
call fcn.140089a70
mov rcx, qword [rsp + 0xe0]
mov eax, dword [rsp + 0x58]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x5e], cl
cmp eax, 0xdc268fd8
ja 0x140089f83
mov al, byte [rsp + 0x5e]
test al, 1
jne 0x14008a07b
jmp 0x14008a447
mov rax, qword [rsp + 0xe8]
mov rax, qword [rax]
mov qword [rsp + 0x60], rax
jmp 0x14008a0ac
mov rax, qword [rsp + 0x78]
mov cl, byte [rsp + 0x5f]
test cl, 1
mov qword [rsp + 0x60], rax
jne 0x14008a447
jmp 0x14008a0ac
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x50], rax
mov ecx, dword [0x1401dc048]
sub ecx, dword [0x1401dc04c]
mov edx, 0xaf342fcd
xor edx, 0xaf342fcc
mov eax, ecx
add eax, edx
xor ecx, 0xffffffff
mov edx, 0xbdb6b58f
xor edx, 0x4009408d
or ecx, edx
add ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0x7c38495
or edx, 0x7c38495
mov r8d, 0x5bd826a4
xor r8d, 0xa427d95b
xor edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
or ecx, 0x7c38495
mov edx, 0x2caa4f24
xor edx, 0xd355b0db
xor ecx, edx
xor eax, 0xffffffff
mov edx, 0xdc57b8d1
xor edx, 0x23a8472e
xor ecx, edx
and eax, ecx
mov ecx, eax
xor ecx, 0xf93b84d3
xor ecx, 0xffffffff
mov edx, 0x7f3bf84d
xor edx, 0x86007c9e
or eax, edx
and eax, ecx
cmp eax, 0xa988b0bd
ja 0x14008a469
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0xc8]
mov eax, dword [0x1401dc050]
mov r8d, dword [0x1401dc054]
mov r9d, 0x3a610ebc
xor r9d, 0x5ddb7eb8
xor r8d, r9d
add eax, r8d
mov r8d, 0xac466ac
xor r8d, 0x7a84335d
imul eax, r8d
mov r8d, eax
xor r8d, 0xffffffff
mov r9d, 0xc3346ac7
xor r9d, 0x7619a516
and r9d, r8d
mov r10d, 0xffffffff
xor r10d, 0xb52dcfd1
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0xb52dcfd1
or eax, 0xb52dcfd1
imul eax, r9d
add eax, r8d
xor eax, 0x581e3b84
mov r8, qword [rdx]
mov qword [rsp + 0x38], r8
add rdx, 8
mov qword [rsp + 0x40], rdx
cmp rcx, 0xffffffffffffffff
setg cl
mov byte [rsp + 0x4f], cl
cmp eax, 0xddf6f212
jbe 0x14008a157
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x30], rax
jmp 0x14008a214
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x28], rax
mov eax, dword [0x1401dc058]
sub eax, dword [0x1401dc05c]
mov ecx, 0x90aa66c
xor ecx, 0xf6f55993
mov edx, eax
xor edx, ecx
and edx, 0x4d49a3ae
mov r8d, 0xb6f55056
xor r8d, 0xfbbcf3f8
mov ecx, 0xdf64608d
xor ecx, 0x209b9f72
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xdf66e611
xor r8d, 0x922f45bf
mov edx, eax
and edx, r8d
mov r8d, 0x36b52c69
xor r8d, 0x7bfc8fc7
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x8fd32eac
xor ecx, 0x85cb6977
xor edx, edx
div ecx
mov ecx, 0x46197fb4
xor edx, edx
div ecx
cmp eax, 0xd61137da
je 0x14008a472
mov rcx, qword [rsp + 0x28]
mov eax, dword [0x1401dc060]
mov edx, 0xd3962953
xor edx, 0x9541ba3e
xor eax, edx
xor edx, edx
div dword [0x1401dc064]
mov r8d, 0xa9892eea
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x38]
xor eax, 0x8e8a9c
imul eax, eax, 0x1ed19e6c
cmp rcx, rdx
setl cl
mov byte [rsp + 0x27], cl
cmp eax, 0x846d308
jb 0x14008a2ac
mov al, byte [rsp + 0x27]
test al, 1
jne 0x14008a30d
jmp 0x14008a387
mov al, byte [rsp + 0x4f]
test al, 1
jne 0x14008a336
jmp 0x14008a31e
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffff
call fcn.140012270
jmp 0x14008a447
mov rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov al, byte [rax + rcx + 8]
mov byte [rsp + 0x26], al
sub al, 0x2f
je 0x14008a369
jmp 0x14008a358
mov al, byte [rsp + 0x26]
sub al, 0x5c
jne 0x14008a387
jmp 0x14008a369
mov rcx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0x28]
add rax, 1
mov qword [rcx], rax
mov qword [rsp + 0x30], rax
jmp 0x14008a214
mov eax, dword [0x1401dc068]
add eax, dword [0x1401dc06c]
sub eax, 0x637c5dd6
sub eax, 0x709b44d7
mov ecx, 0x64fadc56
xor ecx, 0x7868180
add eax, ecx
mov ecx, 0x75aaad8b
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xdff551cf
mov edx, 0xffffffff
xor edx, 0xdff551cf
and ecx, edx
or eax, ecx
mov ecx, 0x9801e27d
xor ecx, 0x94a5f482
cmp eax, ecx
jb 0x14008a47b
mov rdx, qword [rsp + 0xf8]
mov eax, dword [0x1401dc070]
xor eax, 0x4d4bcfdb
mov r8d, dword [0x1401dc074]
xor r8d, 0x3b4b8b4
mov ecx, r8d
and ecx, eax
xor ecx, 0xffffffff
add eax, r8d
add eax, 1
add eax, ecx
imul ecx, eax, 0x2272e430
mov eax, ecx
and eax, 0xd53b928f
xor ecx, 0xd53b928f
or eax, ecx
add eax, 0xba2abb4c
mov ecx, 0x2eee8aeb
xor ecx, 0x6749cf9c
mov byte [rdx], 1
cmp eax, ecx
jbe 0x14008a3e1
jmp 0x14008a447
mov rax, qword [rsp + 0xd0]
add rsp, 0x118
ret
sub esp, ebp
cmp ecx, dword [rdx]
jmp 0x140089e43
invalid
mov cl, 0x42
invalid
fcomp qword [rbx + 0x31e95f0b]
invalid
jmp qword [rcx + 0x16]