Function at 0x140002310
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rcx
mov rax, qword [rcx]
mov qword [rsp + 0x50], rax
cmp rax, 0
je 0x1400024d4
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rax + 8]
mov rax, qword [rax]
cmp rcx, rax
mov qword [rsp + 0x38], rax
jg 0x14000236e
mov rcx, qword [rsp + 0x40]
call fcn.1400109c0
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov qword [rsp + 0x38], rax
mov rdx, qword [rsp + 0x30]
mov r9, qword [rsp + 0x48]
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov r10, rcx
shl r10, 4
mov r8, rax
add r8, r10
mov qword [r8], r9
mov r8, rcx
shl r8, 4
add rax, r8
add rax, 8
mov qword [rax], rdx
movabs rdx, 0x254c1063cf0b1c8e
movabs rax, 0x254c1063cf0b1c8f
xor rdx, rax
movabs rax, 0x178730579909ef0e
movabs r8, 0xe878cfa866f610f1
xor rax, r8
xor rdx, rax
xor eax, eax
sub rax, 1
sub rdx, rax
mov rax, rcx
sub rax, rdx
mov qword [rsp + 0x28], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x3ee86161c259e345
movabs rdx, 0x3ee86161c259e345
xor rcx, rdx
cmp rax, rcx
jge 0x14000241d
call fcn.140008d37
jmp 0x1400024d4
mov eax, dword [0x1402412d0]
mov ecx, dword [0x1402412d4]
xor ecx, 0x5b65476c
or eax, ecx
mov ecx, 0xb5c98490
xor edx, edx
div ecx
and eax, 0xcc1d6f2a
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x78aa8db8
xor edx, 0xc2fd2d05
and edx, ecx
mov r8d, 0xbf59c0d7
xor r8d, 0x50e606a
mov ecx, 0xdb1a00a4
xor ecx, 0x24e5ff5b
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xba57a0bd
or eax, 0xba57a0bd
imul eax, edx
add eax, ecx
cmp eax, 0x7dad5a9d
je 0x140002615
mov rcx, qword [rsp + 0x40]
mov eax, dword [0x1402412d8]
xor eax, 0xa674fbed
xor eax, dword [0x1402412dc]
mov r8d, 0x23184e42
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x28]
xor eax, 0xb7953c42
or eax, 0xefe436f4
mov qword [rcx], rdx
cmp eax, 0xa254b77c
je 0x140002491
jmp 0x1400024d4
mov eax, dword [0x1402412e0]
imul eax, dword [0x1402412e4]
mov r8d, 0xffffffff
xor r8d, 0x511fe212
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x511fe212
or eax, 0x511fe212
imul eax, edx
add eax, ecx
mov ecx, 0x42254306
xor ecx, 0xf679175e
and eax, ecx
mov ecx, 0x4161d6bf
xor edx, edx
div ecx
cmp eax, 0x998a71c5
jae 0x14000261e
mov ecx, dword [0x1402412e8]
xor ecx, 0x1e8a4ee6
mov edx, dword [0x1402412ec]
xor edx, 0xba71274a
mov eax, ecx
xor eax, edx
mov r8d, 0x8e58f2cf
xor r8d, 0x71a70d30
xor eax, r8d
or ecx, edx
and ecx, eax
mov edx, ecx
xor edx, 0xffffffff
and edx, 0xe53c7c5a
mov r8d, 0x3d49a1c1
xor r8d, 0xd875dd9b
mov eax, 0xd44096a
xor eax, 0xf2bbf695
xor r8d, eax
mov eax, ecx
and eax, r8d
imul eax, edx
mov r8d, 0x93d8af7
xor r8d, 0xec01f6ad
mov edx, ecx
and edx, r8d
or ecx, 0xe53c7c5a
imul ecx, edx
add ecx, eax
mov eax, ecx
or eax, eax
mov edx, 0x252e94d7
xor edx, 0xdad16b28
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x93428858
mov r8d, 0xffffffff
xor r8d, 0x93428858
and edx, r8d
or eax, edx
xor eax, 0xffffffff
mov edx, 0xff116d45
xor edx, 0x6c53e51d
or ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xe60eee40
add ecx, eax
xor eax, eax
sub eax, ecx
cmp eax, 0x3f900489
jb 0x140002531
add rsp, 0x58
ret
enter 0xffffffffffffcb75, 0x67
jmp 0x140002491
invalid