Function at 0x14012fc70
Capabilities:
Hash data with md5

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0xe0]
sub rsp, 0x1e0
xor r12d, r12d
mov ebx, reloc.WLDAP32.dll_Ordinal_32
cmp r8d, ebx
mov r15, r9
mov eax, r12d
cmovle ebx, r8d
movsxd r8, ebx
test ebx, ebx
jle 0x14012fcbf
lea rcx, [rbp - 0x50]
call fcn.1401756a0
mov eax, ebx
movsxd rcx, eax
lea r8, [0x1401d70e8]
cmp rcx, 0x20
jge 0x14012fced
mov rdx, r12
cmp rdx, 0x20
jge 0x14012fced
movzx eax, byte [rdx + r8]
inc rdx
mov byte [rbp + rcx - 0x50], al
inc rcx
cmp rcx, 0x20
jl 0x14012fcd2
mov rcx, r12
cmp rcx, 0x20
jge 0x14012fd08
movzx eax, byte [rcx + r8]
mov byte [rbp + rcx - 0x70], al
inc rcx
cmp rcx, 0x20
jl 0x14012fcf6
mov r8d, reloc.WLDAP32.dll_Ordinal_32
mov dword [rsp + 0x30], 0x67452301
lea rdx, [rbp - 0x70]
mov dword [rsp + 0x34], 0xefcdab89
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x38], 0x98badcfe
mov qword [rsp + 0x3c], 0x10325476
mov dword [rsp + 0x44], r12d
call fcn.14012eec0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x20]
call fcn.14012ed10
mov r14d, reloc.WLDAP32.dll_Ordinal_50
mov ebx, r14d
nop word [rax + rax]
mov r8d, reloc.WSOCK32.dll_recv
mov dword [rsp + 0x30], 0x67452301
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x34], 0xefcdab89
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x38], 0x98badcfe
mov qword [rsp + 0x3c], 0x10325476
mov dword [rsp + 0x44], r12d
call fcn.14012eec0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x20]
call fcn.14012ed10
sub rbx, 1
jne 0x14012fd60
movups xmm1, xmmword [rbp - 0x40]
mov esi, r12d
movups xmm0, xmmword [rbp - 0x50]
movups xmmword [rbp - 0x60], xmm1
movdqu xmm1, xmmword [rsp + 0x20]
movups xmmword [rbp - 0x70], xmm0
nop dword [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 0x14012fe00
mov r9d, r12d
lea rbx, [rbp - 0x20]
mov r11d, r12d
nop word [rax + rax]
movzx edi, byte [rbx]
mov ecx, r11d
and ecx, 0x8000000f
jge 0x14012fe35
dec ecx
or ecx, 0xfffffff0
inc ecx
movsxd rcx, ecx
movzx edx, byte [rbp + rcx - 0x30]
add r9d, edx
add r9d, edi
and r9d, 0x800000ff
jge 0x14012fe59
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 0x14012fe20
lea r11, [rbp - 0x70]
mov ebx, reloc.WLDAP32.dll_Ordinal_32
inc eax
and eax, 0x800000ff
jge 0x14012fe95
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 0x14012febc
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 0x14012fe83
inc esi
cmp esi, 0x14
jl 0x14012fdd0
lea r8d, [rbx + 0x20]
mov dword [rsp + 0x30], 0x67452301
lea rdx, [rbp - 0x50]
mov dword [rsp + 0x34], 0xefcdab89
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x38], 0x98badcfe
mov qword [rsp + 0x3c], 0x10325476
mov dword [rsp + 0x44], r12d
call fcn.14012eec0
lea r8d, [rbx + 0x20]
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x30]
call fcn.14012eec0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x20]
call fcn.14012ed10
nop
mov r8d, reloc.WSOCK32.dll_recv
mov dword [rsp + 0x30], 0x67452301
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x34], 0xefcdab89
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x38], 0x98badcfe
mov qword [rsp + 0x3c], 0x10325476
mov dword [rsp + 0x44], r12d
call fcn.14012eec0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x20]
call fcn.14012ed10
sub r14, 1
jne 0x14012ff50
movups xmm0, xmmword [rsp + 0x20]
lea r11, [rsp + 0x1e0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
movups xmmword [r15], xmm0
mov rsp, r11
pop r15
pop r14
pop rbp
ret