Function at 0x180070710
Capabilities:
Hash data with md5

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0xf0]
sub rsp, 0x1f0
mov rax, qword [0x1801eab50]
xor rax, rsp
mov qword [rbp + 0xe0], rax
xor r12d, r12d
mov ebx, 0x20
cmp r8d, ebx
mov r15, r9
mov eax, r12d
cmovle ebx, r8d
movsxd r8, ebx
test ebx, ebx
jle 0x180070769
lea rcx, [rbp - 0x50]
call fcn.1801625a0
mov eax, ebx
movsxd rcx, eax
lea r8, [0x1801eab18]
cmp rcx, 0x20
jge 0x18007079b
mov rdx, r12
nop dword [rax]
cmp rdx, 0x20
jge 0x18007079b
movzx eax, byte [rdx + r8]
inc rdx
mov byte [rbp + rcx - 0x50], al
inc rcx
cmp rcx, 0x20
jl 0x180070780
mov rcx, r12
nop
movzx eax, byte [rcx + r8]
mov byte [rbp + rcx - 0x70], al
inc rcx
cmp rcx, 0x20
jl 0x1800707a0
mov r8d, 0x20
mov dword [rsp + 0x20], 0x67452301
lea rdx, [rbp - 0x70]
mov dword [rsp + 0x24], 0xefcdab89
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x28], 0x98badcfe
mov qword [rsp + 0x2c], 0x10325476
mov dword [rsp + 0x34], r12d
call fcn.180071630
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x80]
call fcn.180070c90
mov r14d, 0x32
mov ebx, r14d
nop dword [rax]
nop word [rax + rax]
mov r8d, reloc.WS2_32.dll_recv
mov dword [rsp + 0x20], 0x67452301
lea rdx, [rbp - 0x80]
mov dword [rsp + 0x24], 0xefcdab89
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x28], 0x98badcfe
mov qword [rsp + 0x2c], 0x10325476
mov dword [rsp + 0x34], r12d
call fcn.180071630
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x80]
call fcn.180070c90
sub rbx, 1
jne 0x180070810
movups xmm1, xmmword [rbp - 0x40]
mov esi, r12d
movups xmm0, xmmword [rbp - 0x50]
movups xmmword [rbp - 0x60], xmm1
movdqu xmm1, xmmword [rbp - 0x80]
movups xmmword [rbp - 0x70], xmm0
nop word [rax + rax]
movsx eax, sil
lea rdx, [rbp - 0x20]
mov r10d, r12d
mov ecx, r12d
movd xmm0, eax
mov eax, r12d
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
pshufd xmm0, xmm0, 0
pxor xmm0, xmm1
movdqu xmmword [rbp - 0x30], xmm0
nop dword [rax + rax]
mov byte [rdx], cl
lea rdx, [rdx + 1]
inc ecx
cmp ecx, 0x100
jl 0x1800708b0
mov r9d, r12d
lea rbx, [rbp - 0x20]
mov r11d, r12d
nop word [rax + rax]
movzx edi, byte [rbx]
mov ecx, r11d
and ecx, 0xf
movzx edx, byte [rbp + rcx - 0x30]
add r9d, edx
add r9d, edi
and r9d, 0x800000ff
jge 0x1800708fa
dec r9d
or r9d, 0xffffff00
inc r9d
movsxd rcx, r9d
lea rdx, [rbp - 0x20]
add rdx, rcx
inc r11d
movzx ecx, byte [rdx]
mov byte [rbx], cl
inc rbx
mov byte [rdx], dil
cmp r11d, 0x100
jl 0x1800708d0
lea r11, [rbp - 0x70]
mov ebx, 0x20
inc eax
and eax, 0x800000ff
jge 0x180070936
dec eax
or eax, 0xffffff00
inc eax
movsxd rcx, eax
lea r8, [rbp - 0x20]
add r8, rcx
movzx r9d, byte [r8]
add r10d, r9d
and r10d, 0x800000ff
jge 0x18007095d
dec r10d
or r10d, 0xffffff00
inc r10d
movsxd rcx, r10d
lea rdx, [rbp - 0x20]
add rdx, rcx
movzx ecx, byte [rdx]
mov byte [r8], cl
mov byte [rdx], r9b
movzx edx, byte [r8]
add rdx, r9
movzx ecx, dl
movzx edx, byte [rbp + rcx - 0x20]
xor byte [r11], dl
inc r11
sub rbx, 1
jne 0x180070924
inc esi
cmp esi, 0x14
jl 0x180070880
lea r8d, [rbx + 0x20]
mov dword [rsp + 0x20], 0x67452301
lea rdx, [rbp - 0x50]
mov dword [rsp + 0x24], 0xefcdab89
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x28], 0x98badcfe
mov qword [rsp + 0x2c], 0x10325476
mov dword [rsp + 0x34], r12d
call fcn.180071630
lea r8d, [rbx + 0x20]
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x20]
call fcn.180071630
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x80]
call fcn.180070c90
nop
mov r8d, reloc.WS2_32.dll_recv
mov dword [rsp + 0x20], 0x67452301
lea rdx, [rbp - 0x80]
mov dword [rsp + 0x24], 0xefcdab89
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x28], 0x98badcfe
mov qword [rsp + 0x2c], 0x10325476
mov dword [rsp + 0x34], r12d
call fcn.180071630
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x80]
call fcn.180070c90
sub r14, 1
jne 0x1800709f0
movups xmm0, xmmword [rbp - 0x80]
movups xmmword [r15], xmm0
mov rcx, qword [rbp + 0xe0]
xor rcx, rsp
call fcn.18015fd80
lea r11, [rsp + 0x1f0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret