Function at 0x140047ec0
Capabilities:
Hash data with md5

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rcx
mov qword [r11 + 0x10], rdx
mov qword [r11 + 0x18], r8
mov qword [r11 + 0x20], r9
push rbx
push rbp
push rsi
push rdi
sub rsp, 0xa8
mov rax, qword [0x140126108]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rbx, qword [r11 + 0x10]
xor edi, edi
lea rbp, [r11 + 0x10]
test rbx, rbx
mov rsi, rcx
mov dword [rsp + 0x20], 0x67452301
mov dword [rsp + 0x24], 0xefcdab89
mov dword [rsp + 0x28], 0x98badcfe
mov dword [rsp + 0x2c], 0x10325476
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x34], edi
je 0x140047f9d
nop
nop
cmp dword [rbx + 8], 0
jge 0x140047f53
lea rdx, str.._auth.c
lea rcx, str.v__len___0
mov r8d, 0x2e
call fcn.1400a32e0
cmp dword [rbx + 8], 0
je 0x140047f81
test edi, edi
jle 0x140047f70
lea rdx, [0x1400f6b70]
lea rcx, [rsp + 0x20]
mov r8d, 1
call fcn.14004e490
mov r8d, dword [rbx + 8]
mov rdx, qword [rbx]
lea rcx, [rsp + 0x20]
call fcn.14004e490
mov rbx, qword [rbp + 8]
add rbp, 8
add edi, 1
test rbx, rbx
jne 0x140047f30
mov rsi, qword [rsp + 0xd0]
mov edi, dword [rsp + 0x30]
shr edi, 3
mov eax, 0x3f
xor edx, edx
and edi, 0x3f
mov ebx, reloc.WS2_32.dll_recv
lea rcx, [rsp + rdi + 0x38]
sub eax, edi
mov byte [rcx], 0x80
add rcx, 1
cmp eax, 8
jae 0x140048042
mov r8d, eax
call fcn.1400a0a70
mov r11d, ebx
lea rdx, [rsp + 0x3a]
nop
nop
nop
movzx eax, byte [rdx]
movzx ecx, byte [rdx + 1]
add rdx, 4
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx - 5]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx - 6]
shl ecx, 8
or ecx, eax
add r11d, 0xffffffff
mov dword [rdx - 6], ecx
jne 0x140047fe0
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x20]
call fcn.14004dd20
xor r11d, r11d
mov qword [rsp + 0x38], r11
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x50], r11
mov qword [rsp + 0x58], r11
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x68], r11
jmp 0x14004804d
add eax, 0xfffffff8
mov r8d, eax
call fcn.1400a0a70
mov r8d, reloc.WS2_32.dll_ntohl
lea rdx, [rsp + 0x3a]
nop
nop
movzx eax, byte [rdx]
movzx ecx, byte [rdx + 1]
add rdx, 4
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx - 5]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx - 6]
shl ecx, 8
or ecx, eax
add r8d, 0xffffffff
mov dword [rdx - 6], ecx
jne 0x140048060
mov eax, dword [rsp + 0x30]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x74], eax
call fcn.14004dd20
mov r11d, 4
lea rdx, [rsp + 0x22]
nop
nop
nop
movzx eax, byte [rdx]
movzx ecx, byte [rdx + 1]
add rdx, 4
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx - 5]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx - 6]
shl ecx, 8
or ecx, eax
add r11d, 0xffffffff
mov dword [rdx - 6], ecx
jne 0x1400480c0
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x20]
lea r8, str.0123456789abcdef
mov rax, qword [rcx]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
lea rdx, [rsp + 0x80]
nop
nop
nop
movzx ecx, byte [rdx]
add rsi, 2
add rdx, 1
mov rax, rcx
shr rax, 4
movzx eax, byte [rax + r8]
mov byte [rsi - 2], al
mov al, cl
and eax, 0xf
sub rbx, 1
movzx eax, byte [rax + r8]
mov byte [rsi - 1], al
jne 0x140048120
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.14009cca0
add rsp, 0xa8
pop rdi
pop rsi
pop rbp
pop rbx
ret