Function at 0x1400883c0
Capabilities:
Encode data using xor
Hash data with md5

Disassembly:
push rbx
push rsi
push r12
push r14
push r15
sub rsp, 0x70
mov rax, qword [0x140106438]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov r10, qword [rsp + 0xc0]
xor r14d, r14d
mov r11, qword [rsp + 0xc8]
mov r15d, 0x67452301
mov qword [rsp + 0x30], r10
mov r12d, 0xefcdab89
mov qword [rsp + 0x38], r11
mov rsi, rdx
movsxd rdx, ecx
mov ebx, r8d
mov dword [rsp + 0x20], r15d
mov dword [rsp + 0x24], r12d
mov dword [rsp + 0x28], 0x98badcfe
mov dword [rsp + 0x2c], 0x10325476
test r9, r9
je 0x14008845c
mov ecx, r14d
mov eax, r14d
cmp dword [r9 + rax*4], r14d
jne 0x140088444
inc ecx
inc rax
cmp rax, 4
jl 0x140088433
cmp ecx, 4
jge 0x14008845c
movups xmm0, xmmword [r9]
movups xmmword [rsp + 0x20], xmm0
mov r12d, dword [rsp + 0x24]
mov r15d, dword [rsp + 0x20]
mov qword [rsp + 0xa0], rbp
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xb0], r13
cmp edx, 5
ja case.default.0x14008849a
mov rax, rdx
mov r8, r14
lea rdx, [0x140000000]
mov rbp, r14
mov r13, r14
mov ecx, dword [rdx + rax*4 + 0x88728]
add rcx, rdx
jmp rcx
mov r8d, 1
mov edx, 0x12a3fe2d
mov r9d, 0x37abe8f9
mov rdi, rsi
test ebx, ebx
je 0x1400884e4
dec ebx
test r8, r8
je 0x1400884c3
movzx eax, byte [rsi]
inc rsi
jmp 0x1400884c9
movsx eax, byte [rdi]
inc rdi
imul ecx, eax, 0x6d22f5
xor ecx, edx
add ecx, r9d
mov r9d, edx
lea edx, [rcx - 0x7fffffff]
cmovns edx, ecx
test ebx, ebx
jne 0x1400884b4
lea r15d, [rdx + rdx]
jmp 0x1400886d9
mov ebp, 1
test ebx, ebx
jle 0x1400885ac
mov r15d, 0x20
mov r10d, ebx
lea rdi, [rsp + 0x40]
shl r10d, 8
mov r11d, ebx
or r10d, ebx
mov r9d, 8
mov eax, r10d
mov rdx, rsi
shl eax, 0x10
mov r8d, r14d
or r10d, eax
cmp ebx, r15d
mov eax, r10d
cmova r11d, r15d
test rbp, rbp
je 0x14008853b
movzx ecx, byte [rdx]
jmp 0x14008853e
movsx ecx, byte [rdx]
shl eax, 8
add eax, ecx
mov ecx, r8d
and ecx, 3
cmp cl, 3
jne 0x14008855a
mov dword [rdi], eax
add rdi, 4
dec r9d
mov eax, r10d
inc r8d
inc rdx
cmp r8d, r11d
jl 0x140088531
test r9d, r9d
jle 0x140088570
mov dword [rdi], eax
add rdi, 4
lea eax, [r9 - 2]
test eax, eax
js 0x140088580
lea ecx, [rax + 1]
mov eax, r10d
rep stosd dword [rdi], eax
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x20]
call fcn.140088820
sub ebx, r15d
add rsi, r15
test ebx, ebx
jg 0x140088500
mov r12d, dword [rsp + 0x24]
mov r10, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
mov r14d, dword [rsp + 0x28]
mov r15d, r12d
jmp 0x1400886d9
mov r13d, 1
test ebx, ebx
jle 0x1400886d6
mov ebp, 0x10
nop dword [rax]
mov r10d, ebx
lea rdi, [rsp + 0x40]
shl r10d, 8
mov r11d, ebx
or r10d, ebx
mov r9d, 4
mov eax, r10d
mov rdx, rsi
shl eax, 0x10
mov r8d, r14d
or r10d, eax
cmp ebx, 0x10
mov ecx, r10d
cmova r11d, ebp
test r13, r13
je 0x14008860b
movzx eax, byte [rdx]
jmp 0x14008860e
movsx eax, byte [rdx]
shl ecx, 8
add ecx, eax
mov eax, r8d
and eax, 3
cmp al, 3
jne 0x140088629
mov dword [rdi], ecx
add rdi, 4
dec r9d
mov ecx, r10d
inc r8d
inc rdx
cmp r8d, r11d
jl 0x140088601
test r9d, r9d
jle 0x14008863f
mov dword [rdi], ecx
add rdi, 4
lea eax, [r9 - 2]
test eax, eax
js 0x14008864f
lea ecx, [rax + 1]
mov eax, r10d
rep stosd dword [rdi], eax
mov r10d, dword [rsp + 0x4c]
mov r8d, r14d
mov r14d, dword [rsp + 0x40]
mov r9d, ebp
mov ebp, dword [rsp + 0x44]
mov edx, r15d
mov r11d, dword [rsp + 0x48]
mov edi, r12d
nop
mov ecx, edi
lea r8d, [r8 - 0x61c88647]
shr ecx, 5
mov eax, edi
add ecx, ebp
shl eax, 4
add eax, r14d
xor ecx, eax
lea eax, [rdi + r8]
xor ecx, eax
add edx, ecx
mov ecx, edx
mov eax, edx
shr ecx, 5
shl eax, 4
add ecx, r10d
add eax, r11d
xor ecx, eax
lea eax, [rdx + r8]
xor ecx, eax
add edi, ecx
sub r9d, 1
jne 0x140088670
add r15d, edx
lea ebp, [r9 + 0x10]
add r12d, edi
sub ebx, 0x10
add rsi, 0x10
mov r14d, r9d
test ebx, ebx
jg 0x1400885d0
mov r10, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
mov r14d, r12d
and r15d, 0xfffffffe
mov dword [r10], r15d
test r11, r11
je 0x1400886e8
mov dword [r11], r14d
xor eax, eax
jmp 0x1400886f4
mov dword [r10], r14d
mov eax, 0x7f2bb759
mov r13, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140092060
add rsp, 0x70
pop r15
pop r14
pop r12
pop rsi
pop rbx
ret