Function at 0x140167a50
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rcx
call fcn.1401a68de
mov rcx, qword [rsp + 0x68]
xor eax, eax
cmp rcx, 0
mov byte [rsp + 0x77], al
je 0x140167e15
mov rcx, qword [rsp + 0x68]
movabs rdx, 0x31a1a564949f7687
movabs rax, 0xce5e5a9b6b608977
xor rdx, rax
mov rax, rcx
and rax, rdx
or rcx, 0xfffffffffffffff0
add rax, rcx
mov qword [rsp + 0x48], rax
mov rax, qword [rax]
mov qword [rsp + 0x50], rax
cmp rax, 0x10
setb cl
mov byte [rsp + 0x5e], cl
mov al, 1
test cl, 1
mov byte [rsp + 0x5f], al
jne 0x140167ce7
mov ecx, dword [0x140259d90]
and ecx, dword [0x140259d94]
mov edx, ecx
and edx, 0x8ff59901
mov eax, 0x4c725e59
xor eax, 0x4c725e5b
imul eax, edx
mov edx, 0xaef30793
xor edx, 0x21069e92
add ecx, edx
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xe900dc16
xor ecx, 0x1cf111c6
mov edx, 0x6390c826
xor edx, 0x966105f6
and ecx, edx
mov edx, 0x7606ac6
xor edx, 0xf89f9539
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x1ad92f1d
xor edx, 0xb1ebd160
and edx, ecx
mov r8d, 0x367eba6d
xor r8d, 0x9d4c4410
mov ecx, 0xc5e3a933
xor ecx, 0x3a1c56cc
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xab32fe7d
or eax, 0xab32fe7d
imul eax, edx
add eax, ecx
cmp eax, 0x9a1a29c8
je 0x140167e28
mov r8, qword [rsp + 0x50]
mov eax, dword [0x140259d98]
xor edx, edx
div dword [0x140259d9c]
mov ecx, 0x84563df6
xor ecx, 0x12a0560b
xor eax, ecx
mov ecx, 0xdf0ff63
xor edx, edx
div ecx
add eax, 0xa122d52e
movabs rdx, 0x9f634088305149c
mov rcx, r8
sub rcx, rdx
add rcx, 0xfffffffffffffff0
movabs rdx, 0x9f634088305149c
add rcx, rdx
mov qword [rsp + 0x38], rcx
mov rdx, rcx
xor rdx, r8
cmp rdx, 0
setl dl
cmp rcx, 0xffffffffffffffff
setg cl
and cl, dl
mov byte [rsp + 0x47], cl
cmp eax, 0xd660901d
je 0x140167e28
mov al, byte [rsp + 0x47]
test al, 1
jne 0x140167c0b
jmp 0x140167cd4
mov eax, dword [0x140259da0]
xor edx, edx
div dword [0x140259da4]
mov ecx, 0xd19895e3
xor ecx, 0x2e676a1c
mov edx, eax
xor edx, ecx
and edx, 0xd54eaaaa
mov r8d, 0x51537a3a
xor r8d, 0x841dd090
mov ecx, 0x6c42626c
xor ecx, 0x93bd9d93
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xd54eaaaa
or eax, 0xd54eaaaa
imul eax, edx
add eax, ecx
xor eax, 0xc111f280
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0xdc111625
add eax, ecx
cmp eax, 0xbe762e8c
jbe 0x140167e31
mov eax, dword [0x140259da8]
and eax, dword [0x140259dac]
mov ecx, 0xb49d1ec
xor edx, edx
div ecx
mov ecx, 0xbfc86b92
xor ecx, 0xb60dfe1c
xor eax, ecx
mov ecx, 0x6c57ac0b
xor ecx, 0xa1f7a902
sub eax, ecx
mov dword [rsp + 0x34], eax
call fcn.140007e9d
mov eax, dword [rsp + 0x34]
cmp eax, 0x95b02db1
je 0x140167c82
xor eax, eax
mov byte [rsp + 0x77], al
jmp 0x140167e15
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
mov qword [rax], rcx
xor eax, eax
mov byte [rsp + 0x5f], al
mov al, byte [rsp + 0x5f]
mov byte [rsp + 0x33], al
mov eax, dword [0x140259db0]
mov ecx, 0xca9ac7c5
xor ecx, 0xbf790127
xor eax, ecx
imul eax, dword [0x140259db4]
mov ecx, 0x7a835112
xor ecx, 0x857caeed
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xe0362960
mov edx, 0xc8119bd1
xor edx, 0xdbd402a4
mov r8d, 0xafb9353
xor r8d, 0xf5046cac
xor edx, r8d
or eax, ecx
mov ecx, 0x7dbe017a
xor ecx, 0x6e7b980f
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
sub eax, 0x1b1af192
xor eax, 0x3dbf64ff
cmp eax, 0xb4efe0a3
jb 0x140167e3a
mov r8, qword [rsp + 0x60]
mov cl, byte [rsp + 0x5e]
mov eax, dword [0x140259db8]
imul eax, dword [0x140259dbc]
mov r9d, 0xf65a3339
xor edx, edx
div r9d
mov rdx, qword [rsp + 0x48]
mov r10d, 0xffffffff
xor r10d, 0xd305e9b6
mov r9d, eax
xor r9d, r10d
and r9d, eax
mov eax, r9d
xor eax, 0xffffffff
mov r10d, 0x5b442db2
xor r10d, 0x7da74d2e
mov r11d, 0xa1c24de8
xor r11d, 0x5e3db217
xor r10d, r11d
or eax, r10d
mov r10d, 0x7ab41fb4
xor r10d, 0x854be04b
xor r9d, r10d
mov r10d, 0xffffffff
xor r10d, 0x26e3609c
or r9d, r10d
and eax, r9d
xor eax, 0xffffffff
mov dword [rsp + 0x2c], eax
and cl, 1
call fcn.14000fec7
mov eax, dword [rsp + 0x2c]
cmp eax, 0xcfcb56b7
jae 0x140167e3a
mov al, byte [rsp + 0x33]
mov byte [rsp + 0x77], al
jmp 0x140167e15
mov al, byte [rsp + 0x77]
cmp al, 0
setne al
and al, 1
movzx eax, al
add rsp, 0x78
ret
test byte [rdx + 0x50e97569], bh
std
invalid
jl 0x140167e9e
sti
movabs eax, dword [0x50288fffffe48e9]
sub al, 0xe9
and bh, bh
mov byte [rdx], al
add eax, 0xff22e92c
invalid
scasb al, byte [rdi]