Function at 0x140050100
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x68
mov qword [rsp + 0x50], rcx
add rcx, 8
mov qword [rsp + 0x58], rcx
xor eax, eax
mov qword [rsp + 0x60], rax
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x40], rax
mov rcx, qword [rcx]
mov rdx, qword [rdx]
mov qword [rsp + 0x48], rdx
cmp rax, rcx
jge 0x140050335
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov rcx, rax
add rcx, 8
imul rdx, rdx, 0x28
add rcx, rdx
add rcx, 0x10
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rcx
cmp rcx, 0
mov qword [rsp + 0x38], rax
je 0x1400501b1
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x30]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
mov qword [rsp + 0x38], rax
jne 0x1400501b1
mov rcx, qword [rsp + 0x30]
call fcn.14000e27f
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov qword [rsp + 0x38], rax
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x38]
add rax, 8
imul rcx, rcx, 0x28
add rax, rcx
add rax, 0x20
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
cmp rax, 0
je 0x140050322
mov rcx, qword [rsp + 0x28]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x7ae3ca34e180885e
movabs rdx, 0x7ae3ca34e180885e
xor rcx, rdx
cmp rax, rcx
jne 0x140050322
mov ecx, dword [0x1401dd5c0]
xor ecx, dword [0x1401dd5c4]
mov eax, 0x6dc4b117
xor eax, 0x923b4ee8
mov edx, ecx
xor edx, eax
and edx, 0xc94c649e
mov r8d, 0xffffffff
xor r8d, 0xc94c649e
mov eax, ecx
and eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0xc94c649e
or ecx, 0xc94c649e
imul ecx, edx
add ecx, eax
mov eax, 0xffffffff
xor eax, 0x76dea942
xor edx, edx
sub edx, 1
sub eax, edx
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0x6104e640
xor r8d, 0x9efb19bf
mov edx, ecx
xor edx, r8d
and eax, edx
mov edx, 0x514c2aac
or edx, 0x514c2aac
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
or ecx, 0x514c2aac
mov edx, 0x146ccc3b
xor edx, 0xeb9333c4
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
cmp eax, 0xc2497f18
jae 0x140050413
mov rcx, qword [rsp + 0x28]
mov r8d, dword [0x1401dd5c8]
mov eax, dword [0x1401dd5cc]
mov edx, r8d
xor edx, eax
mov r9d, 0xd8ba068d
xor r9d, 0x2745f972
xor eax, r9d
and r8d, eax
mov eax, 0x76c3acd5
xor eax, 0x76c3acd7
imul eax, r8d
sub eax, edx
xor eax, 0xf4551104
sub eax, 0xf2c4b104
imul eax, eax, 0x47bb47ca
mov dword [rsp + 0x24], eax
call fcn.14000e27f
mov eax, dword [rsp + 0x24]
cmp eax, 0x7f8c272c
jb 0x1400502bb
jmp 0x140050322
mov rax, qword [rsp + 0x40]
add rax, 1
mov qword [rsp + 0x60], rax
jmp 0x140050119
mov eax, dword [0x1401dd5d0]
xor edx, edx
div dword [0x1401dd5d4]
mov ecx, eax
and ecx, 0x4529be33
shl ecx, 1
xor eax, 0x4529be33
add eax, ecx
mov ecx, 0x41908370
xor edx, edx
div ecx
and eax, 0x281469ea
cmp eax, 0xd347d737
jae 0x14005041c
mov ecx, dword [0x1401dd5d8]
xor ecx, 0xa9c49159
mov edx, dword [0x1401dd5dc]
mov eax, ecx
xor eax, 0xffffffff
mov r8d, ecx
xor r8d, 0xffffffff
or eax, r8d
and eax, edx
mov r8d, 0x21a7f67d
xor r8d, 0xde580982
xor eax, r8d
and edx, edx
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x7c26ab8c
xor ecx, 0xbf0cca84
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x48]
imul eax, eax, 0xbdb0389f
and eax, 0x5012b72
mov ecx, 0x91ac42e2
xor ecx, 0xef76ba3c
cmp rdx, 0
sete dl
mov byte [rsp + 0x23], dl
cmp eax, ecx
je 0x14005036e
mov al, byte [rsp + 0x23]
test al, 1
jne 0x14005040d
jmp 0x1400503fe
mov rcx, qword [rsp + 0x48]
mov edx, 8
call fcn.14000e284
nop
add rsp, 0x68
ret
fmul st(7)
sub ecx, 0xfffffe9f
invalid