Function at 0x180030ca0
Capabilities:
Hash data with md5

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
lea rbp, [rax - 0x5f]
sub rsp, 0xc0
mov qword [rax + 0x10], r14
xorps xmm1, xmm1
mov qword [rax + 0x18], r15
xor esi, esi
mov r15, qword [rdx + 0x10]
xor eax, eax
mov qword [rbp - 0x49], rax
xorps xmm0, xmm0
mov r14, rdx
mov r12, rcx
movups xmmword [rbp - 0x41], xmm0
movups xmmword [rbp - 0x69], xmm1
movups xmmword [rbp - 0x59], xmm1
test r15, r15
je 0x180031189
cmp qword [rdx + 0x18], 0x10
jb 0x180030cf7
mov r14, qword [rdx]
lea ecx, [r15*8]
mov dword [rbp - 0x29], 0x67452301
lea eax, [r15*8]
mov dword [rbp - 0x25], 0xefcdab89
cmp ecx, eax
mov dword [rbp - 0x21], 0x98badcfe
mov r8d, esi
mov dword [rbp - 0x1d], 0x10325476
mov edx, 1
mov dword [rbp - 0x19], ecx
cmovb r8d, edx
mov eax, r15d
shr eax, 0x1d
mov ebx, 0x40
add r8d, eax
mov dword [rbp - 0x15], r8d
cmp r15d, ebx
jb 0x180030dae
movups xmm0, xmmword [r14]
lea rdx, [rbp - 0x11]
movups xmm1, xmmword [r14 + 0x10]
lea rcx, [rbp - 0x29]
movups xmmword [rbp - 0x11], xmm0
movups xmm0, xmmword [r14 + 0x20]
movups xmmword [rbp - 1], xmm1
movups xmm1, xmmword [r14 + 0x30]
movups xmmword [rbp + 0xf], xmm0
movups xmmword [rbp + 0x1f], xmm1
call fcn.180019d14
mov edi, ebx
cmp r15d, 0x7f
jbe 0x180030da8
nop dword [rax]
nop word [rax + rax]
mov edx, edi
lea rcx, [rbp - 0x29]
add rdx, r14
call fcn.180019d14
add edi, ebx
lea eax, [rdi + 0x3f]
cmp eax, r15d
jb 0x180030d90
mov r8d, dword [rbp - 0x15]
jmp 0x180030db0
mov edi, esi
sub r15d, edi
je 0x180030dca
mov edx, edi
lea rcx, [rbp - 0x11]
add rdx, r14
mov r8d, r15d
call fcn.18009fc20
mov r8d, dword [rbp - 0x15]
mov r9d, esi
lea rdx, [rbp + 0x69]
mov r10d, 2
nop word [rax + rax]
mov eax, r9d
lea rdx, [rdx + 4]
inc r9d
lea rcx, [rax*4]
movzx eax, byte [rbp + rcx - 0x19]
mov byte [rdx - 6], al
movzx eax, byte [rbp + rcx - 0x18]
mov byte [rdx - 5], al
movzx eax, byte [rbp + rcx - 0x17]
mov byte [rdx - 4], al
movzx eax, byte [rbp + rcx - 0x16]
mov byte [rdx - 3], al
sub r10, 1
jne 0x180030de0
mov ecx, dword [rbp - 0x19]
mov eax, 0x78
mov edx, ecx
mov r14d, 0x38
shr edx, 3
and edx, 0x3f
sub eax, edx
sub r14d, edx
cmp edx, 0x38
cmovae r14d, eax
lea r9d, [rcx + r14*8]
lea eax, [r14*8]
mov dword [rbp - 0x19], r9d
cmp r9d, eax
jae 0x180030e52
inc r8d
mov eax, r14d
lea r15, [0x180105160]
shr eax, 0x1d
mov edi, ebx
add r8d, eax
sub edi, edx
mov dword [rbp - 0x15], r8d
cmp r14d, edi
jb 0x180030ec4
test edi, edi
je 0x180030e87
mov eax, edx
lea rcx, [rbp - 0x11]
add rcx, rax
mov r8d, edi
mov rdx, r15
call fcn.18009fc20
lea rdx, [rbp - 0x11]
lea rcx, [rbp - 0x29]
call fcn.180019d14
lea eax, [rdi + 0x3f]
cmp eax, r14d
jae 0x180030eb8
nop dword [rax]
mov edx, edi
lea rcx, [rbp - 0x29]
add rdx, r15
call fcn.180019d14
add edi, ebx
lea eax, [rdi + 0x3f]
cmp eax, r14d
jb 0x180030ea0
mov r8d, dword [rbp - 0x15]
mov edx, esi
mov r9d, dword [rbp - 0x19]
jmp 0x180030ec6
mov edi, esi
sub r14d, edi
je 0x180030ee9
mov eax, edx
lea rcx, [rbp - 0x11]
mov edx, edi
add rcx, rax
add rdx, r15
mov r8d, r14d
call fcn.18009fc20
mov r8d, dword [rbp - 0x15]
mov r9d, dword [rbp - 0x19]
mov eax, r9d
add r9d, ebx
shr eax, 3
and eax, 0x3f
mov dword [rbp - 0x19], r9d
cmp r9d, ebx
jae 0x180030f05
inc r8d
mov dword [rbp - 0x15], r8d
sub ebx, eax
cmp ebx, 8
ja 0x180030f6c
test ebx, ebx
je 0x180030f23
lea rcx, [rbp - 0x11]
mov r8d, ebx
add rcx, rax
lea rdx, [rbp + 0x67]
call fcn.18009fc20
lea rdx, [rbp - 0x11]
lea rcx, [rbp - 0x29]
call fcn.180019d14
lea eax, [rbx + 0x3f]
cmp eax, 8
jae 0x180030f5d
nop dword [rax + rax]
mov eax, ebx
lea rdx, [rbp + 0x67]
add rdx, rax
lea rcx, [rbp - 0x29]
call fcn.180019d14
add ebx, 0x40
lea eax, [rbx + 0x3f]
cmp eax, 8
jb 0x180030f40
mov r8d, 8
mov eax, esi
sub r8d, ebx
je 0x180030f89
jmp 0x180030f74
mov ebx, esi
mov r8d, 8
lea rcx, [rbp - 0x11]
add rcx, rax
lea rdx, [rbp + 0x67]
mov eax, ebx
add rdx, rax
call fcn.18009fc20
mov r8d, esi
lea rdx, [rbp - 0x3f]
mov r9d, 4
mov eax, r8d
lea rdx, [rdx + 4]
inc r8d
lea rcx, [rax*4]
movzx eax, byte [rbp + rcx - 0x29]
mov byte [rdx - 6], al
movzx eax, byte [rbp + rcx - 0x28]
mov byte [rdx - 5], al
movzx eax, byte [rbp + rcx - 0x27]
mov byte [rdx - 4], al
movzx eax, byte [rbp + rcx - 0x26]
mov byte [rdx - 3], al
sub r9, 1
jne 0x180030f96
movzx ecx, byte [rbp - 0x41]
lea rdx, str.0123456789ABCDEF
mov eax, ecx
and ecx, 0xf
shr rax, 4
movzx eax, byte [rax + rdx]
mov byte [rbp - 0x69], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp - 0x40]
mov byte [rbp - 0x68], al
mov eax, ecx
shr rax, 4
and ecx, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp - 0x67], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp - 0x3f]
mov byte [rbp - 0x66], al
mov eax, ecx
shr rax, 4
and ecx, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp - 0x65], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp - 0x3e]
mov byte [rbp - 0x64], al
mov eax, ecx
shr rax, 4
and ecx, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp - 0x63], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp - 0x3d]
mov byte [rbp - 0x62], al
mov eax, ecx
shr rax, 4
and ecx, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp - 0x61], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp - 0x3c]
mov byte [rbp - 0x60], al
mov eax, ecx
shr rax, 4
and ecx, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp - 0x5f], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp - 0x3b]
mov byte [rbp - 0x5e], al
mov eax, ecx
shr rax, 4
and ecx, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp - 0x5d], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp - 0x3a]
mov byte [rbp - 0x5c], al
mov eax, ecx
shr rax, 4
and ecx, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp - 0x5b], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp - 0x39]
mov byte [rbp - 0x5a], al
mov eax, ecx
shr rax, 4
and ecx, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp - 0x59], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp - 0x38]
mov byte [rbp - 0x58], al
mov eax, ecx
shr rax, 4
and ecx, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp - 0x57], al
movzx eax, byte [rcx + rdx]
mov byte [rbp - 0x56], al
movzx ecx, byte [rbp - 0x37]
mov eax, ecx
mov byte [rbp - 0x49], sil
shr rax, 4
and ecx, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp - 0x55], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp - 0x36]
mov byte [rbp - 0x54], al
mov eax, ecx
shr rax, 4
and ecx, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp - 0x53], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp - 0x35]
mov byte [rbp - 0x52], al
mov eax, ecx
shr rax, 4
and ecx, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp - 0x51], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp - 0x34]
mov byte [rbp - 0x50], al
mov eax, ecx
shr rax, 4
and ecx, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp - 0x4f], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp - 0x33]
mov byte [rbp - 0x4e], al
mov eax, ecx
shr rax, 4
and ecx, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp - 0x4d], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp - 0x32]
mov byte [rbp - 0x4c], al
mov eax, ecx
shr rax, 4
and ecx, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp - 0x4b], al
movzx eax, byte [rcx + rdx]
mov byte [rbp - 0x4a], al
mov r15, qword [rsp + 0x100]
mov r14, qword [rsp + 0xf8]
mov qword [r12], rsi
lea rax, [rbp - 0x69]
mov qword [r12 + 0x10], rsi
mov rbx, 0xffffffffffffffff
mov qword [r12 + 0x18], reloc.WS2_32.dll_ntohs
mov byte [r12], sil
nop word [rax + rax]
inc rbx
cmp byte [rax + rbx], sil
jne 0x1800311c0
cmp rbx, 0xf
ja 0x1800311ec
mov r8, rbx
mov qword [r12 + 0x10], rbx
lea rdx, [rbp - 0x69]
mov rcx, r12
call fcn.18009fc20
mov byte [rbx + r12], sil
jmp 0x180031285
movabs rdi, 0x7fffffffffffffff
cmp rbx, rdi
ja 0x1800312a2
mov rax, rbx
or rax, 0xf
cmp rax, rdi
jbe 0x180031230
movabs rax, 0x8000000000000027
mov rcx, rax
call fcn.18009d1b8
test rax, rax
je 0x180031296
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x180031264
mov ecx, socket
mov rdi, rax
cmp rax, rcx
cmovb rdi, rcx
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x180031257
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18003129c
jmp 0x180031215
test rcx, rcx
je 0x180031264
call fcn.18009d1b8
mov rsi, rax
mov r8, rbx
mov qword [r12 + 0x10], rbx
lea rdx, [rbp - 0x69]
mov qword [r12 + 0x18], rdi
mov rcx, rsi
call fcn.18009fc20
mov byte [rsi + rbx], 0
mov qword [r12], rsi
mov rax, r12
add rsp, 0xc0
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1800a45b8
int3
call fcn.180001df0
int3
call fcn.180001e88
int3