Function at 0x14000daa0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rcx
movzx eax, byte [rcx]
mov ecx, 0xc4e23797
nop word cs:[rax + rax]
mov edx, dword [0x141dbd760]
and edx, dword [0x141dbd764]
and edx, 0x14b4ef79
imul edx, edx, 0xa5857c5a
imul rdx, rcx
shr rdx, 0x3d
cmp edx, 0xd47cbd8e
je 0x14000dac0
cmp rax, 0x12
je 0x14000dc8e
cmp eax, 0x13
je case.0x14000db38.0
nop dword [rax + rax]
mov ecx, dword [0x141dbd780]
and ecx, dword [0x141dbd784]
add ecx, 0x841c029
or ecx, 0x58d40dfe
cmp ecx, 0x7c3a9ebe
je 0x14000db00
cmp rax, 0x10
ja case.default.0x14000db38
lea rcx, [0x141db70f4]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov eax, dword [0x141dbd7a0]
xor edx, edx
div dword [0x141dbd7a4]
nop dword [rax + rax]
mov eax, dword [0x141dbd7a8]
and eax, dword [0x141dbd7ac]
shr eax, 3
imul rax, rax, 0xb536727
shr rax, 0x34
and eax, 0xfffffffe
xor eax, 0xb8bdb5a7
cmp eax, 0xa1c876cb
jb 0x14000db50
mov rax, qword [rsi + 8]
nop dword [rax]
mov ecx, dword [0x141dbd7b0]
and ecx, dword [0x141dbd7b4]
imul ecx, ecx, 0xf080872
or ecx, 0xd5f380da
add ecx, 0xee96b0d9
cmp ecx, 0xab0a6158
jb 0x14000db80
mov edi, 0x10
jmp 0x14000dd6e
mov eax, dword [0x141dbd7b8]
or eax, dword [0x141dbd7bc]
add eax, 0xdb656f11
and eax, 0x43120101
cmp eax, 0x64c77b07
ja case.0x14000db38.9
jmp case.0x14000db38.10
mov eax, dword [0x141dbd788]
imul eax, dword [0x141dbd78c]
and eax, 0xc6b8416a
imul eax, eax, 0x5b4def56
imul rax, rax, 0x1530b66b
shr rax, 0x3c
cmp eax, 0xde29413d
ja case.default.0x14000db38
mov edi, 0x10
cmp qword [rsi + 8], 0
jne 0x14000dd73
jmp case.0x14000db38.0
mov eax, dword [0x141dbd7c0]
or eax, dword [0x141dbd7c4]
cmp eax, 0xcb730ead
je case.0x14000db38.12
mov rcx, qword [rsi + 8]
mov eax, dword [0x141dbd7c8]
xor edx, edx
div dword [0x141dbd7cc]
nop word cs:[rax + rax]
mov eax, dword [0x141dbd7d0]
xor eax, dword [0x141dbd7d4]
imul eax, eax, 0xdb51a239
add eax, 0x3ea120f7
cmp eax, 0xe693dff4
ja 0x14000dc40
nop
mov eax, dword [0x141dbd7d8]
imul eax, dword [0x141dbd7dc]
xor eax, 0xf872aa54
add eax, 0xdd08eb
cmp eax, 0xd700fbcb
ja 0x14000dc60
mov edi, 0x10
test rcx, rcx
jne 0x14000dd73
jmp case.0x14000db38.0
mov rsi, qword [rsi + 8]
mov rdi, qword [rsi]
mov eax, dword [0x141dbd770]
and eax, dword [0x141dbd774]
add eax, 0xabbe59c7
imul rcx, rax, 0x15ae8f
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
cmp eax, 0x568c726e
jbe 0x14000dcd0
mov rcx, rsi
call qword [rdi + 0x10]
nop word [rax + rax]
mov eax, dword [str._x4]
imul eax, dword [0x141dbd77c]
imul ebx, eax, 0x56b5c4f8
mov rcx, rsi
call qword [rdi + 0x10]
cmp ebx, 0xa93260f1
je 0x14000dcd0
nop word cs:[rax + rax]
mov eax, dword [0x141dbd768]
xor edx, edx
div dword [0x141dbd76c]
add eax, 0x76066cae
xor eax, 0x12e4
and eax, 0xa000dff4
cmp eax, 0xecbf46b9
je case.0x14000db38.0
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
mov rax, qword [rsi + 0x10]
mov ecx, 0x80ab6bf5
nop word cs:[rax + rax]
mov edx, dword [0x141dbd7e0]
imul edx, dword [0x141dbd7e4]
or edx, 0xbff2ca98
imul rdx, rcx
shr rdx, 0x3e
or edx, 0x2be1158c
cmp edx, 0x5d6459f4
ja 0x14000dd40
mov edi, 8
test rax, rax
je case.0x14000db38.0
mov eax, dword [0x141dbd790]
sub eax, dword [0x141dbd794]
or eax, 0x9d6686d1
imul eax, eax, 0xc5ef7869
cmp eax, 0x1e533456
je 0x14000ddd2
mov eax, dword [0x141dbd798]
or eax, dword [0x141dbd79c]
or eax, 0x55284279
imul eax, eax, 0xf2fc4a3c
imul rbx, rax, 0x5b1b604b
shr rbx, 0x3d
mov r8, qword [rsi + rdi]
mov rcx, qword [0x141dd7fe0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp ebx, 0x306760bf
jne case.0x14000db38.0
mov r8, qword [rsi + rdi]
mov rcx, qword [0x141dd7fe0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x14000dd91