Function at 0x14000dcb0
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa
Hash data with md5

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x210]
sub rsp, 0x310
mov rax, qword [0x140028040]
xor rax, rsp
mov qword [rbp + 0x200], rax
xor r14d, r14d
mov qword [rbp + 0xd0], rcx
mov rdi, rcx
mov dword [rbp + 0x40], 0x67452301
lea rdx, [rcx + 8]
mov dword [rbp + 0x44], 0xefcdab89
lea rcx, [rbp + 0x40]
mov dword [rbp + 0x48], 0x98badcfe
lea r8d, [r14 + 0x20]
mov qword [rbp + 0x4c], 0x10325476
mov dword [rbp + 0x54], r14d
call fcn.14000f7e0
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0xa0]
call fcn.14000f460
cmp dword [rdi], 3
jne 0x14000dd8b
lea ebx, [r14 + 0x32]
mov r8d, dword [rdi + 4]
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x40]
mov dword [rbp + 0x40], 0x67452301
mov dword [rbp + 0x44], 0xefcdab89
mov dword [rbp + 0x48], 0x98badcfe
mov qword [rbp + 0x4c], 0x10325476
mov dword [rbp + 0x54], r14d
call fcn.14000f7e0
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0xa0]
call fcn.14000f460
sub rbx, 1
jne 0x14000dd40
mov r11d, dword [rdi + 4]
lea rcx, [rsp + 0x32]
mov r10d, r14d
mov eax, r14d
nop word [rax + rax]
mov byte [rcx], al
lea rcx, [rcx + 1]
inc eax
cmp eax, 0x100
jb 0x14000dda0
mov r8d, r14d
lea r9, [rbp + 0x100]
nop dword [rax]
xor edx, edx
lea r9, [r9 + 1]
mov eax, r8d
inc r8d
div r11d
movzx eax, byte [rbp + rdx + 0xa0]
mov byte [r9 - 1], al
cmp r8d, 0x100
jb 0x14000ddc0
mov r8, r14
mov r9d, 0x100
nop dword [rax]
movzx edx, byte [rsp + r8 + 0x32]
movzx ecx, byte [rbp + r8 + 0x100]
lea r8, [r8 + 1]
add ecx, r10d
add ecx, edx
movzx r10d, cl
lea rcx, [rsp + 0x32]
movzx eax, byte [rcx + r10]
mov byte [rsp + r8 + 0x31], al
mov byte [rcx + r10], dl
sub r9, 1
jne 0x14000ddf0
xor r8b, r8b
lea rax, [rbp + 0xb7]
sub rax, rdi
mov byte [rsp + 0x31], r8b
add rax, 0xffffffffffffffd6
lea rbx, [rbp + 0xb1]
mov qword [rsp + 0x20], rax
lea rsi, [rbp + 0xb2]
sub rbx, rdi
lea rax, [rbp + 0xb0]
sub rax, rdi
lea r14, [rbp + 0xb3]
sub rsi, rdi
lea r15, [rbp + 0xb4]
sub r14, rdi
lea r12, [rbp + 0xb5]
sub r15, rdi
lea r13, [rbp + 0xb6]
sub r12, rdi
lea r10, [rdi + 0x2a]
sub r13, rdi
lea r11d, [r9 + 4]
mov rdi, qword [rsp + 0x20]
add rax, 0xffffffffffffffd6
mov qword [rsp + 0x28], rax
nop dword [rax]
inc r9b
mov byte [rsp + 0x30], r9b
movzx edx, r9b
add r8b, byte [rsp + rdx + 0x32]
mov byte [rsp + 0x31], r8b
movzx ecx, byte [rsp + rdx + 0x32]
movzx eax, r8b
movzx eax, byte [rsp + rax + 0x32]
mov byte [rsp + rdx + 0x32], al
movzx eax, byte [rsp + 0x31]
mov byte [rsp + rax + 0x32], cl
movzx r9d, byte [rsp + 0x31]
movzx r8d, byte [rsp + 0x30]
movzx edx, byte [rsp + r9 + 0x32]
movzx ecx, byte [rsp + r8 + 0x32]
inc r8b
add rdx, rcx
movzx eax, dl
movzx edx, r8b
movzx ecx, byte [rsp + rax + 0x32]
xor cl, byte [r10 - 2]
mov rax, qword [rsp + 0x28]
mov byte [rsp + 0x30], r8b
add r9b, byte [rsp + rdx + 0x32]
mov byte [rsp + 0x31], r9b
mov byte [r10 + rax], cl
movzx ecx, byte [rsp + rdx + 0x32]
movzx eax, r9b
movzx eax, byte [rsp + rax + 0x32]
mov byte [rsp + rdx + 0x32], al
movzx eax, byte [rsp + 0x31]
mov byte [rsp + rax + 0x32], cl
movzx r9d, byte [rsp + 0x31]
movzx r8d, byte [rsp + 0x30]
movzx edx, byte [rsp + r9 + 0x32]
movzx ecx, byte [rsp + r8 + 0x32]
inc r8b
add rdx, rcx
movzx eax, dl
movzx edx, r8b
movzx ecx, byte [rsp + rax + 0x32]
xor cl, byte [r10 - 1]
mov byte [rsp + 0x30], r8b
add r9b, byte [rsp + rdx + 0x32]
mov byte [rsp + 0x31], r9b
mov byte [rbx + r10 - 0x2a], cl
movzx ecx, byte [rsp + rdx + 0x32]
movzx eax, r9b
movzx eax, byte [rsp + rax + 0x32]
mov byte [rsp + rdx + 0x32], al
movzx eax, byte [rsp + 0x31]
mov byte [rsp + rax + 0x32], cl
movzx r9d, byte [rsp + 0x31]
movzx r8d, byte [rsp + 0x30]
movzx edx, byte [rsp + r9 + 0x32]
movzx ecx, byte [rsp + r8 + 0x32]
inc r8b
add rdx, rcx
movzx eax, dl
movzx edx, r8b
movzx ecx, byte [rsp + rax + 0x32]
xor cl, byte [r10]
mov byte [rsp + 0x30], r8b
add r9b, byte [rsp + rdx + 0x32]
mov byte [rsp + 0x31], r9b
mov byte [rsi + r10 - 0x2a], cl
movzx ecx, byte [rsp + rdx + 0x32]
movzx eax, r9b
movzx eax, byte [rsp + rax + 0x32]
mov byte [rsp + rdx + 0x32], al
movzx eax, byte [rsp + 0x31]
mov byte [rsp + rax + 0x32], cl
movzx r9d, byte [rsp + 0x31]
movzx r8d, byte [rsp + 0x30]
movzx edx, byte [rsp + r9 + 0x32]
movzx ecx, byte [rsp + r8 + 0x32]
add rdx, rcx
movzx eax, dl
movzx ecx, byte [rsp + rax + 0x32]
xor cl, byte [r10 + 1]
mov byte [r14 + r10 - 0x2a], cl
inc r8b
lea r10, [r10 + 8]
mov byte [rsp + 0x30], r8b
movzx edx, r8b
add r9b, byte [rsp + rdx + 0x32]
mov byte [rsp + 0x31], r9b
movzx ecx, byte [rsp + rdx + 0x32]
movzx eax, r9b
movzx eax, byte [rsp + rax + 0x32]
mov byte [rsp + rdx + 0x32], al
movzx eax, byte [rsp + 0x31]
mov byte [rsp + rax + 0x32], cl
movzx r9d, byte [rsp + 0x31]
movzx r8d, byte [rsp + 0x30]
movzx edx, byte [rsp + r9 + 0x32]
movzx ecx, byte [rsp + r8 + 0x32]
inc r8b
add rdx, rcx
movzx eax, dl
movzx edx, r8b
movzx ecx, byte [rsp + rax + 0x32]
xor cl, byte [r10 - 6]
mov byte [rsp + 0x30], r8b
add r9b, byte [rsp + rdx + 0x32]
mov byte [rsp + 0x31], r9b
mov byte [r10 + r15 - 0x32], cl
movzx ecx, byte [rsp + rdx + 0x32]
movzx eax, r9b
movzx eax, byte [rsp + rax + 0x32]
mov byte [rsp + rdx + 0x32], al
movzx eax, byte [rsp + 0x31]
mov byte [rsp + rax + 0x32], cl
movzx r9d, byte [rsp + 0x31]
movzx r8d, byte [rsp + 0x30]
movzx edx, byte [rsp + r9 + 0x32]
movzx ecx, byte [rsp + r8 + 0x32]
inc r8b
add rdx, rcx
movzx eax, dl
movzx edx, r8b
movzx ecx, byte [rsp + rax + 0x32]
xor cl, byte [r10 - 5]
mov byte [rsp + 0x30], r8b
add r9b, byte [rsp + rdx + 0x32]
mov byte [rsp + 0x31], r9b
mov byte [r10 + r12 - 0x32], cl
movzx ecx, byte [rsp + rdx + 0x32]
movzx eax, r9b
movzx eax, byte [rsp + rax + 0x32]
mov byte [rsp + rdx + 0x32], al
movzx eax, byte [rsp + 0x31]
mov byte [rsp + rax + 0x32], cl
movzx r9d, byte [rsp + 0x31]
movzx r8d, byte [rsp + 0x30]
movzx edx, byte [rsp + r9 + 0x32]
movzx ecx, byte [rsp + r8 + 0x32]
inc r8b
add rdx, rcx
movzx eax, dl
movzx edx, r8b
movzx ecx, byte [rsp + rax + 0x32]
xor cl, byte [r10 - 4]
mov byte [rsp + 0x30], r8b
add r9b, byte [rsp + rdx + 0x32]
mov byte [rsp + 0x31], r9b
mov byte [r10 + r13 - 0x32], cl
movzx ecx, byte [rsp + rdx + 0x32]
movzx eax, r9b
movzx eax, byte [rsp + rax + 0x32]
mov byte [rsp + rdx + 0x32], al
movzx eax, byte [rsp + 0x31]
mov byte [rsp + rax + 0x32], cl
movzx r8d, byte [rsp + 0x31]
movzx r9d, byte [rsp + 0x30]
movzx edx, byte [rsp + r8 + 0x32]
movzx ecx, byte [rsp + r9 + 0x32]
add rdx, rcx
movzx eax, dl
movzx ecx, byte [rsp + rax + 0x32]
xor cl, byte [r10 - 3]
mov byte [r10 + rdi - 8], cl
sub r11, 1
jne 0x14000dea0
mov rdi, qword [rbp + 0xd0]
cmp dword [rdi], 3
jne 0x14000e68d
lea ebx, [r11 + 1]
mov r11d, dword [rdi + 4]
xor eax, eax
test r11d, r11d
je 0x14000e28b
cmp r11d, 0x40
jb 0x14000e260
movsx ecx, bl
mov r9d, r11d
and r9d, 0xffffffc0
mov r8d, 0x20
movd xmm1, ecx
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
pshufd xmm1, xmm1, 0
nop word [rax + rax]
movdqu xmm0, xmmword [rbp + rax + 0xa0]
lea ecx, [r8 - 0x10]
xorps xmm0, xmm1
movdqu xmmword [rbp + rax + 0xd0], xmm0
add eax, 0x40
movdqu xmm0, xmmword [rbp + rcx + 0xa0]
xorps xmm0, xmm1
movdqu xmmword [rbp + rcx + 0xd0], xmm0
mov ecx, r8d
movdqu xmm0, xmmword [rbp + rcx + 0xa0]
xorps xmm0, xmm1
movdqu xmmword [rbp + rcx + 0xd0], xmm0
lea ecx, [r8 + 0x10]
add r8d, 0x40
movdqu xmm0, xmmword [rbp + rcx + 0xa0]
xorps xmm0, xmm1
movdqu xmmword [rbp + rcx + 0xd0], xmm0
cmp eax, r9d
jb 0x14000e1f0
cmp eax, r11d
jae 0x14000e28b
sub r11d, eax
mov ecx, eax
mov edx, r11d
nop dword [rax + rax]
movzx eax, bl
xor al, byte [rbp + rcx + 0xa0]
mov byte [rbp + rcx + 0xd0], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x14000e270
mov r8d, 0x20
lea rdx, [rbp + 0xb0]
lea rcx, [rbp + 0xe0]
call fcn.140004510
mov r11d, dword [rdi + 4]
lea rcx, [rsp + 0x32]
xor r10d, r10d
xor eax, eax
nop dword [rax]
nop word [rax + rax]
mov byte [rcx], al
lea rcx, [rcx + 1]
inc eax
cmp eax, 0x100
jb 0x14000e2c0
xor r8d, r8d
lea r9, [rbp + 0x100]
nop dword [rax]
xor edx, edx
lea r9, [r9 + 1]
mov eax, r8d
inc r8d
div r11d
movzx eax, byte [rbp + rdx + 0xd0]
mov byte [r9 - 1], al
cmp r8d, 0x100
jb 0x14000e2e0
xor r8d, r8d
mov r9d, 0x100
nop dword [rax]
movzx edx, byte [rsp + r8 + 0x32]
movzx ecx, byte [rbp + r8 + 0x100]
lea r8, [r8 + 1]
add ecx, r10d
add ecx, edx
movzx r10d, cl
lea rcx, [rsp + 0x32]
movzx eax, byte [rcx + r10]
mov byte [rsp + r8 + 0x31], al
mov byte [rcx + r10], dl
sub r9, 1
jne 0x14000e310
xor r8b, r8b
lea esi, [r9 + 4]
mov byte [rsp + 0x31], r8b
xor r10d, r10d
inc r9b
mov byte [rsp + 0x30], r9b
movzx edx, r9b
add r8b, byte [rsp + rdx + 0x32]
mov byte [rsp + 0x31], r8b
movzx ecx, byte [rsp + rdx + 0x32]
movzx eax, r8b
movzx eax, byte [rsp + rax + 0x32]
mov byte [rsp + rdx + 0x32], al
movzx eax, byte [rsp + 0x31]
mov byte [rsp + rax + 0x32], cl
movzx r9d, byte [rsp + 0x31]
movzx r8d, byte [rsp + 0x30]
movzx edx, byte [rsp + r9 + 0x32]
movzx ecx, byte [rsp + r8 + 0x32]
inc r8b
add rdx, rcx
movzx eax, dl
movzx edx, r8b
movzx ecx, byte [rsp + rax + 0x32]
xor cl, byte [rbp + r10 + 0xe0]
mov byte [rsp + 0x30], r8b
add r9b, byte [rsp + rdx + 0x32]
mov byte [rsp + 0x31], r9b
mov byte [rbp + r10 + 0xb0], cl
movzx ecx, byte [rsp + rdx + 0x32]
movzx eax, r9b
movzx eax, byte [rsp + rax + 0x32]
mov byte [rsp + rdx + 0x32], al
movzx eax, byte [rsp + 0x31]
mov byte [rsp + rax + 0x32], cl
movzx r9d, byte [rsp + 0x31]
movzx r8d, byte [rsp + 0x30]
movzx edx, byte [rsp + r9 + 0x32]
movzx ecx, byte [rsp + r8 + 0x32]
inc r8b
add rdx, rcx
movzx eax, dl
movzx edx, r8b
movzx ecx, byte [rsp + rax + 0x32]
xor cl, byte [rbp + r10 + 0xe1]
mov byte [rsp + 0x30], r8b
add r9b, byte [rsp + rdx + 0x32]
mov byte [rsp + 0x31], r9b
mov byte [rbp + r10 + 0xb1], cl
movzx ecx, byte [rsp + rdx + 0x32]
movzx eax, r9b
movzx eax, byte [rsp + rax + 0x32]
mov byte [rsp + rdx + 0x32], al
movzx eax, byte [rsp + 0x31]
mov byte [rsp + rax + 0x32], cl
movzx r9d, byte [rsp + 0x31]
movzx r8d, byte [rsp + 0x30]
movzx edx, byte [rsp + r9 + 0x32]
movzx ecx, byte [rsp + r8 + 0x32]
inc r8b
add rdx, rcx
movzx eax, dl
movzx edx, r8b
movzx ecx, byte [rsp + rax + 0x32]
xor cl, byte [rbp + r10 + 0xe2]
mov byte [rsp + 0x30], r8b
add r9b, byte [rsp + rdx + 0x32]
mov byte [rsp + 0x31], r9b
mov byte [rbp + r10 + 0xb2], cl
movzx ecx, byte [rsp + rdx + 0x32]
movzx eax, r9b
movzx eax, byte [rsp + rax + 0x32]
mov byte [rsp + rdx + 0x32], al
movzx eax, byte [rsp + 0x31]
mov byte [rsp + rax + 0x32], cl
movzx r8d, byte [rsp + 0x30]
movzx r9d, byte [rsp + 0x31]
movzx ecx, byte [rsp + r8 + 0x32]
movzx edx, byte [rsp + r9 + 0x32]
add rdx, rcx
movzx eax, dl
movzx ecx, byte [rsp + rax + 0x32]
xor cl, byte [rbp + r10 + 0xe3]
mov byte [rbp + r10 + 0xb3], cl
inc r8b
mov byte [rsp + 0x30], r8b
lea r10, [r10 + 8]
movzx edx, r8b
add r9b, byte [rsp + rdx + 0x32]
mov byte [rsp + 0x31], r9b
movzx ecx, byte [rsp + rdx + 0x32]
movzx eax, r9b
movzx eax, byte [rsp + rax + 0x32]
mov byte [rsp + rdx + 0x32], al
movzx eax, byte [rsp + 0x31]
mov byte [rsp + rax + 0x32], cl
movzx r9d, byte [rsp + 0x31]
movzx r8d, byte [rsp + 0x30]
movzx edx, byte [rsp + r9 + 0x32]
movzx ecx, byte [rsp + r8 + 0x32]
inc r8b
add rdx, rcx
movzx eax, dl
movzx edx, r8b
movzx ecx, byte [rsp + rax + 0x32]
xor cl, byte [rbp + r10 + 0xdc]
mov byte [rsp + 0x30], r8b
add r9b, byte [rsp + rdx + 0x32]
mov byte [rsp + 0x31], r9b
mov byte [rbp + r10 + 0xac], cl
movzx ecx, byte [rsp + rdx + 0x32]
movzx eax, r9b
movzx eax, byte [rsp + rax + 0x32]
mov byte [rsp + rdx + 0x32], al
movzx eax, byte [rsp + 0x31]
mov byte [rsp + rax + 0x32], cl
movzx r9d, byte [rsp + 0x31]
movzx r8d, byte [rsp + 0x30]
movzx edx, byte [rsp + r9 + 0x32]
movzx ecx, byte [rsp + r8 + 0x32]
inc r8b
add rdx, rcx
movzx eax, dl
movzx edx, r8b
movzx ecx, byte [rsp + rax + 0x32]
xor cl, byte [rbp + r10 + 0xdd]
mov byte [rsp + 0x30], r8b
add r9b, byte [rsp + rdx + 0x32]
mov byte [rsp + 0x31], r9b
mov byte [rbp + r10 + 0xad], cl
movzx ecx, byte [rsp + rdx + 0x32]
movzx eax, r9b
movzx eax, byte [rsp + rax + 0x32]
mov byte [rsp + rdx + 0x32], al
movzx eax, byte [rsp + 0x31]
mov byte [rsp + rax + 0x32], cl
movzx r9d, byte [rsp + 0x31]
movzx r8d, byte [rsp + 0x30]
movzx edx, byte [rsp + r9 + 0x32]
movzx ecx, byte [rsp + r8 + 0x32]
inc r8b
add rdx, rcx
movzx eax, dl
movzx edx, r8b
movzx ecx, byte [rsp + rax + 0x32]
xor cl, byte [rbp + r10 + 0xde]
mov byte [rsp + 0x30], r8b
add r9b, byte [rsp + rdx + 0x32]
mov byte [rsp + 0x31], r9b
mov byte [rbp + r10 + 0xae], cl
movzx ecx, byte [rsp + rdx + 0x32]
movzx eax, r9b
movzx eax, byte [rsp + rax + 0x32]
mov byte [rsp + rdx + 0x32], al
movzx eax, byte [rsp + 0x31]
mov byte [rsp + rax + 0x32], cl
movzx r8d, byte [rsp + 0x31]
movzx r9d, byte [rsp + 0x30]
movzx edx, byte [rsp + r8 + 0x32]
movzx ecx, byte [rsp + r9 + 0x32]
add rdx, rcx
movzx eax, dl
movzx ecx, byte [rsp + rax + 0x32]
xor cl, byte [rbp + r10 + 0xdf]
mov byte [rbp + r10 + 0xaf], cl
sub rsi, 1
jne 0x14000e354
inc ebx
cmp ebx, 0x13
jbe 0x14000e1b1
lea rcx, [rdi + 0x48]
mov r8d, 0x20
lea rdx, [rbp + 0xb0]
call fcn.140004510
mov rcx, qword [rbp + 0x200]
xor rcx, rsp
call fcn.140010bf0
lea r11, [rsp + 0x310]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret