Function at 0x14011e350
Capabilities:
Encrypt data using des

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x110
lea rdi, [rsp + 0x20]
mov ecx, 0x3c
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x120]
mov rax, qword [0x140177c80]
xor rax, rsp
mov qword [rsp + 0x100], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xb8]
add rax, 0x38
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xc0]
add rax, 0x38
mov qword [rsp + 0xc8], rax
mov dword [rsp + 0xd4], 0
jmp 0x14011e3e3
mov eax, dword [rsp + 0xd4]
inc eax
mov dword [rsp + 0xd4], eax
cmp dword [rsp + 0xd4], 0x38
jge 0x14011e484
movsxd rax, dword [rsp + 0xd4]
lea rcx, [0x140159530]
movzx eax, byte [rcx + rax]
dec eax
mov dword [rsp + 0xd8], eax
mov eax, dword [rsp + 0xd8]
and eax, 7
mov dword [rsp + 0xdc], eax
mov eax, dword [rsp + 0xd8]
sar eax, 3
cdqe
mov rcx, qword [rsp + 0x120]
movzx eax, byte [rcx + rax]
movsxd rcx, dword [rsp + 0xdc]
lea rdx, [0x1401595a8]
and eax, dword [rdx + rcx*4]
test eax, eax
je 0x14011e459
mov dword [rsp + 0xf0], 1
jmp 0x14011e464
mov dword [rsp + 0xf0], 0
movsxd rax, dword [rsp + 0xd4]
mov rcx, qword [rsp + 0xb8]
movzx edx, byte [rsp + 0xf0]
mov byte [rcx + rax], dl
jmp 0x14011e3d3
mov dword [rsp + 0xd0], 0
jmp 0x14011e4a1
mov eax, dword [rsp + 0xd0]
inc eax
mov dword [rsp + 0xd0], eax
cmp dword [rsp + 0xd0], 0x10
jge 0x14011e75f
mov r8d, 8
xor edx, edx
mov rcx, qword [rsp + 0xc8]
call sub.VCRUNTIME140.dll_memset
mov dword [rsp + 0xd4], 0
jmp 0x14011e4e1
mov eax, dword [rsp + 0xd4]
inc eax
mov dword [rsp + 0xd4], eax
cmp dword [rsp + 0xd4], 0x38
jge 0x14011e594
cmp dword [rsp + 0xd4], 0x1c
jge 0x14011e506
mov dword [rsp + 0xf4], 0x1c
jmp 0x14011e511
mov dword [rsp + 0xf4], 0x38
movsxd rax, dword [rsp + 0xd0]
lea rcx, [0x140159568]
movzx eax, byte [rcx + rax]
mov ecx, dword [rsp + 0xd4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xd8], eax
mov eax, dword [rsp + 0xf4]
cmp dword [rsp + 0xd8], eax
jge 0x14011e556
mov eax, dword [rsp + 0xd8]
mov dword [rsp + 0xf8], eax
jmp 0x14011e567
mov eax, dword [rsp + 0xd8]
sub eax, 0x1c
mov dword [rsp + 0xf8], eax
movsxd rax, dword [rsp + 0xf8]
movsxd rcx, dword [rsp + 0xd4]
mov rdx, qword [rsp + 0xc0]
mov r8, qword [rsp + 0xb8]
movzx eax, byte [r8 + rax]
mov byte [rdx + rcx], al
jmp 0x14011e4d1
mov dword [rsp + 0xd4], 0
jmp 0x14011e5b1
mov eax, dword [rsp + 0xd4]
inc eax
mov dword [rsp + 0xd4], eax
cmp dword [rsp + 0xd4], 0x30
jge 0x14011e664
movsxd rax, dword [rsp + 0xd4]
lea rcx, [0x140159578]
movzx eax, byte [rcx + rax]
dec eax
cdqe
mov rcx, qword [rsp + 0xc0]
movzx eax, byte [rcx + rax]
test eax, eax
je 0x14011e65f
mov eax, dword [rsp + 0xd4]
cdq
mov ecx, 6
idiv ecx
mov eax, edx
mov dword [rsp + 0xd8], eax
mov eax, dword [rsp + 0xd4]
cdq
mov ecx, 6
idiv ecx
cdqe
movsxd rcx, dword [rsp + 0xd8]
lea rdx, [0x1401595a8]
mov ecx, dword [rdx + rcx*4]
sar ecx, 2
movzx ecx, cl
mov rdx, qword [rsp + 0xc8]
movzx eax, byte [rdx + rax]
or eax, ecx
mov dword [rsp + 0xfc], eax
mov eax, dword [rsp + 0xd4]
cdq
mov ecx, 6
idiv ecx
cdqe
mov rcx, qword [rsp + 0xc8]
mov edx, dword [rsp + 0xfc]
mov byte [rcx + rax], dl
jmp 0x14011e5a1
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0xc8]
movzx eax, byte [rcx + rax]
shl eax, 0x18
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0xc8]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x10
or eax, ecx
mov ecx, 1
imul rcx, rcx, 4
mov rdx, qword [rsp + 0xc8]
movzx ecx, byte [rdx + rcx]
shl ecx, 8
or eax, ecx
mov ecx, 1
imul rcx, rcx, 6
mov rdx, qword [rsp + 0xc8]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov ecx, dword [rsp + 0xd0]
add ecx, ecx
movsxd rcx, ecx
mov rdx, qword [rsp + 0x130]
mov dword [rdx + rcx*4], eax
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0xc8]
movzx eax, byte [rcx + rax]
shl eax, 0x18
mov ecx, 1
imul rcx, rcx, 3
mov rdx, qword [rsp + 0xc8]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x10
or eax, ecx
mov ecx, 1
imul rcx, rcx, 5
mov rdx, qword [rsp + 0xc8]
movzx ecx, byte [rdx + rcx]
shl ecx, 8
or eax, ecx
mov ecx, 1
imul rcx, rcx, 7
mov rdx, qword [rsp + 0xc8]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov ecx, dword [rsp + 0xd0]
lea ecx, [rcx + rcx + 1]
movsxd rcx, ecx
mov rdx, qword [rsp + 0x130]
mov dword [rdx + rcx*4], eax
jmp 0x14011e491
cmp dword [rsp + 0x128], 1
jne 0x14011e873
mov dword [rsp + 0xd0], 0
jmp 0x14011e78b
mov eax, dword [rsp + 0xd0]
add eax, 2
mov dword [rsp + 0xd0], eax
cmp dword [rsp + 0xd0], 0x10
jge 0x14011e873
movsxd rax, dword [rsp + 0xd0]
mov rcx, qword [rsp + 0x130]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 0xe0], eax
mov eax, 0x1e
sub eax, dword [rsp + 0xd0]
cdqe
movsxd rcx, dword [rsp + 0xd0]
mov rdx, qword [rsp + 0x130]
mov r8, qword [rsp + 0x130]
mov eax, dword [r8 + rax*4]
mov dword [rdx + rcx*4], eax
mov eax, 0x1e
sub eax, dword [rsp + 0xd0]
cdqe
mov rcx, qword [rsp + 0x130]
mov edx, dword [rsp + 0xe0]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp + 0xd0]
inc eax
cdqe
mov rcx, qword [rsp + 0x130]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 0xe0], eax
mov eax, 0x1f
sub eax, dword [rsp + 0xd0]
cdqe
mov ecx, dword [rsp + 0xd0]
inc ecx
movsxd rcx, ecx
mov rdx, qword [rsp + 0x130]
mov r8, qword [rsp + 0x130]
mov eax, dword [r8 + rax*4]
mov dword [rdx + rcx*4], eax
mov eax, 0x1f
sub eax, dword [rsp + 0xd0]
cdqe
mov rcx, qword [rsp + 0x130]
mov edx, dword [rsp + 0xe0]
mov dword [rcx + rax*4], edx
jmp 0x14011e77a
xor eax, eax
mov edi, eax
mov rcx, rsp
lea rdx, [0x140159ec0]
call fcn.140132900
mov eax, edi
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.140132640
add rsp, 0x110
pop rdi
ret