Function at 0x1400b1030
Capabilities:
Hash data with md5

Disassembly:
push rbx
sub rsp, 0x30
mov r10, r9
mov r11, r8
mov rbx, rdx
test rcx, rcx
je case.0x14009304a.6
mov eax, dword [rcx]
add eax, 0xfffffffd
cmp eax, 0x10
ja case.0x14009304a.6
lea rdx, [0x140000000]
cdqe
mov r9d, dword [rdx + rax*4 + 0x9316c]
add r9, rdx
jmp r9
mov r8, r10
mov rdx, r11
mov rcx, rbx
add rsp, 0x30
pop rbx
jmp 0x1400b1030
mov r8, r10
mov rdx, r11
mov rcx, rbx
add rsp, 0x30
pop rbx
jmp 0x1400b31a0
mov r8, r10
mov rdx, r11
mov rcx, rbx
add rsp, 0x30
pop rbx
jmp 0x1400b4db0
mov r9d, 1
mov r8, r10
mov rdx, r11
mov rcx, rbx
add rsp, 0x30
pop rbx
jmp 0x1400b5e50
xor r9d, r9d
mov r8, r10
mov rdx, r11
mov rcx, rbx
add rsp, 0x30
pop rbx
jmp 0x1400b5e50
mov r9d, 1
mov r8, r10
mov rdx, r11
mov rcx, rbx
add rsp, 0x30
pop rbx
jmp 0x1400b6c10
xor r9d, r9d
mov r8, r10
mov rdx, r11
mov rcx, rbx
add rsp, 0x30
pop rbx
jmp 0x1400b6c10
movzx eax, byte [rcx + 4]
mov r9, r10
mov ecx, 1
mov qword [rsp + 0x20], rax
mov rdx, rbx
call fcn.1400b7760
add rsp, 0x30
pop rbx
ret
movzx eax, byte [rcx + 4]
mov r9, r10
mov ecx, 2
mov qword [rsp + 0x20], rax
mov rdx, rbx
call fcn.1400b7760
add rsp, 0x30
pop rbx
ret
movzx eax, byte [rcx + 4]
mov r9, r10
mov ecx, 3
mov qword [rsp + 0x20], rax
mov rdx, rbx
call fcn.1400b7760
add rsp, 0x30
pop rbx
ret
movzx eax, byte [rcx + 4]
mov r9, r10
mov ecx, 4
mov qword [rsp + 0x20], rax
mov rdx, rbx
call fcn.1400b7760
add rsp, 0x30
pop rbx
ret
mov eax, 0xffffaf00
add rsp, 0x30
pop rbx
ret
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x37]
sub rsp, 0x90
mov rax, qword [0x140160140]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov qword [rbp - 0x39], 0
xorps xmm0, xmm0
mov dword [rbp - 0x31], 0x67452301
mov r14, r8
mov dword [rbp - 0x2d], 0xefcdab89
mov rbx, rdx
mov dword [rbp - 0x29], 0x98badcfe
mov rdi, rcx
mov dword [rbp - 0x25], 0x10325476
movups xmmword [rbp - 0x21], xmm0
movups xmmword [rbp - 0x11], xmm0
movups xmmword [rbp - 1], xmm0
movups xmmword [rbp + 0xf], xmm0
test rdx, rdx
je 0x1400b10d8
mov dword [rbp - 0x39], edx
cmp rdx, 0x40
jb 0x1400b10c4
nop
mov rdx, rdi
lea rcx, [rbp - 0x39]
call fcn.1400b0770
mov esi, eax
test eax, eax
jne 0x1400b119a
add rdi, 0x40
sub rbx, 0x40
cmp rbx, 0x40
jae 0x1400b10a0
test rbx, rbx
je 0x1400b10d8
mov r8, rbx
lea rcx, [rbp - 0x21]
mov rdx, rdi
call fcn.1400f9370
mov edx, dword [rbp - 0x39]
lea rcx, [rbp - 0x21]
and edx, 0x3f
mov byte [rbp + rdx - 0x21], 0x80
inc edx
mov eax, edx
add rcx, rax
cmp edx, 0x38
ja 0x1400b1105
mov r8d, 0x38
sub r8d, edx
xor edx, edx
call fcn.1400f8fb0
jmp 0x1400b113d
mov r8d, 0x40
sub r8d, edx
xor edx, edx
call fcn.1400f8fb0
lea rdx, [rbp - 0x21]
lea rcx, [rbp - 0x39]
call fcn.1400b0770
mov esi, eax
test eax, eax
jne 0x1400b118c
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x21], xmm0
mov qword [rbp + 0xf], rax
movups xmmword [rbp - 0x11], xmm0
movups xmmword [rbp - 1], xmm0
mov ecx, dword [rbp - 0x39]
mov eax, dword [rbp - 0x35]
lea edx, [rax*8]
mov eax, ecx
shr eax, 0x1d
or edx, eax
lea eax, [rcx*8]
mov dword [rbp + 0x1b], edx
lea rcx, [rbp - 0x39]
lea rdx, [rbp - 0x21]
mov dword [rbp + 0x17], eax
call fcn.1400b0770
mov esi, eax
test eax, eax
jne 0x1400b118c
mov eax, dword [rbp - 0x31]
mov dword [r14], eax
mov eax, dword [rbp - 0x2d]
mov dword [r14 + 4], eax
mov eax, dword [rbp - 0x29]
mov dword [r14 + 8], eax
mov eax, dword [rbp - 0x25]
mov dword [r14 + 0xc], eax
mov edx, 0x58
lea rcx, [rbp - 0x39]
call fcn.140092fb0
mov edx, 0x58
lea rcx, [rbp - 0x39]
call fcn.140092fb0
mov eax, esi
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1400c86e0
add rsp, 0x90
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
push rbp
push rdi
push r12
lea rbp, [rsp - 0x47]
sub rsp, 0xb0
mov rax, qword [0x140160140]
xor rax, rsp
mov qword [rbp + 0x1f], rax
xorps xmm0, xmm0
mov qword [rbp - 0x49], 0
mov r12, r8
mov dword [rbp - 0x41], 0x67452301
mov r8, rdx
mov dword [rbp - 0x3d], 0xefcdab89
mov rdx, rcx
mov dword [rbp - 0x39], 0x98badcfe
lea rcx, [rbp - 0x49]
mov dword [rbp - 0x35], 0x10325476
movups xmmword [rbp - 0x2d], xmm0
mov dword [rbp - 0x31], 0xc3d2e1f0
movups xmmword [rbp - 0x1d], xmm0
movups xmmword [rbp - 0xd], xmm0
movups xmmword [rbp + 3], xmm0
call fcn.1400b35f0
mov edi, eax
test eax, eax
jne 0x1400b343a
mov edx, dword [rbp - 0x49]
mov eax, dword [rbp - 0x45]
mov qword [rsp + 0xe8], rbx
mov qword [rsp + 0xa8], rsi
lea rsi, [0x140110dd0]
mov qword [rsp + 0xa0], r13
mov r13d, 0x40
lea ecx, [rax*8]
mov qword [rsp + 0x98], r14
mov eax, edx
mov qword [rsp + 0x90], r15
shr eax, 0x1d
mov r14d, edx
or ecx, eax
and r14d, 0x3f
lea eax, [rdx*8]
mov dword [rbp + 0x1b], ecx
mov dword [rbp + 0x17], eax
mov ecx, 0x78
sub ecx, r14d
mov eax, 0x38
sub eax, r14d
cmp r14d, 0x38
cmovae eax, ecx
mov ebx, eax
test eax, eax
je 0x1400b3333
add eax, edx
mov r15d, r13d
sub r15d, r14d
mov dword [rbp - 0x49], eax
mov edx, eax
cmp eax, ebx
jae 0x1400b32ab
inc dword [rbp - 0x45]
test r14d, r14d
je 0x1400b32ed
cmp rbx, r15
jb 0x1400b32ed
mov eax, r14d
lea rcx, [rbp - 0x2d]
add rcx, rax
mov r8, r15
mov rdx, rsi
call fcn.1400f9370
lea rdx, [rbp - 0x2d]
lea rcx, [rbp - 0x49]
call fcn.1400b1450
mov edi, eax
test eax, eax
jne 0x1400b3404
mov edx, dword [rbp - 0x49]
add rsi, r15
sub rbx, r15
xor r14d, r14d
cmp rbx, r13
jb 0x1400b3316
mov rdx, rsi
lea rcx, [rbp - 0x49]
call fcn.1400b1450
mov edi, eax
test eax, eax
jne 0x1400b3404
add rsi, r13
sub rbx, r13
cmp rbx, r13
jae 0x1400b32f2
mov edx, dword [rbp - 0x49]
test rbx, rbx
je 0x1400b3333
mov eax, r14d
lea rcx, [rbp - 0x2d]
add rcx, rax
mov r8, rbx
mov rdx, rsi
call fcn.1400f9370
mov edx, dword [rbp - 0x49]
lea eax, [rdx + 8]
mov ecx, edx
and ecx, 0x3f
mov dword [rbp - 0x49], eax
sub r13d, ecx
lea rsi, [rbp + 0x17]
mov ebx, 8
mov r14d, r13d
cmp eax, ebx
jae 0x1400b3354
inc dword [rbp - 0x45]
test ecx, ecx
je 0x1400b33c7
cmp r14, rbx
ja 0x1400b33c7
mov eax, ecx
lea rdx, [rbp + 0x17]
lea rcx, [rbp - 0x2d]
mov r8, r14
add rcx, rax
call fcn.1400f9370
lea rdx, [rbp - 0x2d]
lea rcx, [rbp - 0x49]
call fcn.1400b1450
mov edi, eax
test eax, eax
jne 0x1400b3404
lea rsi, [rbp + 0x17]
sub rbx, r14
add rsi, r14
xor ecx, ecx
cmp rbx, 0x40
jb 0x1400b33c2
nop dword [rax + rax]
mov rdx, rsi
lea rcx, [rbp - 0x49]
call fcn.1400b1450
mov edi, eax
test eax, eax
jne 0x1400b3404
add rsi, 0x40
sub rbx, 0x40
cmp rbx, 0x40
jae 0x1400b33a0
xor ecx, ecx
test rbx, rbx
je 0x1400b33db
mov eax, ecx
mov r8, rbx
lea rcx, [rbp - 0x2d]
mov rdx, rsi
add rcx, rax
call fcn.1400f9370
mov eax, dword [rbp - 0x41]
xor edi, edi
mov dword [r12], eax
mov eax, dword [rbp - 0x3d]
mov dword [r12 + 4], eax
mov eax, dword [rbp - 0x39]
mov dword [r12 + 8], eax
mov eax, dword [rbp - 0x35]
mov dword [r12 + 0xc], eax
mov eax, dword [rbp - 0x31]
mov dword [r12 + 0x10], eax
mov edx, 0x5c
lea rcx, [rbp - 0x49]
call fcn.140092fb0
mov r15, qword [rsp + 0x90]
mov r14, qword [rsp + 0x98]
mov r13, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xe8]
mov edx, 0x5c
lea rcx, [rbp - 0x49]
call fcn.140092fb0
mov eax, edi
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.1400c86e0
add rsp, 0xb0
pop r12
pop rdi
pop rbp
ret
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x90
mov rax, qword [0x140160140]
xor rax, rsp
mov qword [rsp + 0x80], rax
xorps xmm0, xmm0
mov dword [rsp + 0x28], 0x67452301
mov rdi, r8
mov dword [rsp + 0x2c], 0xefcdab89
mov r8, rdx
mov dword [rsp + 0x30], 0x98badcfe
mov rdx, rcx
mov dword [rsp + 0x34], 0x10325476
xor eax, eax
mov dword [rsp + 0x38], 0xc3d2e1f0
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], rax
movups xmmword [rsp + 0x3c], xmm0
movups xmmword [rsp + 0x4c], xmm0
movups xmmword [rsp + 0x5c], xmm0
movups xmmword [rsp + 0x6c], xmm0
call fcn.1400b4f80
mov ebx, eax
test eax, eax
jne 0x1400b4e3d
mov rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.1400b4e70
mov ebx, eax
mov edx, 0x5c
lea rcx, [rsp + 0x20]
call fcn.140092fb0
mov eax, ebx
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.1400c86e0
mov rbx, qword [rsp + 0xb8]
add rsp, 0x90
pop rdi
ret
push rbp
push rsi
push rdi
sub rsp, 0xa0
mov rax, qword [0x140160140]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rdi, r8
mov rbp, rdx
mov rsi, rcx
cmp r9d, 1
jbe 0x1400b5e86
mov eax, 0xffffff8c
jmp 0x1400b5f11
xorps xmm0, xmm0
mov qword [rsp + 0xd8], rbx
xor eax, eax
lea rcx, [rsp + 0x20]
mov edx, r9d
mov qword [rsp + 0x80], rax
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x88], eax
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
call fcn.1400b60c0
mov ebx, eax
test eax, eax
jne 0x1400b5ef8
mov r8, rbp
lea rcx, [rsp + 0x20]
mov rdx, rsi
call fcn.1400b6170
mov ebx, eax
test eax, eax
jne 0x1400b5ef8
mov rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.1400b5f70
mov ebx, eax
mov edx, WSAGetLastError
lea rcx, [rsp + 0x20]
call fcn.140092fb0
mov eax, ebx
mov rbx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1400c86e0
add rsp, 0xa0
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
sub rsp, 0x110
mov rax, qword [0x140160140]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov ebx, r9d
mov rdi, r8
mov rbp, rdx
mov rsi, rcx
cmp r9d, 1
jbe 0x1400b6c4a
mov eax, 0xffffff8b
jmp 0x1400b6ca4
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0xd8
call fcn.1400f8fb0
mov edx, ebx
lea rcx, [rsp + 0x20]
call fcn.1400b6ed0
mov ebx, eax
test eax, eax
jne 0x1400b6c93
mov r8, rbp
lea rcx, [rsp + 0x20]
mov rdx, rsi
call fcn.1400b6fd0
mov ebx, eax
test eax, eax
jne 0x1400b6c93
mov rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.1400b6d50
mov ebx, eax
mov edx, 0xd8
lea rcx, [rsp + 0x20]
call fcn.140092fb0
mov eax, ebx
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.1400c86e0
mov rbx, qword [rsp + 0x148]
add rsp, 0x110
pop rdi
pop rsi
pop rbp
ret