Function at 0x14000ab70
Capabilities:
Hash data with md5

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov rax, qword [0x1402350c0]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov r15d, 0
mov qword [rsp + 0x38], rcx
lea rbx, [r8 + 0x48]
mov dword [r11 - 0x58], 0x67452301
mov dword [r11 - 0x4c], 0x10325476
mov r14d, 0xefcdab89
mov dword [r11 - 0x54], r14d
mov r13d, 0x98badcfe
mov dword [r11 - 0x50], r13d
mov rdi, r8
mov qword [rsp + 0x20], r15
mov rsi, rdx
lea rbp, [r8*8]
mov r12d, r15d
and rbx, 0xffffffffffffffc0
je 0x14000ac50
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
ja 0x14000b045
cmp rbx, 0x1000
jb 0x14000ac2f
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x14000b039
call fcn.1400463d0
test rax, rax
je 0x14000b03f
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x14000ac3a
mov rcx, rbx
call fcn.1400463d0
mov r15, rax
mov r8, rbx
mov qword [rsp + 0x20], r15
xor edx, edx
lea r12, [r15 + rbx]
mov rcx, r15
call main
mov r8, rdi
mov rdx, rsi
mov rcx, r15
call fcn.140071670
sub r12, r15
mov byte [r15 + rdi], 0x80
mov rcx, r12
mov qword [r15 + rbx - 8], rbp
shr rcx, 6
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rcx
test rcx, rcx
je 0x14000afca
mov r12, r15
lea r10, [0x140000000]
mov r15d, 0x67452301
mov eax, 0x10325476
nop word [rax + rax]
movups xmm0, xmmword [r12]
xor r8d, r8d
mov ebp, 2
movups xmm1, xmmword [r12 + 0x10]
mov r9d, r14d
mov esi, r13d
movaps xmmword [rsp + 0x40], xmm0
mov r11d, r15d
movups xmm0, xmmword [r12 + 0x20]
mov edi, eax
xor r14d, r14d
movaps xmmword [rsp + 0x50], xmm1
mov r13d, ebp
movups xmm1, xmmword [r12 + 0x30]
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x70], xmm1
cmp r8d, 0x10
jge 0x14000acfd
mov eax, esi
mov edx, r9d
not edx
and eax, r9d
and edx, edi
or edx, eax
mov eax, r8d
jmp 0x14000ad4e
mov edx, edi
cmp r8d, 0x20
jge 0x14000ad1d
not edx
mov eax, edi
and eax, r9d
and edx, esi
or edx, eax
lea eax, [r8*4 + 1]
add eax, r8d
jmp 0x14000ad40
cmp r8d, 0x30
jge 0x14000ad35
xor edx, esi
lea eax, [r8*2 + 5]
xor edx, r9d
add eax, r8d
jmp 0x14000ad40
not edx
or edx, r9d
xor edx, esi
imul eax, r8d, 7
and eax, 0x8000000f
jge 0x14000ad4e
dec eax
or eax, 0xfffffff0
inc eax
mov eax, dword [rsp + rax*4 + 0x40]
mov ebx, r9d
add eax, dword [r14 + r10 + 0x75cf0]
movzx ecx, byte [r14 + r10 + 0x75bf0]
add eax, edx
add eax, r11d
rol eax, cl
add r9d, eax
lea eax, [r13 - 1]
cmp eax, 0x10
jge 0x14000ad91
mov edx, r9d
lea r10d, [r8 + 2]
not edx
mov eax, ebx
and eax, r9d
and edx, esi
or edx, eax
lea eax, [r10 - 1]
jmp 0x14000adfd
lea eax, [rbp - 1]
mov edx, esi
cmp eax, 0x20
jge 0x14000adc5
not edx
mov eax, esi
and eax, r9d
and edx, ebx
or edx, eax
lea eax, [r8*4 + 6]
add eax, r8d
and eax, 0x8000000f
jge 0x14000adbf
dec eax
or eax, 0xfffffff0
inc eax
lea r10d, [r8 + 2]
jmp 0x14000adfd
lea r10d, [r8 + 2]
lea eax, [r10 - 1]
cmp eax, 0x30
jge 0x14000ade1
xor edx, ebx
lea eax, [r8 + 4]
xor edx, r9d
lea eax, [r8 + rax*2]
jmp 0x14000adef
not edx
lea eax, [r8 + 1]
or edx, r9d
xor edx, ebx
imul eax, eax, 7
and eax, 0x8000000f
jge 0x14000adfd
dec eax
or eax, 0xfffffff0
inc eax
mov ecx, dword [rsp + rax*4 + 0x40]
mov r11d, r9d
lea rax, [0x140000000]
add ecx, dword [r14 + rax + 0x75cf4]
lea eax, [rdx + rcx]
add eax, edi
lea rdi, [0x140000000]
movzx ecx, byte [r14 + rdi + 0x75bf4]
rol eax, cl
add r9d, eax
cmp r10d, 0x10
jge 0x14000ae47
mov eax, r11d
mov edx, r9d
not edx
and eax, r9d
and edx, ebx
or edx, eax
mov eax, r10d
jmp 0x14000ae9e
mov edx, ebx
cmp r10d, 0x20
jge 0x14000ae68
not edx
mov eax, ebx
and eax, r9d
and edx, r11d
or edx, eax
lea eax, [r8*4 + 0xb]
add eax, r8d
jmp 0x14000ae90
cmp r10d, 0x30
jge 0x14000ae81
xor edx, r11d
lea eax, [r8*2 + 0xb]
xor edx, r9d
add eax, r8d
jmp 0x14000ae90
not edx
lea eax, [r8 + 2]
or edx, r9d
xor edx, r11d
imul eax, eax, 7
and eax, 0x8000000f
jge 0x14000ae9e
dec eax
or eax, 0xfffffff0
inc eax
mov eax, dword [rsp + rax*4 + 0x40]
lea rcx, [0x140000000]
add eax, dword [r14 + rdi + 0x75cf8]
mov edi, r9d
movzx ecx, byte [r14 + rcx + 0x75bf8]
add eax, edx
add eax, esi
rol eax, cl
add r9d, eax
lea eax, [r10 + 1]
cmp eax, 0x10
jge 0x14000aee0
mov edx, r9d
mov ecx, edi
not edx
and ecx, r9d
and edx, r11d
or edx, ecx
jmp 0x14000af2e
mov edx, r11d
cmp eax, 0x20
jge 0x14000aefe
not edx
mov eax, r11d
and eax, r9d
and edx, edi
or edx, eax
lea eax, [r8 + 4]
lea eax, [r8 + rax*4]
jmp 0x14000af20
cmp eax, 0x30
jge 0x14000af12
xor edx, edi
lea eax, [r8 + 7]
xor edx, r9d
lea eax, [r8 + rax*2]
jmp 0x14000af20
not edx
lea eax, [r8 + 3]
or edx, r9d
xor edx, edi
imul eax, eax, 7
and eax, 0x8000000f
jge 0x14000af2e
dec eax
or eax, 0xfffffff0
inc eax
mov eax, dword [rsp + rax*4 + 0x40]
lea r10, [0x140000000]
add eax, dword [r14 + r10 + 0x75cfc]
mov esi, r9d
movzx ecx, byte [r14 + r10 + 0x75bfc]
add edx, eax
add edx, ebx
add r8d, 4
rol edx, cl
add r14, 0x10
add r9d, edx
add r13d, 4
add ebp, 4
cmp r8d, 0x40
jl 0x14000ace4
mov r14d, dword [rsp + 0x84]
add r15d, r11d
mov r13d, dword [rsp + 0x88]
add r14d, r9d
mov eax, dword [rsp + 0x8c]
add r13d, esi
add eax, edi
mov dword [rsp + 0x84], r14d
add r12, 0x40
mov dword [rsp + 0x88], r13d
sub qword [rsp + 0x28], 1
mov dword [rsp + 0x8c], eax
jne 0x14000aca0
mov r12, qword [rsp + 0x30]
mov dword [rsp + 0x80], r15d
mov r15, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x38]
movups xmm0, xmmword [rsp + 0x80]
movups xmmword [rbx], xmm0
test r15, r15
je 0x14000b00b
cmp r12, 0x1000
jb 0x14000b000
mov rcx, qword [r15 - 8]
add r12, 0x27
sub r15, rcx
lea rax, [r15 - 8]
cmp rax, 0x1f
ja 0x14000b03f
mov r15, rcx
mov rdx, r12
mov rcx, r15
call fcn.14004640c
mov rax, rbx
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.140046770
mov rbx, qword [rsp + 0xe0]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140006c80
int3
call fcn.14004c434
int3
call fcn.140006ce0
int3