Function at 0x14013b670
Capabilities:
Encrypt data using des

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x100
mov rax, qword [0x140276168]
xor rax, rsp
mov qword [rsp + 0xf0], rax
xor r12d, r12d
lea r11, [0x140000000]
mov rbx, r8
mov r10d, r12d
movzx ebp, dx
mov r8, rcx
movzx edx, byte [r10 + r11 + 0x276fc1]
movzx r9d, byte [r10 + r11 + 0x276fc0]
mov eax, r9d
and r9d, 7
shr rax, 3
movzx ecx, byte [rax + r8]
test byte [r11 + r9*2 + 0x276f50], cl
setne al
mov byte [rsp + r10 + 0x80], al
mov eax, edx
shr rax, 3
and edx, 7
movzx ecx, byte [rax + r8]
test byte [r11 + rdx*2 + 0x276f50], cl
movzx edx, byte [r10 + r11 + 0x276fc2]
setne al
mov byte [rsp + r10 + 0x81], al
mov eax, edx
shr rax, 3
and edx, 7
movzx ecx, byte [rax + r8]
test byte [r11 + rdx*2 + 0x276f50], cl
movzx edx, byte [r10 + r11 + 0x276fc3]
setne al
mov byte [rsp + r10 + 0x82], al
mov eax, edx
shr rax, 3
and edx, 7
movzx ecx, byte [rax + r8]
test byte [r11 + rdx*2 + 0x276f50], cl
movzx edx, byte [r10 + r11 + 0x276fc4]
setne al
mov byte [rsp + r10 + 0x83], al
mov eax, edx
shr rax, 3
and edx, 7
movzx ecx, byte [rax + r8]
test byte [r11 + rdx*2 + 0x276f50], cl
movzx edx, byte [r10 + r11 + 0x276fc5]
setne al
mov byte [rsp + r10 + 0x84], al
mov eax, edx
shr rax, 3
and edx, 7
movzx ecx, byte [rax + r8]
test byte [r11 + rdx*2 + 0x276f50], cl
movzx edx, byte [r10 + r11 + 0x276fc6]
setne al
mov byte [rsp + r10 + 0x85], al
mov eax, edx
shr rax, 3
and edx, 7
movzx ecx, byte [rax + r8]
test byte [r11 + rdx*2 + 0x276f50], cl
movzx edx, byte [r10 + r11 + 0x276fc7]
setne al
mov byte [rsp + r10 + 0x86], al
mov eax, edx
shr rax, 3
and edx, 7
movzx ecx, byte [rax + r8]
test byte [r11 + rdx*2 + 0x276f50], cl
movzx edx, byte [r10 + r11 + 0x276fc8]
setne al
mov byte [rsp + r10 + 0x87], al
mov eax, edx
shr rax, 3
and edx, 7
movzx ecx, byte [rax + r8]
test byte [r11 + rdx*2 + 0x276f50], cl
movzx edx, byte [r10 + r11 + 0x276fc9]
setne al
mov byte [rsp + r10 + 0x88], al
mov eax, edx
shr rax, 3
and edx, 7
movzx ecx, byte [rax + r8]
test byte [r11 + rdx*2 + 0x276f50], cl
movzx edx, byte [r10 + r11 + 0x276fca]
setne al
mov byte [rsp + r10 + 0x89], al
mov eax, edx
and edx, 7
shr rax, 3
movzx ecx, byte [rax + r8]
test byte [r11 + rdx*2 + 0x276f50], cl
movzx edx, byte [r10 + r11 + 0x276fcb]
setne al
mov byte [rsp + r10 + 0x8a], al
mov eax, edx
shr rax, 3
and edx, 7
movzx ecx, byte [rax + r8]
test byte [r11 + rdx*2 + 0x276f50], cl
movzx edx, byte [r10 + r11 + 0x276fcc]
setne al
mov byte [rsp + r10 + 0x8b], al
mov eax, edx
shr rax, 3
and edx, 7
movzx ecx, byte [rax + r8]
test byte [r11 + rdx*2 + 0x276f50], cl
movzx edx, byte [r10 + r11 + 0x276fcd]
setne al
mov byte [rsp + r10 + 0x8c], al
mov eax, edx
shr rax, 3
and edx, 7
movzx ecx, byte [rax + r8]
test byte [r11 + rdx*2 + 0x276f50], cl
movzx edx, byte [r10 + r11 + 0x276fce]
setne al
mov byte [rsp + r10 + 0x8d], al
mov eax, edx
shr rax, 3
and edx, 7
movzx ecx, byte [rax + r8]
test byte [r11 + rdx*2 + 0x276f50], cl
movzx edx, byte [r10 + r11 + 0x276fcf]
setne al
mov byte [rsp + r10 + 0x8e], al
mov eax, edx
shr rax, 3
and edx, 7
movzx ecx, byte [rax + r8]
test byte [r11 + rdx*2 + 0x276f50], cl
movzx edx, byte [r10 + r11 + 0x276fd0]
setne al
mov byte [rsp + r10 + 0x8f], al
mov eax, edx
shr rax, 3
and edx, 7
movzx ecx, byte [rax + r8]
test byte [r11 + rdx*2 + 0x276f50], cl
movzx edx, byte [r10 + r11 + 0x276fd1]
setne al
mov byte [rsp + r10 + 0x90], al
mov eax, edx
shr rax, 3
and edx, 7
movzx ecx, byte [rax + r8]
test byte [r11 + rdx*2 + 0x276f50], cl
movzx edx, byte [r10 + r11 + 0x276fd2]
setne al
mov byte [rsp + r10 + 0x91], al
mov eax, edx
shr rax, 3
and edx, 7
movzx ecx, byte [rax + r8]
test byte [r11 + rdx*2 + 0x276f50], cl
movzx edx, byte [r10 + r11 + 0x276fd3]
setne al
mov byte [rsp + r10 + 0x92], al
mov eax, edx
shr rax, 3
and edx, 7
movzx ecx, byte [rax + r8]
test byte [r11 + rdx*2 + 0x276f50], cl
movzx edx, byte [r10 + r11 + 0x276fd4]
setne al
mov byte [rsp + r10 + 0x93], al
mov eax, edx
shr rax, 3
and edx, 7
movzx ecx, byte [rax + r8]
test byte [r11 + rdx*2 + 0x276f50], cl
movzx edx, byte [r10 + r11 + 0x276fd5]
setne al
mov byte [rsp + r10 + 0x94], al
mov eax, edx
shr rax, 3
and edx, 7
movzx ecx, byte [rax + r8]
test byte [r11 + rdx*2 + 0x276f50], cl
movzx edx, byte [r10 + r11 + 0x276fd6]
setne al
mov byte [rsp + r10 + 0x95], al
mov eax, edx
shr rax, 3
and edx, 7
movzx ecx, byte [rax + r8]
test byte [r11 + rdx*2 + 0x276f50], cl
movzx edx, byte [r10 + r11 + 0x276fd7]
setne al
mov byte [rsp + r10 + 0x96], al
mov eax, edx
shr rax, 3
and edx, 7
movzx ecx, byte [rax + r8]
test byte [r11 + rdx*2 + 0x276f50], cl
movzx edx, byte [r10 + r11 + 0x276fd8]
setne al
mov byte [rsp + r10 + 0x97], al
mov eax, edx
shr rax, 3
and edx, 7
movzx ecx, byte [rax + r8]
test byte [r11 + rdx*2 + 0x276f50], cl
movzx edx, byte [r10 + r11 + 0x276fd9]
setne al
mov byte [rsp + r10 + 0x98], al
mov eax, edx
shr rax, 3
and edx, 7
movzx ecx, byte [rax + r8]
test byte [r11 + rdx*2 + 0x276f50], cl
movzx edx, byte [r10 + r11 + 0x276fda]
setne al
mov byte [rsp + r10 + 0x99], al
mov eax, edx
shr rax, 3
and edx, 7
movzx ecx, byte [rax + r8]
test byte [r11 + rdx*2 + 0x276f50], cl
movzx edx, byte [r10 + r11 + 0x276fdb]
setne al
mov byte [rsp + r10 + 0x9a], al
mov eax, edx
shr rax, 3
and edx, 7
movzx ecx, byte [rax + r8]
test byte [r11 + rdx*2 + 0x276f50], cl
setne al
mov byte [rsp + r10 + 0x9b], al
add r10, 0x1c
cmp r10, 0x38
jl 0x14013b6b7
mov edi, r12d
lea rsi, [0x140276ff8]
lea r13, [0x140276f60]
lea r15, [0x140277020]
nop word [rax + rax]
movzx eax, byte [rsi]
lea rdx, [rsp + 0xb8]
lea r8, [rsp + 0xd4]
lea rax, [rsp + rax + 0x80]
nop dword [rax + rax]
lea rcx, [rsp + 0x9c]
lea r10, [rdx + 1]
cmp rax, rcx
jae 0x14013bbb7
movzx r9d, byte [rax]
jmp 0x14013bbbc
movzx r9d, byte [rax - 0x1c]
lea rcx, [rax + 0x1c]
lea r14, [rsp + 0x9c]
cmp rax, r14
cmovae rcx, rax
inc rax
movzx ecx, byte [rcx]
mov byte [rdx], r9b
mov rdx, r10
mov byte [r8], cl
inc r8
lea rcx, [rsp + 0xd4]
cmp r10, rcx
jb 0x14013bba0
mov eax, 0xf
lea rdx, [rsp]
sub eax, edi
lea rcx, [0x140277008]
cmp bp, 1
mov r8, r13
cmovne eax, edi
add eax, eax
cdqe
lea rdx, [rdx + rax*4]
mov qword [rdx], r12
nop word [rax + rax]
movzx eax, byte [rcx]
cmp byte [rsp + rax + 0xb8], r12b
je 0x14013bc32
mov eax, dword [r8]
or dword [rdx], eax
movzx eax, byte [rcx + 0x18]
cmp byte [rsp + rax + 0xb8], r12b
je 0x14013bc46
mov eax, dword [r8]
or dword [rdx + 4], eax
inc rcx
add r8, 4
cmp rcx, r15
jb 0x14013bc20
inc edi
inc rsi
cmp edi, 0x10
jl 0x14013bb80
lea r11, [rbx + 0x80]
lea r10, [rsp]
cmp rbx, r11
jae 0x14013bce7
mov r9d, dword [r10 + 4]
mov edx, r9d
mov r8d, dword [r10]
lea r10, [r10 + 8]
shr edx, 4
mov eax, r9d
and eax, 0xfc0
and edx, 0xfc000
or edx, eax
mov ecx, r8d
and ecx, 0xfc0
shr edx, 6
shl ecx, 4
mov eax, r8d
and eax, 0xfc0000
or ecx, eax
mov eax, r9d
shl ecx, 6
and r9d, 0x3f
or edx, ecx
shr eax, 4
mov ecx, r8d
mov dword [rbx], edx
and ecx, 0x3f
and r8d, 0x3f000
shl ecx, 4
and eax, 0x3f00
or ecx, r8d
shl ecx, 0xc
or ecx, eax
or ecx, r9d
mov dword [rbx + 4], ecx
add rbx, 8
cmp rbx, r11
jb 0x14013bc70
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.1400c3d30
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret