Function at 0x14000d870
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x28
movzx eax, byte [rcx]
cmp eax, 0x12
je 0x14000d970
cmp eax, 0x13
je case.0x14000d8cf.0
mov edx, 0xad36a9a1
nop
mov r8d, dword [0x141dc0730]
imul r8d, dword [0x141dc0734]
xor r8d, 0xd0a7147b
imul r8, rdx
shr r8, 0x3e
cmp r8d, 0xcc08424f
ja 0x14000d890
cmp rax, 0x10
ja case.default.0x14000d8cf
lea rdx, [0x141db9ed4]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
mov eax, dword [0x141dc0748]
xor edx, edx
div dword [0x141dc074c]
nop
mov eax, dword [0x141dc0750]
and eax, dword [0x141dc0754]
imul eax, eax, 0x45c96f05
cmp eax, 0xaa3556a1
je 0x14000d8e0
mov eax, dword [0x141dc0758]
xor edx, edx
div dword [0x141dc075c]
nop word [rax + rax]
mov eax, dword [0x141dc0760]
and eax, dword [0x141dc0764]
and eax, 0x8eeba9d8
shr eax, 2
imul rax, rax, 0x21e5baaf
shr rax, 0x3a
imul eax, eax, 0x1d4df5b5
cmp eax, 0x10325868
je 0x14000d910
mov r8, qword [rcx + 8]
mov eax, dword [0x141dc0768]
xor edx, edx
div dword [0x141dc076c]
and eax, 0x21bf88ad
add eax, 0xb20aed5a
or eax, 0x5381e2c6
cmp eax, 0xfb7952ac
ja 0x14000d940
jmp 0x14000da85
mov eax, dword [0x141dc0728]
and eax, dword [0x141dc072c]
or eax, 0xd505a54f
cmp eax, 0xddb0a42e
je 0x14000d970
mov rcx, qword [rcx + 8]
mov rax, qword [rcx]
call qword [rax + 0x10]
nop word cs:[rax + rax]
mov eax, dword [str._a.D]
add eax, dword [0x141dc0724]
or eax, 0xc251b9aa
imul eax, eax, 0x3a698ff1
add eax, 0xbc2dc46e
cmp eax, 0x43c264a9
jb case.0x14000d8cf.0
add rsp, 0x28
ret
mov eax, dword [0x141dc0770]
xor edx, edx
div dword [0x141dc0774]
add eax, 0xb33b915
and eax, 0xe94f63e1
add eax, 0x9c36026d
cmp eax, 0xd2e72068
ja case.0x14000d8cf.9
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x14000da00
mov rdx, qword [rcx + 8]
mov eax, 0x9a163859
nop dword [rax]
mov r8d, dword [0x141dc0778]
add r8d, dword [0x141dc077c]
and r8d, 0xf5ca70c6
xor r8d, 0xfcb02870
imul r8, rax
shr r8, 0x3f
cmp r8d, 0x3b8a2f3f
je 0x14000da10
jmp 0x14000db4d
mov r8, qword [rcx + 8]
mov eax, dword [0x141dc0738]
xor edx, edx
div dword [0x141dc073c]
nop word cs:[rax + rax]
mov eax, dword [0x141dc0740]
xor edx, edx
div dword [0x141dc0744]
imul eax, eax, 0xe8cdd616
or eax, 0x470a2fd4
add eax, 0xad6de323
cmp eax, 0x6d988ff0
jb 0x14000da60
mov eax, 0x10
test r8, r8
jne 0x14000dbd1
jmp case.0x14000d8cf.0
mov eax, 0x8bdb9ebb
nop dword [rax]
mov edx, dword [0x141dc0780]
sub edx, dword [0x141dc0784]
imul edx, edx, 0xb688418b
add edx, 0xacb3aac6
imul rdx, rax
shr rdx, 0x3f
cmp edx, 0xa8f8fff3
ja 0x14000daa0
mov rdx, qword [rcx + 8]
nop dword [rax]
mov eax, dword [0x141dc0788]
sub eax, dword [0x141dc078c]
xor eax, 0x8e29c95e
imul rax, rax, 0x11f93005
shr rax, 0x3a
cmp eax, 0x7af9cde0
je 0x14000dad0
jmp 0x14000db4d
mov eax, 0x97ed9781
nop word [rax + rax]
mov edx, dword [0x141dc0790]
xor edx, dword [0x141dc0794]
add edx, 0x943aeebf
imul rdx, rax
shr rdx, 0x3e
cmp edx, 0xf21eff80
ja 0x14000db00
mov rdx, qword [rcx + 8]
nop word cs:[rax + rax]
mov eax, dword [0x141dc0798]
or eax, dword [0x141dc079c]
or eax, 0xffefbffb
and eax, 0xffefbfff
cmp eax, 0x2b3e5568
je 0x14000db30
mov eax, 0x10
test rdx, rdx
jne 0x14000dbd1
jmp case.0x14000d8cf.0
mov eax, dword [0x141dc07a0]
xor edx, edx
div dword [0x141dc07a4]
nop word [rax + rax]
mov eax, dword [0x141dc07a8]
imul eax, dword [0x141dc07ac]
and eax, 0x40d28022
or eax, 0x360d525d
imul eax, eax, 0xf84d15cf
cmp eax, 0x261590fd
je 0x14000db70
mov rdx, qword [rcx + 0x10]
nop dword [rax + rax]
mov eax, dword [0x141dc07b0]
sub eax, dword [0x141dc07b4]
and eax, 0x1ce1ff8a
imul eax, eax, 0xe97839ca
add eax, 0x50f902a7
cmp eax, 0x5331d93e
jb 0x14000dba0
mov eax, 8
test rdx, rdx
je case.0x14000d8cf.0
mov r8, qword [rcx + rax]
mov rcx, qword [0x141ddb260]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp case.0x14000d8cf.0