Function at 0x1401f6650
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], rcx
mov rax, qword [rdx]
mov qword [rsp + 0x80], rax
cmp rax, 0
jle 0x1401f6c9e
mov eax, dword [0x140258970]
xor eax, 0x18f01bab
mov r8d, dword [0x140258974]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xd4bbf16a
xor edx, 0xccd781c1
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x186c70ab
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x186c70ab
or eax, 0x186c70ab
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x108584d8
xor edx, 0x8cd82588
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x9c5da150
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x9c5da150
or eax, 0x9c5da150
imul eax, edx
add eax, ecx
imul eax, eax, 0x4756f142
cmp eax, 0x50b87ff3
jbe 0x1401f6ca6
mov r8, qword [rsp + 0x80]
mov eax, dword [0x140258978]
mov edx, dword [0x14025897c]
mov r9d, eax
and r9d, edx
mov ecx, 0x9fc24323
xor ecx, 0x9fc24321
imul ecx, r9d
add eax, edx
sub eax, ecx
add eax, 0xedbe5752
mov ecx, 0xc3014a21
xor edx, edx
div ecx
and eax, 0xe9b99477
mov ecx, 0xc1f6c7b8
xor ecx, 0xc2034705
mov rdx, r8
add rdx, 1
mov qword [rsp + 0x60], rdx
mov r9, r8
xor r9, 0xffffffffffffffff
movabs r10, 0x263ed7c5e456d19d
movabs r11, 0xd9c1283a1ba92e62
xor r10, r11
xor r9, r10
and r9, 0xffffffffffffffff
shl r9, 1
movabs r10, 0x6fc4a859a379c2fd
movabs r11, 0x903b57a65c863d02
xor r10, r11
sub r9, r10
sub r8, r9
and rdx, r8
cmp rdx, 0
setl dl
mov byte [rsp + 0x6f], dl
cmp eax, ecx
ja 0x1401f672f
mov al, byte [rsp + 0x6f]
test al, 1
jne 0x1401f67f3
jmp 0x1401f690b
mov eax, dword [0x140258980]
mov edx, dword [0x140258984]
mov ecx, 0x6a9eac45
xor ecx, 0x80130e34
xor edx, ecx
mov ecx, eax
xor ecx, edx
mov r8d, 0xbc0fcdc
xor r8d, 0xf43f0323
xor ecx, r8d
or eax, edx
and eax, ecx
mov ecx, 0x68c3b8df
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0xb7476ef5
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0x58e304d5
or edx, 0x58e304d5
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov edx, 0xaddb4633
xor edx, 0x5224b9cc
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x58e304d5
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x165d5ab0
xor ecx, 0x4e30078
cmp eax, ecx
je 0x1401f6caf
mov eax, dword [0x140258988]
mov edx, dword [0x14025898c]
xor edx, 0x5871bd00
xor edx, 0xffffffff
mov ecx, eax
xor ecx, edx
and ecx, eax
add ecx, 0x238c2eba
sub ecx, 0x71ef89a2
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
and eax, 0xfd48abb3
mov edx, 0xb603468c
xor edx, 0x49fcb973
xor eax, edx
mov edx, 0xfd48abb3
and edx, 0xfd48abb3
xor edx, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
mov ecx, 0x579650be
xor ecx, 0xa869af41
xor eax, ecx
mov dword [rsp + 0x5c], eax
call fcn.140008c92
mov eax, dword [rsp + 0x5c]
cmp eax, 0xc485748
je 0x1401f6caf
jmp 0x1401f6c9e
mov ecx, dword [0x140258990]
mov eax, 0x41dd34cd
xor eax, 0x63ab0e0
xor ecx, eax
mov edx, dword [0x140258994]
mov eax, ecx
or eax, edx
xor eax, 0xffffffff
mov r8d, 0xcc780c68
xor r8d, 0x3387f397
xor ecx, r8d
xor edx, 0xffffffff
and ecx, edx
xor eax, 0xffffffff
mov edx, 0x6ff3bf7f
xor edx, 0x900c4080
xor ecx, edx
and eax, ecx
mov ecx, eax
xor ecx, 0x662e506
mov edx, 0xffffffff
xor edx, 0x662e506
and eax, edx
shl eax, 1
sub eax, ecx
add eax, 0xfc8ba530
and eax, eax
xor eax, 0xffffffff
mov ecx, 0x55c29188
xor ecx, 0xbc1943d2
mov edx, 0x56cf5fcd
xor edx, 0xa930a032
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xe9dbd25a
or ecx, edx
mov edx, 0x7585c9c0
xor edx, 0x8a7a363f
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x3fdcb30a
xor ecx, 0x149c06b2
cmp eax, ecx
je 0x1401f6cb8
mov eax, dword [0x140258998]
sub eax, dword [0x14025899c]
mov ecx, 0xd66a5ef
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x60]
or eax, 0x216d9cba
mov ecx, 0xffffffff
xor ecx, 0x301d86fc
xor r8d, r8d
sub r8d, 1
sub ecx, r8d
sub eax, ecx
mov ecx, 0x45bc0c4a
xor ecx, 0xcd11d38d
cmp rdx, 0
setl dl
mov byte [rsp + 0x5b], dl
cmp eax, ecx
ja 0x1401f69bf
mov al, byte [rsp + 0x5b]
test al, 1
jne 0x1401f6a24
jmp 0x1401f6a41
mov rcx, qword [rsp + 0x60]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000d792
jmp 0x1401f6c9e
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rdx + 8]
add rcx, 8
add rcx, qword [rdx]
mov qword [rsp + 0x40], rcx
mov rax, qword [rax + 8]
add rax, 8
mov qword [rsp + 0x48], rax
xor eax, eax
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x38], rax
cmp rax, rcx
je 0x1401f6aaf
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov dl, byte [rdx + rax]
mov byte [rcx + rax], dl
xor ecx, ecx
sub rcx, 1
sub rax, rcx
mov qword [rsp + 0x50], rax
jmp 0x1401f6a6f
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov r8, qword [rcx]
mov rdx, qword [rax]
mov rcx, rdx
add rcx, r8
mov qword [rsp + 0x30], rcx
mov rax, rcx
xor rax, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0x88e586d20fd53d37
movabs rdx, 0x88e586d20fd53d37
xor rcx, rdx
cmp rax, rcx
jge 0x1401f6bbd
mov eax, dword [0x1402589a0]
xor eax, 0x431a8bd2
mov ecx, dword [0x1402589a4]
xor ecx, 0xf7076e0
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0x7a84d3a2
shl ecx, 1
mov edx, 0xe59d2114
xor edx, 0x9f19f2b6
add eax, edx
sub eax, ecx
mov ecx, 0x574ce6aa
xor ecx, 0x574ce6aa
sub ecx, eax
xor eax, eax
sub eax, 0x9d1a2fd7
add ecx, eax
mov eax, 0x5d415a15
xor eax, 0x5d415a15
sub eax, ecx
mov ecx, 0x52395c58
xor ecx, 0x5d3c3378
add eax, ecx
cmp eax, 0x9426b0f6
je 0x1401f6cc1
mov ecx, dword [0x1402589a8]
mov edx, dword [0x1402589ac]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
add eax, 0xab53d232
sub eax, 0x465f9071
sub eax, 0xab53d232
mov ecx, 0x50134157
xor ecx, 0x169d22c0
xor edx, edx
div ecx
mov ecx, 0xa51ed5f1
xor edx, edx
div ecx
mov dword [rsp + 0x2c], eax
call fcn.140008c92
mov eax, dword [rsp + 0x2c]
cmp eax, 0x1ad0b10a
jae 0x1401f6b65
jmp 0x1401f6c9e
mov eax, dword [0x1402589b0]
xor eax, 0x91674c18
xor edx, edx
div dword [0x1402589b4]
mov r8d, 0xffffffff
xor r8d, 0xa08a43f
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xc44cfa77
xor r8d, 0xce445e48
mov edx, eax
and edx, r8d
or eax, 0xa08a43f
imul eax, edx
add eax, ecx
or eax, 0xcb4f79c6
imul eax, eax, 0x732b66ce
cmp eax, 0x4294b760
je 0x1401f6cca
mov rcx, qword [rsp + 0x78]
mov eax, dword [0x1402589b8]
mov edx, 0x277f7ef
xor edx, 0xba5b30fd
xor eax, edx
mov edx, dword [0x1402589bc]
xor edx, 0xa80c6aa1
sub eax, edx
mov r8d, eax
xor r8d, 0x41b5e7e
xor r8d, 0xffffffff
mov edx, 0xe335577e
xor edx, 0xe72e0900
and edx, r8d
shl edx, 1
mov r8d, 0x410ef703
xor r8d, 0x4515a97d
sub edx, r8d
sub eax, edx
mov r8d, 0x7a3c9c67
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x30]
sub eax, 0xc924d76f
mov qword [rcx], rdx
cmp eax, 0x48d9e458
ja 0x1401f6cca
jmp 0x1401f6c9e
add rsp, 0x88
ret
int3
mov ecx, 0xe9d07d1c
int3
add ecx, ebp
invalid
invalid
invalid