Function at 0x14004c5e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0xe8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x60], rcx
mov eax, dword [0x1401dd400]
xor edx, edx
div dword [0x1401dd404]
sub eax, 0x685bc508
mov ecx, 0xb8ecbf7f
xor ecx, 0x92d8ff30
and eax, ecx
mov ecx, 0x257680f4
xor edx, edx
div ecx
cmp eax, 0x91239c43
ja 0x14004ced7
mov edx, dword [0x1401dd408]
mov eax, dword [0x1401dd40c]
mov ecx, eax
mov eax, edx
lea eax, [rax + rcx - 0x4500cd6f]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x22df8123
and ecx, 0xdd207edc
imul ecx, edx
mov edx, eax
and edx, 0xdd207edc
or eax, 0xdd207edc
imul eax, edx
add eax, ecx
mov dword [rbp + 0x58], eax
mov eax, 0x10
mov qword [rbp + 0x28], rax
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x38], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x30], rax
sub rsp, 0x20
call fcn.14004c253
mov rcx, qword [rbp + 0x38]
mov r8, qword [rbp + 0x40]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x48], rdx
movabs rdx, 0x4ed4fb4526c6065a
movabs r9, 0x4ed4fb4526c6065a
xor rdx, r9
mov qword [rcx], rdx
mov rdx, rcx
add rdx, 8
mov qword [rbp + 0x50], rdx
mov qword [rcx + 8], 0
mov rcx, qword [rax]
movabs rdx, 0xae853f6bc0be5801
movabs rax, 0xae853f6bc0be5803
xor rdx, rax
sub rsp, 0x20
call fcn.14004cefb
add rsp, 0x20
mov cl, al
mov eax, dword [rbp + 0x58]
mov byte [rbp + 0x5f], cl
cmp eax, 0x1cec2d77
jb 0x14004ced7
mov al, byte [rbp + 0x5f]
test al, 1
jne 0x14004c741
jmp 0x14004c753
sub rsp, 0x20
call fcn.1400067fe
add rsp, 0x20
jmp 0x14004cece
mov rax, qword [rbp + 0x40]
mov rax, qword [rax]
mov qword [rbp + 0x20], rax
movabs rcx, 0x37ee337072857989
movabs rdx, 0x37ee337072857989
xor rcx, rdx
cmp rax, rcx
jge 0x14004c7a2
mov rcx, qword [rbp + 0x20]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000c499
add rsp, 0x20
jmp 0x14004cece
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.1400170ba
mov r9, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x38]
mov rax, qword [rbp + 0x50]
add rsp, 0x20
mov r8, qword [r9]
mov qword [rbp + 8], r8
mov rcx, r9
add rcx, 8
mov qword [rbp + 0x10], rcx
mov rcx, qword [r9 + 8]
mov r10, qword [rdx]
mov qword [r9], r10
mov r10, qword [rdx + 8]
mov qword [r9 + 8], r10
mov qword [rdx], r8
mov qword [rax], rcx
xor eax, eax
mov qword [rbp + 0x18], rax
mov rcx, qword [rbp + 8]
mov rax, qword [rbp + 0x18]
mov qword [rbp], rax
cmp rax, rcx
jge 0x14004ceab
mov rcx, qword [rbp]
mov rdx, qword [rbp + 0x38]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 8], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14004c861
mov rcx, qword [rbp]
mov rdx, qword [rbp - 8]
movabs rax, 0x7c8ff617b7af5429
movabs r8, 0x837009e84850abd6
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.1400137e9
add rsp, 0x20
jmp 0x14004cece
mov eax, dword [0x1401dd410]
sub eax, dword [0x1401dd414]
mov ecx, 0x57c137c7
xor edx, edx
div ecx
sub eax, 0xf5068a62
sub eax, 0xdc7becf9
add eax, 0xf5068a62
mov ecx, 0xcd61203b
xor ecx, 0xfa0b3c62
xor edx, edx
div ecx
cmp eax, 0x224743e
ja 0x14004cee0
mov rcx, qword [rbp + 0x48]
mov r8, qword [rbp]
mov rdx, qword [rbp + 0x50]
mov r10d, dword [0x1401dd418]
mov eax, dword [0x1401dd41c]
xor r10d, 0x4d2b164d
not eax
or r10d, eax
mov r9d, r10d
not r9d
mov eax, r9d
and eax, 0x32783685
xor r10d, 0x32783685
add r9d, r10d
sub r9d, eax
mov eax, r9d
not eax
or eax, 0xa2896000
and eax, 0xa3cdf081
and r9d, 0x40100e06
or eax, r9d
mov rdx, qword [rdx]
lea r8, [r8 + r8*2]
mov rdx, qword [rdx + r8*8 + 8]
mov qword [rbp - 0x18], rdx
test rdx, rdx
sete dl
mov cl, byte [rcx]
test cl, cl
setne cl
mov byte [rbp - 0xa], cl
or cl, dl
mov byte [rbp - 9], cl
cmp eax, 0x420acfed
jb 0x14004c89f
mov al, byte [rbp - 9]
test al, 1
jne 0x14004cdf8
jmp 0x14004c938
mov rdx, qword [rbp - 0x18]
mov rax, qword [rbp + 0x60]
mov rcx, qword [rax]
add rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, rdx
and rax, rcx
mov qword [rbp - 0x20], rax
mov rdx, qword [rbp + 0x60]
mov rcx, qword [rbp - 0x20]
mov qword [rbp - 0x30], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x28], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14004c9b5
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
movabs rax, 0x63e1c135cae0cd2b
movabs r8, 0x9c1e3eca351f32d4
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.1400137e9
add rsp, 0x20
jmp 0x14004cece
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
add rax, 8
imul rcx, rcx, 0x18
add rax, rcx
cmp qword [rax], 0
je 0x14004cb4a
mov eax, dword [0x1401dd420]
mov ecx, dword [0x1401dd424]
xor ecx, 0x9b3a8b35
sub eax, ecx
mov ecx, 0x9111a417
xor ecx, 0xaf77ec8d
sub eax, ecx
sub eax, 0xcadf175a
add eax, 0x3e66489a
mov ecx, 0x69a5677a
xor ecx, 0x1b31d24c
xor edx, edx
div ecx
mov ecx, 0x71b75aa7
xor ecx, 0x2a518de4
xor edx, edx
div ecx
cmp eax, 0x6bcb922c
jae 0x14004cee9
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
mov edi, dword [0x1401dd428]
xor edi, 0xd45bfbb5
mov esi, dword [0x1401dd42c]
mov eax, 0x8538d303
xor eax, 0x7ac72cfc
mov r8d, edi
xor r8d, eax
mov r9d, esi
xor r9d, 0xffffffff
mov r10d, 0xffffffff
xor r10d, 0x336a03b4
mov eax, r8d
and eax, 0x336a03b4
and edi, r10d
mov ebx, 0x8803cb11
xor ebx, 0xbb69c8a5
mov r11d, r9d
and r11d, ebx
and esi, r10d
or eax, edi
or r11d, esi
xor eax, r11d
or r8d, r9d
xor r8d, 0xffffffff
mov r9d, 0xf815d035
xor r9d, 0xcb7fd381
or r9d, r10d
and r8d, r9d
or eax, r8d
add eax, 0x32c8061a
mov r8d, 0xa1c66e87
xor r8d, 0x1cd7ffe7
sub eax, r8d
mov r9d, eax
xor r9d, 0xffffffff
and r9d, 0xb3396a2a
mov r10d, 0xffffffff
xor r10d, 0xb3396a2a
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0xb3396a2a
or eax, 0xb3396a2a
imul eax, r9d
add eax, r8d
mov dword [rbp - 0x44], eax
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.14004cfd7
mov rcx, qword [rbp + 0x48]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x44]
mov qword [rbp - 0x40], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x31], cl
cmp eax, 0x6d1d55e1
je 0x14004ca29
mov rax, qword [rbp - 0x40]
mov cl, byte [rbp - 0x31]
test cl, 1
mov qword [rbp - 0x20], rax
jne 0x14004c958
jmp 0x14004cece
mov ecx, dword [0x1401dd430]
mov r8d, dword [0x1401dd434]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, ecx
and edx, r9d
mov eax, ecx
or eax, r9d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
or ecx, 0x5d1700a1
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x8a8e2a03
or ecx, 0x8a8e2a03
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov edx, eax
xor edx, 0x317ef7a7
mov ecx, 0x5e8a8e35
xor ecx, 0xa17571ca
xor edx, ecx
and edx, 0x317ef7a7
mov ecx, 0x3cbf54b2
xor ecx, 0x3cbf54b0
imul ecx, edx
mov edx, 0x9b586b8a
xor edx, 0xaa269c2d
sub ecx, edx
sub eax, ecx
cmp eax, 0x12da310e
jb 0x14004cef2
mov rcx, qword [rbp]
mov rdx, qword [rbp + 0x38]
mov r8d, dword [0x1401dd438]
xor r8d, dword [0x1401dd43c]
mov eax, r8d
xor eax, 0xffffffff
mov r10d, 0x91fae74e
xor r10d, 0x6e0518b1
mov r9d, r8d
xor r9d, r10d
or eax, r9d
xor eax, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xeb82f713
or eax, r9d
mov r9d, 0xeb82f713
and r9d, 0xeb82f713
mov r10d, 0xb115cc9d
xor r10d, 0x4eea3362
xor r9d, r10d
xor r8d, 0xffffffff
mov r10d, 0xe2e74e33
xor r10d, 0x1d18b1cc
xor r9d, r10d
or r8d, r9d
mov r9d, 0x6af957dc
xor r9d, 0x9506a823
xor eax, r9d
mov r9d, 0x5bd64697
xor r9d, 0xa429b968
xor r8d, r9d
or eax, r8d
mov r8d, 0x66c287f2
xor r8d, 0xccc3e720
sub eax, r8d
or eax, 0x32bf6fa5
mov rdx, qword [rdx]
mov qword [rbp - 0x50], rdx
cmp rcx, rdx
setl cl
mov byte [rbp - 0x45], cl
cmp eax, 0x896467ad
je 0x14004cbe1
mov al, byte [rbp - 0x45]
test al, 1
jne 0x14004ccf1
jmp 0x14004ccbd
mov rcx, qword [rbp]
mov rdx, qword [rbp - 0x50]
movabs rax, 0x79077537cc215545
movabs r8, 0x86f88ac833deaaba
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.1400137e9
add rsp, 0x20
jmp 0x14004cece
mov rax, qword [rbp]
mov rcx, qword [rbp + 0x50]
mov rcx, qword [rcx]
add rcx, 8
imul rax, rax, 0x18
add rcx, rax
add rcx, 8
mov eax, dword [rcx]
mov dword [rbp - 0x5c], eax
sub rsp, 0x20
call fcn.1400170e4
mov rcx, qword [rbp + 0x38]
mov rax, qword [rbp]
add rsp, 0x20
mov rcx, qword [rcx]
mov qword [rbp - 0x58], rcx
cmp rax, rcx
jl 0x14004cd8d
mov rcx, qword [rbp]
mov rdx, qword [rbp - 0x58]
movabs rax, 0xfb6293245c4421be
movabs r8, 0x49d6cdba3bbde41
xor rax, r8
movabs r8, 0xa2cb4b098357f4d9
movabs r9, 0x5d34b4f67ca80b26
xor r8, r9
xor rax, r8
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.1400137e9
add rsp, 0x20
jmp 0x14004cece
mov rax, qword [rbp]
mov rcx, qword [rbp + 0x50]
mov rcx, qword [rcx]
add rcx, 8
imul rax, rax, 0x18
add rcx, rax
add rcx, 0x10
mov rax, qword [rcx]
mov qword [rbp - 0x68], rax
sub rsp, 0x20
call fcn.140095e81
mov rdx, qword [rbp + 0x60]
mov r8d, dword [rbp - 0x5c]
mov r9, qword [rbp - 0x68]
mov r10, qword [rbp - 0x18]
mov rax, qword [rbp - 0x30]
add rsp, 0x20
sub rsp, 0x30
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.14004c4a6
mov rax, qword [rbp + 0x48]
add rsp, 0x30
cmp byte [rax], 0
je 0x14004ce16
jmp 0x14004cece
mov rcx, qword [rbp]
mov dl, byte [rbp - 0xa]
xor eax, eax
test dl, 1
mov qword [rbp - 0x78], rcx
mov byte [rbp - 0x69], al
jne 0x14004ce92
jmp 0x14004ce16
mov rax, qword [rbp]
mov rcx, rax
add rcx, 1
mov r8, rax
and r8, 0xffffffffffffffff
movabs rdx, 0xe9f9ef922afcd05c
movabs r9, 0xe9f9ef922afcd05e
xor rdx, r9
imul rdx, r8
movabs r8, 0x9cd7fa31ac8e4964
movabs r9, 0x632805ce5371b69b
xor r8, r9
add rax, r8
sub rax, rdx
xor rax, 0xffffffffffffffff
mov rdx, rcx
xor rdx, rax
and rdx, rcx
mov al, 1
cmp rdx, 0
mov qword [rbp - 0x78], rcx
mov byte [rbp - 0x69], al
jge 0x14004ce92
sub rsp, 0x20
call fcn.1400067fe
add rsp, 0x20
jmp 0x14004cece
mov rax, qword [rbp - 0x78]
mov cl, byte [rbp - 0x69]
test cl, 1
mov qword [rbp + 0x18], rax
jne 0x14004c7f3
jmp 0x14004cece
mov rcx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x38]
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov eax, dword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.14004bd80
add rsp, 0x20
lea rsp, [rbp + 0x68]
pop rbx
pop rdi
pop rsi
pop rbp
ret
sbb al, 0x4b
add eax, 0xf74be964
invalid
leave
je 0x14004ceba
jmp 0x14004c89f
loope 0x14004cf67
fsubr qword [rax - 0x17]
invalid
xchg esi, eax
pushfq
jmp 0x14004cbe1
add byte [r8], al
add dl, dh
movups xmm1, xmmword [rsp + 0x48]