Function at 0x140103850
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xa8
mov qword [rsp + 0xa0], rcx
cmp qword [rcx], 0
jle 0x140103c77
mov rax, qword [rsp + 0xa0]
add rax, 8
mov qword [rsp + 0x90], rax
xor eax, eax
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x98]
mov qword [rsp + 0x70], rdx
mov rax, qword [rax]
mov qword [rsp + 0x78], rax
mov rcx, rax
add rcx, 8
imul rdx, rdx, 0x38
add rcx, rdx
add rcx, 8
mov rcx, qword [rcx]
mov qword [rsp + 0x80], rcx
cmp rcx, 0
mov qword [rsp + 0x88], rax
je 0x14010392f
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x80]
mov rcx, qword [rcx]
movabs rdx, 0xee17680c01c9b8b7
movabs r8, 0xae17680c01c9b8b7
xor rdx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x88], rax
jne 0x14010392f
mov rcx, qword [rsp + 0x80]
call fcn.14001d1d6
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
mov qword [rsp + 0x88], rax
mov rdx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x58], rax
mov rcx, rax
add rcx, 8
imul rdx, rdx, 0x38
add rcx, rdx
add rcx, 0x18
mov rcx, qword [rcx]
mov qword [rsp + 0x60], rcx
cmp rcx, 0
mov qword [rsp + 0x68], rax
je 0x1401039da
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rcx]
movabs r8, 0x97d4d3feee76a8bb
movabs rcx, 0xd7d4d3feee76a8bb
xor r8, rcx
movabs rcx, 0xe1b4ccaebd0a345f
movabs r9, 0x1e4b335142f5cba0
xor rcx, r9
xor r8, rcx
mov rcx, rdx
xor rcx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x68], rax
jne 0x1401039da
mov rcx, qword [rsp + 0x60]
call fcn.14001d1d6
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x50], rax
mov eax, dword [0x1402793f0]
xor edx, edx
div dword [0x1402793f4]
mov ecx, eax
sub ecx, 0xc4779e2e
mov edx, 0x88138ca3
xor edx, 0x77ec735c
mov eax, ecx
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x2fb4e7b8
xor ecx, 0x1ee8643e
mov edx, 0x49569947
xor edx, 0xb6a966b8
xor ecx, edx
mov edx, 0x94df000d
xor edx, 0xa583838b
mov r8d, 0x44759505
xor r8d, 0xbb8a6afa
xor edx, r8d
or ecx, edx
xor eax, 0xffffffff
mov edx, 0x7982f85e
xor edx, 0x867d07a1
xor ecx, edx
or eax, ecx
and eax, 0xaf04a9be
cmp eax, 0xcf168b7c
ja 0x140103d78
mov rcx, qword [rsp + 0x50]
mov eax, dword [0x1402793f8]
and eax, dword [0x1402793fc]
or eax, 0x87be14ef
mov edx, eax
xor edx, 0xa012efd7
mov r8d, 0x94654f1b
xor r8d, 0x6b9ab0e4
xor edx, r8d
and edx, 0xa012efd7
shl edx, 1
mov r8d, 0x9413a37
xor r8d, 0xa953d5e0
sub edx, r8d
sub eax, edx
mov r8d, 0x5ed68541
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x70]
add rcx, 8
imul rdx, rdx, 0x38
add rcx, rdx
add rcx, 0x28
mov rcx, qword [rcx]
mov qword [rsp + 0x40], rcx
cmp rcx, 0
sete cl
mov byte [rsp + 0x4f], cl
cmp eax, 0xfef40135
jae 0x140103a65
mov al, byte [rsp + 0x4f]
test al, 1
jne 0x140103b78
jmp 0x140103afc
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax]
movabs rdx, 0x582c96a5c03ccb23
movabs rax, 0x182c96a5c03ccb23
xor rdx, rax
mov rax, rcx
and rax, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x1166199680b8653d
movabs r8, 0x5166199680b8653d
xor rdx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x64f155b67712bbba
movabs r8, 0x9b0eaa4988ed4445
xor rdx, r8
xor rax, rdx
xor rcx, 0xffffffffffffffff
or rax, rcx
cmp rax, 0
jne 0x140103b78
mov rcx, qword [rsp + 0x40]
call fcn.14001d1d6
mov eax, dword [0x140279400]
xor edx, edx
div dword [0x140279404]
add eax, 0xca83f530
mov r8d, 0xffffffff
xor r8d, 0xea6597ab
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xe159f7a9
xor r8d, 0x1ea60856
xor ecx, r8d
imul ecx, edx
mov r8d, 0x19dd8d0d
xor r8d, 0xf3b81aa6
mov edx, eax
and edx, r8d
mov r8d, 0xbce57dc8
xor r8d, 0x5680ea63
or eax, r8d
imul eax, edx
add eax, ecx
or eax, 0xa9578c41
cmp eax, 0x733c908b
je 0x140103d81
mov r8, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x70]
mov eax, dword [0x140279408]
mov r9d, dword [0x14027940c]
mov ecx, eax
xor ecx, r9d
xor r9d, 0xffffffff
and eax, r9d
shl eax, 1
sub eax, ecx
sub eax, 0x2be63d99
add eax, 0x6031b0a0
add eax, 0x2be63d99
imul eax, eax, 0xf01e65d9
imul eax, eax, 0xea3ece5e
mov ecx, 0x8772202c
xor ecx, 0x42b30e93
add rdx, 1
mov qword [rsp + 0x30], rdx
cmp rdx, qword [r8]
setl dl
mov byte [rsp + 0x3f], dl
cmp eax, ecx
jae 0x140103bec
mov rax, qword [rsp + 0x30]
mov cl, byte [rsp + 0x3f]
test cl, 1
mov qword [rsp + 0x98], rax
jne 0x140103887
jmp 0x140103c77
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax + 8]
mov qword [rsp + 0x28], rax
cmp rax, 0
je 0x140103d70
mov eax, dword [0x140279410]
mov ecx, dword [0x140279414]
xor ecx, 0x77d40d66
add eax, ecx
mov ecx, 0xfda7d8f1
xor edx, edx
div ecx
mov ecx, eax
mov eax, 0x11d178ec
xor eax, 0x65418950
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0x764d0d15
xor edx, 0x89b2f2ea
xor ecx, edx
and eax, ecx
mov ecx, 0x87a35e9e
or ecx, 0x87a35e9e
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
cmp eax, 0x3b4c029a
ja 0x140103d8a
mov rcx, qword [rsp + 0x28]
mov r9d, dword [0x140279418]
mov r8d, dword [0x14027941c]
mov eax, r9d
xor eax, 0xffffffff
and eax, 0x4585ca54
mov r10d, 0xffffffff
xor r10d, 0x4585ca54
and r9d, r10d
mov edx, r8d
xor edx, 0xffffffff
mov r11d, 0x6b391649
xor r11d, 0x2ebcdc1d
and edx, r11d
and r8d, r10d
or eax, r9d
or edx, r8d
xor eax, edx
sub eax, 0x96f2e46f
add eax, 0xbb0ddaf3
imul eax, eax, 0xaddaf8de
mov dword [rsp + 0x24], eax
mov edx, 8
call fcn.14001d203
mov eax, dword [rsp + 0x24]
cmp eax, 0xbdcf9c5
jbe 0x140103d8a
jmp 0x140103d70
add rsp, 0xa8
ret
invalid
pop rsp
int3
invalid