Function at 0x1400209c0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x68
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rcx
mov rdx, qword [rcx]
movabs rcx, 0x18e28ca73da1ba6f
movabs rax, 0x2a9b3947eed08800
xor rcx, rax
mov rax, rdx
sub rax, rcx
add rax, 0xffffffffffffffff
movabs rcx, 0x3279b5e0d371326f
add rax, rcx
mov qword [rsp + 0x60], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x140020a41
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
add rcx, 8
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rax
jmp 0x140020a4b
call fcn.140007e9d
jmp 0x140020dad
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x38], rax
mov eax, dword [0x1402510b8]
sub eax, dword [0x1402510bc]
sub eax, 0x5861000b
mov r8d, 0xffffffff
xor r8d, 0x2bbcc7a0
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x2bbcc7a0
mov r8d, 0xb1e65149
xor r8d, 0x9a5a96e9
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0x71d42142
mov edx, 0xb4c51d8
xor edx, 0xf4b3ae27
xor ecx, edx
mov edx, 0x2fa8f5bf
xor edx, 0x5e7cd4fd
or eax, edx
and eax, ecx
cmp eax, 0xe598d3a5
je 0x140020db4
mov r8, qword [rsp + 0x50]
mov ecx, dword [0x1402510c0]
mov edx, dword [0x1402510c4]
mov eax, 0x7ca695b2
xor eax, 0xc34f004b
xor edx, eax
mov eax, ecx
and eax, edx
or ecx, edx
add eax, ecx
mov ecx, 0x53613ebe
xor ecx, 0xb14adece
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x38]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x98558e84
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x1dfcb50d
xor ecx, 0x11cac74a
xor eax, ecx
mov ecx, 0x65b750b
xor ecx, 0xf3000df9
cmp rdx, r8
setl dl
mov byte [rsp + 0x37], dl
cmp eax, ecx
je 0x140020acf
mov al, byte [rsp + 0x37]
test al, 1
jne 0x140020da0
jmp 0x140020b54
mov rax, qword [rsp + 0x38]
cmp rax, 0
jl 0x140020b76
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x58]
cmp rax, qword [rcx]
jl 0x140020b83
mov rcx, rdx
call fcn.140013507
jmp 0x140020dad
mov eax, dword [0x1402510c8]
mov r8d, dword [0x1402510cc]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0x30120923
xor r9d, 0xcfedf6dc
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x76553c01
xor edx, edx
div ecx
mov ecx, 0xe7cbb34c
xor edx, edx
div ecx
mov r8d, 0xffffffff
xor r8d, 0x62dac205
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x62dac205
or eax, 0x62dac205
imul eax, edx
add eax, ecx
cmp eax, 0x44182131
je 0x140020dbd
mov rcx, qword [rsp + 0x40]
mov esi, dword [0x1402510d0]
mov r11d, dword [0x1402510d4]
mov edx, esi
xor edx, 0xffffffff
mov eax, 0x9fb0c7a1
xor eax, 0x604f385e
mov r9d, r11d
xor r9d, eax
mov r8d, 0x3386bd95
xor r8d, 0x3199ab0f
mov eax, 0xe44ce0d3
xor eax, 0x1bb31f2c
xor r8d, eax
mov eax, edx
and eax, 0x21f169a
and esi, r8d
mov edi, 0xacfa34a8
xor edi, 0xaee52232
mov r10d, r9d
and r10d, edi
and r11d, r8d
or eax, esi
or r10d, r11d
xor eax, r10d
or edx, r9d
mov r9d, 0xc9040db5
xor r9d, 0x36fbf24a
xor edx, r9d
or r8d, 0x21f169a
and edx, r8d
or eax, edx
add eax, 0x7123151b
mov edx, 0x77b35e82
xor edx, 0x1ad8c095
add eax, edx
mov edx, 0xbafca351
xor edx, 0xcbdfb64a
sub eax, edx
mov edx, eax
add edx, 1
xor eax, 0xffffffff
mov r8d, 0xb6748fdf
xor r8d, 0x36b7eadb
or eax, r8d
add eax, edx
mov r8d, 0xa58bf43c
xor r8d, 0xb88e5fee
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rsp + 0x38]
mov dword [rsp + 0x24], edx
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
call fcn.140020870
mov rcx, qword [rsp + 0x38]
mov eax, dword [rsp + 0x24]
movabs rdx, 0x85943703e62a8093
mov r8, rcx
add r8, rdx
add r8, 0xffffffffffffffff
movabs rdx, 0x85943703e62a8093
sub r8, rdx
mov qword [rsp + 0x28], r8
mov r9, r8
xor r9, 0xffffffffffffffff
mov rdx, rcx
and rdx, r9
mov r9, rcx
xor r9, 0xffffffffffffffff
and r8, r9
or rdx, r8
cmp rdx, 0
setl dl
movabs r8, 0x1fa225bfb51d0e22
movabs r9, 0x1fa225bfb51d0e22
xor r8, r9
cmp rcx, r8
setne cl
and cl, dl
mov byte [rsp + 0x36], cl
cmp eax, 0x32ecbcee
jae 0x140020dbd
mov rax, qword [rsp + 0x28]
mov cl, byte [rsp + 0x36]
test cl, 1
mov qword [rsp + 0x48], rax
jne 0x140020d96
jmp 0x140020a4b
call fcn.140007e9d
jmp 0x140020dad
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov qword [rax], rcx
add rsp, 0x68
pop rdi
pop rsi
ret
fmul qword [rdi + 0x27]
sbb ecx, ebp
adc bh, ch
invalid
invalid