Function at 0x1400da010
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x48
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x2c], r8d
mov dword [rsp + 0x28], 0
mov eax, dword [rsp + 0x2c]
sar eax, 1
shl eax, 1
mov dword [rsp + 0x2c], eax
cmp qword [rsp + 0x38], 0
je 0x1400da04e
cmp dword [rsp + 0x2c], 0
jne 0x1400da0ae
mov eax, dword [0x14011243c]
and eax, dword [0x140112440]
and eax, 0x6bce7553
xor eax, 0x189c7b51
xor eax, 0xda513075
cmp eax, 0x4f2795f5
je 0x1400da2c0
mov eax, dword [0x140112444]
xor edx, edx
div dword [0x140112448]
mov ecx, 0x7462155d
xor edx, edx
div ecx
sub eax, 0x54a2ada1
imul eax, eax, 0x2a19299
mov dword [rsp + 0x44], 0
cmp eax, 0xeec5c1d0
jae 0x1400da074
jmp 0x1400da25b
jmp 0x1400da0b3
mov rax, qword [rsp + 0x38]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0x38], rcx
movsx ecx, byte [rax]
call qword [sym.imp.msvcrt.dll_toupper]
mov dl, al
mov rax, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x28]
mov r8d, ecx
add r8d, 1
mov dword [rsp + 0x28], r8d
movsxd rcx, ecx
mov byte [rax + rcx], dl
mov rax, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x28]
mov edx, ecx
add edx, 1
mov dword [rsp + 0x28], edx
movsxd rcx, ecx
mov byte [rax + rcx], 0
mov eax, dword [0x14011244c]
add eax, dword [0x140112450]
xor eax, 0x5ceac8cd
and eax, 0x97c569d1
mov ecx, 0xc1dc57d
xor edx, edx
div ecx
cmp eax, 0xd4bc7412
ja 0x1400da2cd
mov eax, dword [0x140112454]
or eax, dword [0x140112458]
mov ecx, 0x45bd2c5d
xor edx, edx
div ecx
or eax, 0xacb75e5a
sub eax, 0x61991bbf
mov rcx, qword [rsp + 0x38]
movsx ecx, byte [rcx]
cmp ecx, 0
setne cl
mov byte [rsp + 0x27], cl
cmp eax, 0x47b1c194
jbe 0x1400da2cd
mov cl, byte [rsp + 0x27]
xor eax, eax
test cl, 1
mov byte [rsp + 0x26], al
jne 0x1400da181
jmp 0x1400da1f4
mov eax, dword [0x14011245c]
xor eax, dword [0x140112460]
mov ecx, 0xfc1920fc
xor edx, edx
div ecx
imul eax, eax, 0x692753b8
xor eax, 0xd4907ee3
cmp eax, 0xc549a37f
je 0x1400da2d2
mov eax, dword [0x140112464]
sub eax, dword [0x140112468]
imul eax, eax, 0x864a553
mov ecx, 0xe34e2dc
xor edx, edx
div ecx
imul eax, eax, 0x8eb40d66
mov ecx, dword [rsp + 0x28]
cmp ecx, dword [rsp + 0x2c]
setl cl
mov byte [rsp + 0x25], cl
cmp eax, 0x800114f0
jbe 0x1400da1ac
mov al, byte [rsp + 0x25]
mov byte [rsp + 0x26], al
jmp 0x1400da1f4
mov al, byte [rsp + 0x26]
test al, 1
jne 0x1400da0b3
mov eax, dword [0x14011246c]
or eax, dword [0x140112470]
and eax, 0x39093488
xor eax, 0x9b772d6e
and eax, 0xf646f3dc
cmp eax, 0xbc342758
ja 0x1400da2d7
mov eax, dword [0x140112474]
imul eax, dword [0x140112478]
imul eax, eax, 0xc47919
or eax, 0xf28eb1ee
xor eax, 0xedecd8d3
mov ecx, dword [rsp + 0x28]
mov dword [rsp + 0x44], ecx
cmp eax, 0x6e65822
je 0x1400da226
jmp 0x1400da25b
mov eax, dword [0x14011247c]
sub eax, dword [0x140112480]
imul eax, eax, 0x1376c5c1
imul eax, eax, 0x60785695
mov ecx, 0xdd88b2bd
xor edx, edx
div ecx
cmp eax, 0xb190d197
ja 0x1400da2e4
mov eax, dword [0x140112484]
imul eax, dword [0x140112488]
and eax, 0x2d4d1776
imul eax, eax, 0x962b4e7
or eax, 0xa6ec1665
mov ecx, dword [rsp + 0x44]
mov dword [rsp + 0x20], ecx
cmp eax, 0xad01beeb
jb 0x1400da287
mov eax, dword [rsp + 0x20]
add rsp, 0x48
ret
mov dword [rsp + 0x44], 0
jmp 0x1400da074
jmp 0x1400da12d
jmp 0x1400da1ac
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x44], eax
jmp 0x1400da226
jmp 0x1400da287