Function at 0x140198430
Capabilities:
Hash data with md5

Disassembly:
push rbp
push rbx
push rdi
push r12
lea rbp, [rsp - 0x108]
sub rsp, 0x208
mov rax, qword [0x1403b8c08]
xor rax, rsp
mov qword [rbp + 0xf0], rax
xor ebx, ebx
mov r12, r9
cmp dword [rcx + 0x10068], 2
mov eax, ebx
lea edi, [rbx + 0x20]
jne 0x140198500
cmp r8d, edi
cmovle edi, r8d
movsxd r8, edi
test edi, edi
jle 0x140198486
lea rcx, [rbp - 0x70]
call fcn.140289020
mov eax, edi
movsxd rcx, eax
cmp rcx, 0x20
jge 0x1401984b1
lea r8, [0x1403bb4b8]
cmp rbx, 0x20
jge 0x1401984b1
movzx eax, byte [rbx + r8]
inc rbx
mov byte [rbp + rcx - 0x70], al
inc rcx
cmp rcx, 0x20
jl 0x140198496
lea r8, [rbp - 0x50]
mov edx, 0x20
lea rcx, [rbp - 0x70]
call fcn.1401dfa00
mov ebx, 0xfa1
nop dword [rax + rax]
lea r8, [rbp - 0x50]
mov edx, 0x20
lea rcx, [rbp - 0x50]
call fcn.1401dfa00
sub rbx, 1
jne 0x1401984d0
movups xmm0, xmmword [rbp - 0x50]
movups xmm1, xmmword [rbp - 0x40]
movups xmmword [r12], xmm0
movups xmmword [r12 + 0x10], xmm1
jmp 0x14019882e
cmp r8d, edi
mov qword [rsp + 0x230], rsi
mov qword [rsp + 0x238], r14
cmovle edi, r8d
mov qword [rsp + 0x200], r15
movsxd r8, edi
test edi, edi
jle 0x140198531
lea rcx, [rbp - 0x30]
call fcn.140289020
mov eax, edi
movsxd rcx, eax
lea r8, [0x1403bb4b8]
cmp rcx, 0x20
jge 0x14019855f
mov rdx, rbx
cmp rdx, 0x20
jge 0x14019855f
movzx eax, byte [rdx + r8]
inc rdx
mov byte [rbp + rcx - 0x30], al
inc rcx
cmp rcx, 0x20
jl 0x140198544
mov rcx, rbx
cmp rbx, 0x20
jge 0x14019857a
movzx eax, byte [rcx + r8]
mov byte [rbp + rcx - 0x70], al
inc rcx
cmp rcx, 0x20
jl 0x140198568
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], ebx
call fcn.140199420
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x80]
call fcn.140198a60
mov r15d, 0x32
mov edi, r15d
nop word [rax + rax]
mov r8d, setsockopt
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], ebx
call fcn.140199420
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x80]
call fcn.140198a60
sub rdi, 1
jne 0x1401985d0
movups xmm1, xmmword [rbp - 0x20]
mov r14d, ebx
movups xmm0, xmmword [rbp - 0x30]
movups xmmword [rbp - 0x60], xmm1
movdqu xmm1, xmmword [rbp - 0x80]
movups xmmword [rbp - 0x70], xmm0
nop word [rax + rax]
movsx eax, r14b
lea rdx, [rbp - 0x10]
mov r10d, ebx
mov ecx, ebx
movd xmm0, eax
mov eax, ebx
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
pshufd xmm0, xmm0, 0
pxor xmm0, xmm1
movdqu xmmword [rbp - 0x50], xmm0
nop dword [rax]
mov byte [rdx], cl
lea rdx, [rdx + 1]
inc ecx
cmp ecx, 0x100
jl 0x140198670
mov r9d, ebx
lea rdi, [rbp - 0x10]
mov r11d, ebx
nop word [rax + rax]
movzx esi, byte [rdi]
mov ecx, r11d
and ecx, 0x8000000f
jge 0x1401986a5
dec ecx
or ecx, 0xfffffff0
inc ecx
movsxd rcx, ecx
movzx edx, byte [rbp + rcx - 0x50]
add r9d, edx
add r9d, esi
and r9d, 0x800000ff
jge 0x1401986c9
dec r9d
or r9d, 0xffffff00
inc r9d
movsxd rcx, r9d
lea rdx, [rbp - 0x10]
add rdx, rcx
inc r11d
movzx ecx, byte [rdx]
mov byte [rdi], cl
inc rdi
mov byte [rdx], sil
cmp r11d, 0x100
jl 0x140198690
lea r11, [rbp - 0x70]
mov edi, 0x20
inc eax
and eax, 0x800000ff
jge 0x140198705
dec eax
or eax, 0xffffff00
inc eax
movsxd rcx, eax
lea r9, [rbp - 0x10]
add r9, rcx
movzx r8d, byte [r9]
add r10d, r8d
and r10d, 0x800000ff
jge 0x14019872c
dec r10d
or r10d, 0xffffff00
inc r10d
movsxd rcx, r10d
lea rdx, [rbp - 0x10]
add rdx, rcx
movzx ecx, byte [rdx]
mov byte [r9], cl
mov byte [rdx], r8b
movzx ecx, byte [r9]
add r8, rcx
movzx ecx, r8b
movzx edx, byte [rbp + rcx - 0x10]
xor byte [r11], dl
inc r11
sub rdi, 1
jne 0x1401986f3
inc r14d
cmp r14d, 0x14
jl 0x140198640
lea r8d, [rdi + 0x20]
mov dword [rsp + 0x20], 0x67452301
lea rdx, [rbp - 0x30]
mov dword [rsp + 0x24], 0xefcdab89
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x28], 0x98badcfe
mov qword [rsp + 0x2c], 0x10325476
mov dword [rsp + 0x34], ebx
call fcn.140199420
lea r8d, [rdi + 0x20]
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x20]
call fcn.140199420
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x80]
call fcn.140198a60
mov r14, qword [rsp + 0x238]
mov rsi, qword [rsp + 0x230]
nop
mov r8d, setsockopt
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], ebx
call fcn.140199420
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x80]
call fcn.140198a60
sub r15, 1
jne 0x1401987d0
movups xmm0, xmmword [rbp - 0x80]
mov r15, qword [rsp + 0x200]
movups xmmword [r12], xmm0
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.140172190
add rsp, 0x208
pop r12
pop rdi
pop rbx
pop rbp
ret