Function at 0x1400c1670
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rcx
mov rax, qword [rdx]
mov qword [rsp + 0x50], rax
cmp rax, 0
jle 0x1400c1abe
mov rcx, qword [rsp + 0x50]
mov rax, rcx
add rax, 1
mov qword [rsp + 0x38], rax
movabs r8, 0x6abe5190357d3c35
movabs rdx, 0x9541ae6fca82c3ca
xor r8, rdx
mov rdx, rcx
xor rdx, r8
and rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rcx, r8
or rdx, rcx
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rdx
and rax, rcx
cmp rax, 0
jge 0x1400c16f7
call fcn.140008c92
jmp 0x1400c1abe
mov eax, dword [0x1402505c0]
imul eax, dword [0x1402505c4]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x5ec73477
xor edx, 0xa138cb88
xor eax, edx
or ecx, eax
mov eax, 0xdc1fb47b
and eax, 0xdc1fb47b
xor eax, 0xffffffff
and ecx, eax
mov eax, 0x385d9997
xor eax, 0xc7a26668
xor ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xc223a86b
or eax, edx
mov edx, 0xffffffff
xor edx, 0xc223a86b
mov r8d, 0xffffffff
xor r8d, 0xc223a86b
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xb14db035
xor ecx, 0x123c4471
xor edx, edx
div ecx
cmp eax, 0xe6431afa
je 0x1400c1bb2
mov rcx, qword [rsp + 0x38]
mov eax, dword [0x1402505c8]
mov edx, 0xecf48c5f
xor edx, 0x44d13de
xor eax, edx
mov edx, dword [0x1402505cc]
mov r8d, 0xe85384c5
xor r8d, 0x9fb5591d
xor edx, r8d
and eax, edx
mov r8d, 0x7fdecfdc
xor edx, edx
div r8d
mov r8d, 0x3e36a15d
xor r8d, 0x43406045
xor edx, edx
div r8d
and eax, 0x61e1ee05
cmp rcx, 0
setl cl
mov byte [rsp + 0x37], cl
cmp eax, 0x3ef5d1b6
ja 0x1400c178e
mov al, byte [rsp + 0x37]
test al, 1
jne 0x1400c1807
jmp 0x1400c199c
mov ecx, dword [0x1402505d0]
xor ecx, dword [0x1402505d4]
mov eax, ecx
xor eax, 0x13e516e9
mov edx, 0x4bb2fc4e
xor edx, 0x5857eaa7
mov r8d, 0x2f89cfc4
xor r8d, 0xd076303b
xor edx, r8d
and ecx, edx
shl ecx, 1
sub ecx, eax
mov edx, 0x50af4b98
xor edx, 0xaf50b467
mov eax, ecx
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x91c5ef58
xor ecx, 0x6a416764
mov edx, 0xdbb8b77a
xor edx, 0x203c3f46
or ecx, edx
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x50b2617a
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
cmp eax, 0xd93ac515
je 0x1400c1bbb
mov rcx, qword [rsp + 0x38]
mov eax, dword [0x1402505d8]
mov r8d, dword [0x1402505dc]
mov edx, 0xc2d622b8
xor edx, 0xe974ace0
xor r8d, edx
mov edx, eax
xor edx, 0xffffffff
mov r10d, 0xe2d7dccb
xor r10d, 0x1d282334
mov r9d, eax
xor r9d, r10d
or edx, r9d
and edx, r8d
xor edx, 0xffffffff
and r8d, r8d
mov r9d, 0xdd3397e1
xor r9d, 0x22cc681e
xor r8d, r9d
and eax, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
mov r8d, 0x3715b735
xor r8d, 0xc8ea48ca
xor eax, r8d
or edx, eax
mov r8d, edx
xor r8d, 0xffffffff
mov eax, 0xff79b7ba
xor eax, 0xf9fb4d9d
and eax, r8d
mov r8d, 0xffffffff
xor r8d, 0x682fa27
and edx, r8d
or eax, edx
mov edx, eax
and edx, 0x7f45115b
xor edx, 0xffffffff
mov r8d, 0x8017d881
xor r8d, 0xff52c9da
add eax, r8d
add eax, 1
add eax, edx
mov edx, 0xf071296f
xor edx, 0x9da0539f
add eax, edx
mov dword [rsp + 0x30], eax
movabs rdx, 0x5a23ab01062fedbc
movabs rax, 0x5a23ab01062fedbc
xor rdx, rax
movabs r8, 0xafd1780522cdf32f
movabs rax, 0xd02e87fadd320cd0
xor r8, rax
call fcn.14000d792
mov eax, dword [rsp + 0x30]
cmp eax, 0xc33fcd26
je 0x1400c1bbb
jmp 0x1400c1abe
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x38]
mov rcx, qword [rdx + 8]
add rcx, 8
add rcx, qword [rdx]
mov rdx, qword [rax + 8]
add rdx, 8
call fcn.1400cd23c
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x40]
mov rdx, qword [rcx]
mov r8, qword [rax]
xor eax, eax
mov ecx, eax
sub rcx, r8
xor eax, eax
sub rax, rdx
add rcx, rax
movabs rax, 0xa2ea10a38240feba
movabs r9, 0xa2ea10a38240feba
xor rax, r9
sub rax, rcx
mov qword [rsp + 0x28], rax
mov rcx, rax
xor rcx, rdx
movabs r9, 0x3c92067778792bd0
movabs rdx, 0xc36df9888786d42f
xor r9, rdx
mov rdx, rax
xor rdx, r9
mov r9, rax
xor r9, 0xffffffffffffffff
or rdx, r9
and rdx, r8
xor rdx, 0xffffffffffffffff
and r8, r8
xor r8, 0xffffffffffffffff
movabs r9, 0xb38206023f75c078
movabs r10, 0x4c7df9fdc08a3f87
xor r9, r10
xor rax, r9
xor r8, 0xffffffffffffffff
or rax, r8
and rdx, rax
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, 0xffffffffffffffff
mov r8, rdx
xor r8, 0xffffffffffffffff
or rax, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0xabdffefdee47c113
movabs r8, 0x5420010211b83eec
xor rdx, r8
xor rax, rdx
xor rcx, 0xffffffffffffffff
or rax, rcx
cmp rax, 0
jge 0x1400c1ab1
call fcn.140008c92
jmp 0x1400c1abe
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x28]
mov qword [rax], rcx
mov ecx, dword [0x1402505e0]
mov edx, dword [0x1402505e4]
mov eax, 0x96b38ae7
xor eax, 0x7defd72b
xor edx, eax
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x3fcbbcb7
add eax, ecx
mov ecx, 0x9b1ee083
xor ecx, 0x9b1ee082
add eax, ecx
mov ecx, 0xfc9e39f6
xor ecx, 0x5d4772a5
imul eax, ecx
xor ecx, ecx
sub ecx, 0x483757ed
sub eax, ecx
cmp eax, 0xc65a6eb3
ja 0x1400c1bc4
mov eax, dword [0x1402505e8]
mov ecx, dword [0x1402505ec]
mov edx, 0xcc39879f
xor edx, 0xf7131a7f
xor ecx, edx
add eax, ecx
imul eax, eax, 0xf0c1ddc2
mov ecx, eax
xor ecx, 0xffffffff
mov edx, eax
xor edx, 0xffffffff
or ecx, edx
and ecx, 0x52317f20
mov edx, 0xb04cef91
xor edx, 0x4fb3106e
xor ecx, edx
mov edx, 0x52317f20
and edx, 0x52317f20
xor edx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
or eax, 0xebfe5ca4
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xebfe5ca4
and ecx, edx
mov edx, 0x199a0a94
xor edx, 0xe665f56b
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
cmp eax, 0xf4b18810
jb 0x1400c1bc4
add rsp, 0x58
ret
invalid
invalid
invalid