Function at 0x140021c70
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x80], rcx
mov eax, dword [0x140217208]
mov ecx, dword [0x14021720c]
xor ecx, 0xffffffff
add eax, ecx
add eax, 1
or eax, 0x5cb4866a
mov ecx, 0xd6325a06
xor ecx, 0x1d21d5c0
mov edx, eax
xor edx, ecx
xor edx, 0xffffffff
mov ecx, 0x8434fb37
xor ecx, 0x4f2774f1
and ecx, edx
shl ecx, 1
sub ecx, 0xcb138fc6
sub eax, ecx
sub eax, 0xc044b9a1
cmp eax, 0xa7719f23
ja 0x1400221a9
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x80]
mov eax, dword [0x140217210]
mov r9d, dword [0x140217214]
mov r8d, 0xdb277464
xor r8d, 0x74050a44
xor r9d, r8d
mov r8d, 0x5d0e4dd7
xor r8d, 0x5d0e4dd7
sub r8d, r9d
add eax, r8d
mov r8d, 0x6e1a2076
xor r8d, 0xdb55d3f6
add eax, r8d
sub eax, 0x10800850
add eax, 0xde0bff54
add eax, 0x10800850
and eax, 0x8b1b7f83
mov rcx, qword [rcx]
mov qword [rsp + 0x68], rcx
cmp rcx, rdx
setg cl
mov byte [rsp + 0x77], cl
cmp eax, 0x3a1619f
je 0x140021cd7
mov al, byte [rsp + 0x77]
test al, 1
jne 0x140021d66
jmp 0x140021d7d
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x80]
call fcn.1400219c0
jmp 0x1400221a0
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x78]
cmp rax, rcx
jge 0x1400221a0
mov rax, qword [rsp + 0x80]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x58], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x60], rax
cmp rax, 0
je 0x140021dd7
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x60]
movabs rax, 0xbfffffffffffffff
and rax, qword [rdx]
cmp rax, rcx
jge 0x140021f03
mov r8, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x78]
mov rcx, rdx
sub rcx, r8
mov qword [rsp + 0x50], rcx
mov rax, rcx
xor rax, 0xffffffffffffffff
mov r9, rcx
xor r9, 0xffffffffffffffff
or rax, r9
xor rax, 0xffffffffffffffff
mov r9, rdx
xor r9, 0xffffffffffffffff
or rax, r9
mov r9, rdx
xor r9, 0xffffffffffffffff
movabs r10, 0x58e5ed19b2456679
movabs r11, 0xa71a12e64dba9986
xor r10, r11
xor rdx, r10
or r9, rdx
mov rdx, rcx
and rdx, r9
movabs r9, 0xdcc7effbd224cceb
movabs r10, 0x233810042ddb3314
xor r9, r10
xor rdx, r9
xor rax, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rax, rdx
cmp rax, 0
setl al
mov r9, rcx
xor r9, r8
movabs rdx, 0xcab364cb1076bdcf
movabs r10, 0x354c9b34ef894230
xor rdx, r10
xor r9, rdx
mov rdx, r8
and rdx, r9
shl rdx, 1
sub rdx, r8
sub rcx, rdx
cmp rcx, 0xffffffffffffffff
setg cl
and al, cl
test al, 1
jne 0x140021ef9
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
movabs r9, 0x3dcd5d812f09a15d
movabs rax, 0x3dcd5d812f09a17d
xor r9, rax
movabs rax, 0xd92e3baaf1469d83
movabs r10, 0xd92e3baaf1469d8b
xor rax, r10
mov qword [rsp + 0x20], rax
call fcn.140013020
mov rcx, rax
mov rax, qword [rsp + 0x58]
mov qword [rax], rcx
jmp 0x140021f03
call fcn.140008bc6
jmp 0x1400221a0
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x78]
mov qword [rcx], rdx
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x40], rax
cmp rax, rcx
jge 0x1400221a0
mov eax, dword [0x140217218]
xor eax, dword [0x14021721c]
mov ecx, 0x47b3830b
xor edx, edx
div ecx
mov ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x15d6bd5
xor ecx, 0x15d6bd5
mov edx, 0xff4b22a6
xor edx, 0x73aa5ca5
sub ecx, edx
add eax, ecx
mov r11d, 0x3dc144c0
xor r11d, 0x3dc144c0
sub r11d, eax
mov eax, 0xafa3ee0e
xor eax, 0x505c11f1
mov ecx, r11d
xor ecx, eax
mov r8d, 0xffffffff
xor r8d, 0x53c75457
mov edx, 0x9afd2845
xor edx, 0xa77033b0
mov eax, 0xed10c711
xor eax, 0x12ef38ee
xor edx, eax
mov eax, ecx
and eax, 0x3d8d1bf5
and r11d, edx
mov r10d, 0x3fdf7860
xor r10d, 0x2526395
mov r9d, r8d
and r9d, r10d
mov r10d, 0xe1f6e7ef
xor r10d, 0xb231b3b8
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x3d8d1bf5
and ecx, edx
or eax, ecx
cmp eax, 0xdd672c64
jb 0x1400221b2
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x58]
mov r8d, dword [0x140217220]
mov r9d, dword [0x140217224]
xor edx, edx
sub edx, r9d
sub r8d, edx
mov r9d, 0x3f0a3e8c
xor r9d, 0xc0f5c173
mov edx, r8d
xor edx, r9d
mov r9d, 0x416abd64
xor r9d, 0xbc7c54db
mov r10d, 0xc11f8c29
xor r10d, 0x3ee073d6
xor r9d, r10d
and edx, r9d
or r8d, 0xfd16e9bf
xor r8d, 0xffffffff
or edx, r8d
xor edx, 0xffffffff
mov r8d, edx
and r8d, 0x95f52e3b
xor r8d, 0xffffffff
mov r9d, 0x67e0588b
xor r9d, 0xf21576b0
add edx, r9d
add edx, 1
add edx, r8d
add edx, 0x563ca07c
add edx, 0xe11a947f
sub edx, 0x563ca07c
mov dword [rsp + 0x2c], edx
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
mov edx, 0x20
call fcn.1400093cd
mov rdx, qword [rsp + 0x40]
mov eax, dword [rsp + 0x2c]
mov r8, rdx
and r8, 1
movabs rcx, 0x451de746b0d5b765
movabs r9, 0x451de746b0d5b767
xor rcx, r9
imul r8, rcx
mov rcx, rdx
xor rcx, 1
add rcx, r8
mov qword [rsp + 0x30], rcx
mov r8, rdx
xor r8, 0xffffffffffffffff
and r8, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and rdx, r9
or r8, rdx
xor rcx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r9, 0xbc6a92eaf9d36ee6
xor rdx, r9
or rcx, r8
movabs r8, 0xbc6a92eaf9d36ee6
or rdx, r8
movabs r8, 0x46ac844e80312eee
movabs r9, 0xb9537bb17fced111
xor r8, r9
xor rcx, r8
and rcx, rdx
movabs rdx, 0x1985792e2533bdce
movabs r8, 0x1985792e2533bdce
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rsp + 0x3f], cl
cmp eax, 0x6bba84a4
jb 0x1400221b2
mov rax, qword [rsp + 0x30]
mov cl, byte [rsp + 0x3f]
test cl, 1
mov qword [rsp + 0x48], rax
jne 0x14002219b
jmp 0x140021f1d
call fcn.140008bc6
nop
add rsp, 0x88
ret
mov r12b, byte [r14 + 0x32]
jmp 0x140021cd7
pop qword [rdx + 0x43e9c602]
invalid