Function at 0x140120180
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rcx
mov rax, qword [rdx]
mov qword [rsp + 0x50], rax
cmp rax, 0
jle 0x140120371
mov rcx, qword [rsp + 0x50]
mov rax, rcx
and rax, 1
mov rdx, rcx
or rdx, 1
add rax, rdx
mov qword [rsp + 0x38], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x140120273
mov ecx, dword [0x1401dfc78]
mov eax, 0x5393295d
xor eax, 0x3729b496
xor ecx, eax
mov edx, dword [0x1401dfc7c]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
mov ecx, 0xa31a52d2
xor edx, edx
div ecx
xor eax, 0xfa5f8ee6
sub eax, 0x70422bcd
cmp eax, 0x78340849
jb 0x14012046a
mov eax, dword [0x1401dfc80]
mov ecx, dword [0x1401dfc84]
mov edx, 0x723c436f
xor edx, 0x77ad7767
sub eax, edx
sub eax, ecx
mov ecx, 0x226126fa
xor ecx, 0x27f012f2
add eax, ecx
mov ecx, 0xf5bbc75d
xor ecx, 0x7eb00630
xor eax, ecx
imul eax, eax, 0x2e60dcc7
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xab030670
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [rsp + 0x34], eax
call fcn.140007bb8
mov eax, dword [rsp + 0x34]
cmp eax, 0x133f8e92
jb 0x14012020a
jmp 0x140120371
mov rax, qword [rsp + 0x38]
movabs rcx, 0x8286029818a152c2
movabs rdx, 0x8286029818a152c2
xor rcx, rdx
cmp rax, rcx
jge 0x1401202b5
mov rcx, qword [rsp + 0x38]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000c4b0
jmp 0x140120371
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x38]
mov rcx, qword [rdx + 8]
add rcx, 8
add rcx, qword [rdx]
mov rdx, qword [rax + 8]
add rdx, 8
call fcn.14011d690
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x40]
mov rcx, qword [rcx]
mov rax, qword [rax]
mov rdx, rax
add rdx, rcx
mov qword [rsp + 0x28], rdx
mov r9, rdx
xor r9, rcx
xor r9, 0xffffffffffffffff
mov r8, rcx
and r8, r9
shl r8, 1
sub r8, rcx
mov rcx, rdx
sub rcx, r8
xor rdx, rax
mov rax, rcx
xor rax, 0xffffffffffffffff
movabs r9, 0xd73c61b1ec8b1137
movabs r8, 0x28c39e4e1374eec8
xor r9, r8
mov r8, rdx
xor r8, r9
or rax, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or rax, rcx
cmp rax, 0
jge 0x140120364
call fcn.140007bb8
jmp 0x140120371
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x28]
mov qword [rax], rcx
mov r8d, dword [0x1401dfc88]
mov ecx, dword [0x1401dfc8c]
xor ecx, 0xe805aeb7
mov eax, r8d
xor eax, ecx
xor ecx, 0xffffffff
and r8d, ecx
shl r8d, 1
sub r8d, eax
sub r8d, 0xa7af961f
add r8d, 0x8f4a5dcc
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xc9ad5bbe
mov edx, 0xffffffff
xor edx, 0xc9ad5bbe
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0xb9318096
and ecx, 0xc9ad5bbe
and edx, 0xb9318096
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0xf27678df
xor ecx, 0xe862ffd
cmp eax, ecx
jae 0x140120473
mov eax, dword [0x1401dfc90]
sub eax, dword [0x1401dfc94]
mov ecx, eax
and ecx, 0x1633a874
xor ecx, 0xffffffff
add eax, 0x1633a874
add eax, 1
add eax, ecx
mov ecx, eax
xor ecx, 0x87286f0e
xor ecx, 0xffffffff
or eax, 0x87286f0e
and eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x31a16aa9
xor edx, 0x98454817
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xa9e422be
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xa9e422be
or eax, 0xa9e422be
imul eax, edx
add eax, ecx
cmp eax, 0xc8e87dcf
jae 0x140120473
add rsp, 0x58
ret
scasd eax, dword [rdi]
mov esi, 0x97e925f4
std
invalid
invalid