Function at 0x1401c04c0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xb8
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0xa8], rcx
mov rax, rcx
mov qword [rsp + 0x98], rax
mov qword [rcx], 0
mov rax, rcx
add rax, 8
mov qword [rsp + 0xa0], rax
mov qword [rcx + 8], 0
mov rdx, qword [rdx]
call fcn.14003a748
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rcx]
mov qword [rsp + 0xb0], rax
movabs rcx, 0xad5bdf06cb2c9075
movabs rdx, 0xad5bdf06cb2c9075
xor rcx, rdx
cmp rax, rcx
jle 0x1401c08d8
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0x90]
add rax, 8
mov qword [rsp + 0x78], rax
xor eax, eax
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rax
mov rcx, qword [rsp + 0x78]
mov r8, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rax
mov r9, qword [rcx]
mov r9, qword [r9 + rdx*8 + 8]
mov r8, qword [r8]
mov qword [r8 + rdx*8 + 8], r9
mov rcx, qword [rcx]
mov rcx, qword [rcx + rdx*8 + 8]
mov qword [rsp + 0x68], rcx
cmp rcx, 0
mov qword [rsp + 0x70], rax
je 0x1401c0759
mov eax, dword [0x1402b3988]
mov edx, dword [0x1402b398c]
xor edx, 0x8e6678c5
xor eax, 0xffffffff
mov ecx, 0x39b62aaf
xor ecx, 0xc649d550
xor edx, ecx
mov ecx, 0xffffffff
xor ecx, 0x4396e87d
or eax, edx
or ecx, 0x4396e87d
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0xdf4d3224
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0x291e03fc
mov edx, 0xbe1067d9
xor edx, 0x970e6425
or eax, edx
add ecx, eax
mov eax, ecx
or eax, 0x1283599a
xor eax, 0xffffffff
mov edx, 0xb66e0e7c
xor edx, 0x4991f183
xor ecx, edx
mov edx, 0x3b708761
xor edx, 0x29f3defb
mov r8d, 0x963ab400
xor r8d, 0x69c54bff
xor edx, r8d
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
cmp eax, 0xec756260
je 0x1401c08e8
mov rcx, qword [rsp + 0x68]
mov eax, dword [0x1402b3990]
mov r8d, dword [0x1402b3994]
mov edx, eax
add edx, 1
xor eax, 0xffffffff
or eax, r8d
add eax, edx
and eax, 0x3fb64948
or eax, 0x6f0f3ba1
mov r8d, 0x88d65f2d
xor edx, edx
div r8d
movabs r8, 0x75e63a1eed315c4c
movabs rdx, 0x8a19c5e112cea3bc
xor r8, rdx
mov rdx, rcx
and rdx, r8
shl rdx, 1
xor rcx, 0xfffffffffffffff0
add rcx, rdx
mov qword [rsp + 0x40], rcx
mov rdx, qword [rcx]
movabs r8, 0x276a5d0e00779173
mov rcx, rdx
sub rcx, r8
movabs r8, 0x1dd5c40d76b33fb5
movabs r9, 0x1dd5c40d76b33fa5
xor r8, r9
add rcx, r8
movabs r8, 0x276a5d0e00779173
add rcx, r8
mov qword [rsp + 0x48], rcx
xor rdx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rsp + 0x57], cl
cmp eax, 0x1019045b
ja 0x1401c065a
mov al, byte [rsp + 0x57]
test al, 1
jne 0x1401c0728
jmp 0x1401c0742
call fcn.14000ee80
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax]
mov qword [rsp + 0x70], rax
jmp 0x1401c0759
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov qword [rcx], rdx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x38], rax
mov ecx, dword [0x1402b3998]
mov r8d, dword [0x1402b399c]
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov r9d, 0x53c77e5f
xor r9d, 0xac3881a0
mov edx, r8d
xor edx, r9d
or eax, edx
mov r9d, 0x97c15078
xor r9d, 0x683eaf87
mov edx, r8d
xor edx, r9d
mov r9d, 0x955cfae8
xor r9d, 0x6aa30517
xor r8d, r9d
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x752a5ea1
xor ecx, 0x8ad5a15e
xor eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xc71f1423
mov r8d, 0xffffffff
xor r8d, 0xc71f1423
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xc71f1423
or eax, 0xc71f1423
imul eax, edx
add eax, ecx
xor ecx, ecx
sub ecx, 0xf00c1fd
add eax, ecx
mov ecx, eax
xor ecx, 0x9ce8561
xor ecx, 0xffffffff
and ecx, 0x9ce8561
shl ecx, 1
sub ecx, 0x9ce8561
sub eax, ecx
mov ecx, 0xfecd4340
xor ecx, 0x5dc7243c
cmp eax, ecx
je 0x1401c08f1
mov rcx, qword [rsp + 0x58]
mov eax, dword [0x1402b39a0]
mov r8d, dword [0x1402b39a4]
xor edx, edx
sub edx, r8d
sub eax, edx
mov edx, 0x4f83f344
xor edx, 0xd1326835
sub eax, edx
add eax, 0x23bab0ab
mov edx, 0x21b8b20f
xor edx, 0xbf09297e
add eax, edx
mov r8d, 0x7fc517d1
xor edx, edx
div r8d
div eax
mov rdx, qword [rsp + 0x38]
xor r8d, r8d
sub r8d, 0x551e8f9
add eax, r8d
add rcx, 1
mov qword [rsp + 0x28], rcx
cmp rcx, rdx
setl cl
mov byte [rsp + 0x37], cl
cmp eax, 0x3b5c787b
je 0x1401c0839
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x38]
mov dl, byte [rsp + 0x37]
test dl, 1
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rax
jne 0x1401c0566
jmp 0x1401c08d8
mov rax, qword [rsp + 0x98]
add rsp, 0xb8
ret
push rdi
jae 0x1401c087a
jmp 0x1401c065a
mov al, 0x32
mov ebp, 0xff3fe922
invalid