Function at 0x14004cb50
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x88
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rcx
mov rax, qword [rdx]
mov qword [rcx], rax
mov rax, rcx
add rax, 8
mov qword [rsp + 0x50], rax
mov rax, rcx
add rax, 0x10
mov qword [rsp + 0x58], rax
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x60], rcx
mov rax, rdx
add rax, 8
mov qword [rsp + 0x68], rax
mov rax, rdx
add rax, 0x10
mov qword [rsp + 0x70], rax
mov rax, qword [rdx + 0x10]
mov qword [rsp + 0x78], rax
cmp rcx, rax
sete dl
cmp rcx, 0
sete cl
or cl, dl
test cl, 1
mov qword [rsp + 0x80], rax
jne 0x14004cc0e
mov rax, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x60]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
mov qword [rsp + 0x80], rax
jne 0x14004cc0e
mov rcx, qword [rsp + 0x60]
call fcn.14000de03
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x38], rax
mov eax, dword [0x1401da170]
mov edx, dword [0x1401da174]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
imul eax, eax, 0xf3aa7c0b
mov ecx, 0xd87264b
xor ecx, 0x723f118
and eax, ecx
mov ecx, 0x20239b8d
xor ecx, 0xfdce6fb6
xor edx, edx
div ecx
mov ecx, 0xf9611154
xor ecx, 0xfd8c981a
cmp eax, ecx
ja 0x14004cec3
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x50]
mov r9, qword [rsp + 0x68]
mov r10d, dword [0x1401da178]
or r10d, dword [0x1401da17c]
add r10d, 0x13ca49ed
mov r11d, 0xf8b37822
xor r11d, 0x74c87dd
mov esi, r10d
xor esi, r11d
and esi, 0x2b1a8ce5
mov edi, 0xffffffff
xor edi, 0x2b1a8ce5
mov r11d, r10d
and r11d, edi
imul r11d, esi
mov esi, r10d
and esi, 0x2b1a8ce5
or r10d, 0x2b1a8ce5
imul r10d, esi
add r10d, r11d
mov esi, r10d
xor esi, 0xffffffff
and esi, 0x39003e06
mov edi, 0xffffffff
xor edi, 0x39003e06
mov r11d, r10d
and r11d, edi
imul r11d, esi
mov esi, r10d
and esi, 0x39003e06
or r10d, 0x39003e06
imul r10d, esi
add r10d, r11d
mov dword [rsp + 0x30], r10d
mov r9, qword [r9]
mov qword [r8], r9
mov qword [rcx], rdx
mov rcx, rax
add rcx, 0x18
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax + 0x18]
call fcn.140042ebf
mov cl, al
mov eax, dword [rsp + 0x30]
mov byte [rsp + 0x37], cl
cmp eax, 0x91ea6db2
jae 0x14004cec3
mov al, byte [rsp + 0x37]
test al, 1
jne 0x14004cd56
jmp 0x14004cea8
mov ecx, dword [0x1401da180]
mov edx, dword [0x1401da184]
xor eax, eax
sub eax, ecx
mov ecx, 0xd65fdb3d
xor ecx, 0xd65fdb3d
sub ecx, edx
add eax, ecx
mov r11d, 0xa5810783
xor r11d, 0xa5810783
sub r11d, eax
mov eax, 0xe651f87f
xor eax, 0x19ae0780
mov ecx, r11d
xor ecx, eax
mov r8d, 0x79bef4e3
xor r8d, 0x89cfb281
mov eax, 0xed1b6538
xor eax, 0x12e49ac7
xor r8d, eax
mov edx, 0xffffffff
xor edx, 0xe7b481f8
mov eax, ecx
and eax, 0xe7b481f8
and r11d, edx
mov r9d, r8d
and r9d, 0xe7b481f8
mov r10d, edx
and r10d, 0xf0714662
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
mov r8d, 0x6ce0f26b
xor r8d, 0x931f0d94
xor ecx, r8d
or edx, 0xe7b481f8
and ecx, edx
or eax, ecx
add eax, 0x86ed0b7b
or eax, 0x49733741
cmp eax, 0x747d014f
jbe 0x14004cecc
mov rax, qword [rsp + 0x28]
mov ecx, dword [0x1401da188]
add ecx, dword [0x1401da18c]
mov edx, 0x224c3cac
xor edx, 0x224c3cac
sub edx, ecx
mov ecx, 0x7371e220
xor ecx, 0x7371e220
mov r8d, 0x58ffe1d0
xor r8d, 0x62d3d4b2
sub ecx, r8d
add edx, ecx
xor ecx, ecx
sub ecx, edx
xor ecx, 0x7ec966a5
mov edx, 0xae9423ca
xor edx, 0x7f84f2e5
and ecx, edx
mov dword [rsp + 0x24], ecx
mov rcx, qword [rax]
call fcn.14011c7c6
mov rax, qword [rsp + 0x28]
mov rcx, qword [rax]
movabs rdx, 0xe9b1ced233436a65
movabs rax, 0xe9b1ced233436a6d
xor rdx, rax
call fcn.14000de70
mov eax, dword [rsp + 0x24]
cmp eax, 0x7a19fc7f
jbe 0x14004ce12
jmp 0x14004cea8
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x18]
mov qword [rax], rcx
add rsp, 0x88
pop rdi
pop rsi
ret
adc dword [rdx], ebx
mov ebx, 0xfd96e928
invalid
sub bl, ch
invalid