Function at 0x1400263b0
Capabilities:
Hash data with md5

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x180
mov qword [rsp + 0x78], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x14012a4f8]
xor rax, rsp
mov qword [rsp + 0x170], rax
mov r12, rcx
add rcx, 0x38
lea rdx, [rsp + 0x40]
call fcn.1400380b0
nop
mov rbx, qword [rsp + 0x60]
mov rdx, rbx
mov rdi, qword [rsp + 0x58]
sub rdx, rdi
movabs r15, 0x6666666666666667
mov rax, r15
imul rdx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xor r13d, r13d
cmp rdx, 1
jb 0x1400268bf
mov rsi, rbx
cmp rdi, rbx
jbe 0x14002644e
call fcn.1400aedac
mov rbx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
cmp rdi, rbx
jbe 0x140026458
call fcn.1400aedac
mov rdx, rsi
mov rcx, rdi
call fcn.140027030
mov rdi, rax
mov rbx, qword [rsp + 0x60]
mov rsi, rbx
cmp qword [rsp + 0x58], rbx
jbe 0x14002647f
call fcn.1400aedac
mov rbx, qword [rsp + 0x60]
cmp qword [rsp + 0x58], rdi
ja 0x14002648b
cmp rdi, rbx
jbe 0x140026495
call fcn.1400aedac
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x40]
cmp qword [rsp + 0x58], rsi
ja 0x1400264a6
cmp rsi, rbx
jbe 0x1400264b0
call fcn.1400aedac
mov rbx, qword [rsp + 0x60]
test rbp, rbp
je 0x1400264bc
cmp rbp, qword [rsp + 0x40]
je 0x1400264c6
call fcn.1400aedac
mov rbx, qword [rsp + 0x60]
cmp rdi, rsi
je 0x140026534
xor eax, eax
mov byte [rsp + 0x30], al
mov byte [rsp + 0x28], al
movzx eax, byte [rsp + 0x30]
mov byte [rsp + 0x20], al
movzx r9d, byte [rsp + 0x30]
mov r8, rdi
mov rdx, rbx
mov rcx, rsi
call fcn.140027160
mov rbx, rax
mov rsi, qword [rsp + 0x60]
cmp rax, rsi
je 0x14002652f
lea rdi, [rax + 0x20]
cmp qword [rdi], 8
jb 0x140026512
mov rcx, qword [rdi - 0x18]
call fcn.1400ad0b8
mov qword [rdi], 7
mov qword [rdi - 8], r13
mov word [rdi - 0x18], r13w
add rdi, 0x28
lea rax, [rdi - 0x20]
cmp rax, rsi
jne 0x140026503
mov qword [rsp + 0x60], rbx
mov rbp, qword [rsp + 0x58]
cmp rbp, rbx
jbe 0x140026548
call fcn.1400aedac
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x40]
lea r14, vtable.CMD5Checksum.0
cmp qword [rsp + 0x58], rbx
jbe 0x140026560
call fcn.1400aedac
test rsi, rsi
je 0x14002656c
cmp rsi, qword [rsp + 0x40]
je 0x140026571
call fcn.1400aedac
cmp rbp, rbx
je 0x140026858
test rsi, rsi
jne 0x140026589
call fcn.1400aedac
mov rdx, r13
jmp 0x14002658c
mov rdx, qword [rsi]
cmp rbp, qword [rdx + 0x20]
jb 0x140026597
call fcn.1400aedac
mov qword [rsp + 0xf0], 7
mov qword [rsp + 0xe8], r13
mov word [rsp + 0xd8], r13w
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rbp
lea rcx, [rsp + 0xd0]
call fcn.140025740
nop
xor r8d, r8d
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x80]
call fcn.140034030
nop
mov r8d, 7
lea rdx, [0x1400fc320]
lea rcx, [rsp + 0x80]
call fcn.1400219b0
mov qword [rsp + 0x100], r14
xor eax, eax
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], rax
mov dword [rsp + 0x15c], r13d
mov dword [rsp + 0x158], r13d
mov dword [rsp + 0x160], 0x67452301
mov dword [rsp + 0x164], 0xefcdab89
mov dword [rsp + 0x168], 0x98badcfe
mov dword [rsp + 0x16c], 0x10325476
lea r8, [rsp + 0x88]
cmp qword [rsp + 0xa0], 0x10
cmovae r8, qword [rsp + 0x88]
mov r9d, dword [rsp + 0x98]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x100]
call fcn.1400321a0
nop
mov rdi, qword [rax]
lea rcx, [0x14012bdf0]
mov rax, qword [0x14012bdf0]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x38], rbx
test rdi, rdi
je 0x14002670d
test rdi, 0xffffffffffff0000
jne 0x14002670d
movzx edi, di
xor edx, edx
mov ecx, edi
call fcn.140020620
test rax, rax
je 0x14002671f
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.140022430
mov rbx, qword [rsp + 0x38]
jmp 0x14002671f
mov rdx, rdi
lea rcx, [rsp + 0x38]
call fcn.140021730
mov rbx, qword [rsp + 0x38]
mov qword [rsp + 0xc8], 0xf
mov qword [rsp + 0xc0], r13
mov byte [rsp + 0xb0], 0
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
mov rdx, rbx
lea rcx, [rsp + 0xa8]
call fcn.140004cb0
nop
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002677a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002679a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rcx, [r12 + 8]
lea rdx, [rsp + 0xa8]
call fcn.140021120
nop
cmp qword [rsp + 0xc8], 0x10
jb 0x1400267c5
mov rcx, qword [rsp + 0xb0]
call fcn.1400ad0b8
mov qword [rsp + 0xc8], 0xf
mov qword [rsp + 0xc0], r13
mov byte [rsp + 0xb0], 0
cmp qword [rsp + 0xa0], 0x10
jb 0x1400267f9
mov rcx, qword [rsp + 0x88]
call fcn.1400ad0b8
mov qword [rsp + 0xa0], 0xf
mov qword [rsp + 0x98], r13
mov byte [rsp + 0x88], 0
cmp qword [rsp + 0xf0], 8
jb 0x14002682d
mov rcx, qword [rsp + 0xd8]
call fcn.1400ad0b8
test rsi, rsi
jne 0x14002683c
call fcn.1400aedac
mov rdx, r13
jmp 0x14002683f
mov rdx, qword [rsi]
cmp rbp, qword [rdx + 0x20]
jb 0x14002684a
call fcn.1400aedac
add rbp, 0x28
mov rbx, qword [rsp + 0x60]
jmp 0x140026554
mov rdi, qword [r12 + 0x28]
cmp qword [r12 + 0x20], rdi
jbe 0x140026869
call fcn.1400aedac
mov rsi, qword [r12 + 8]
mov rbx, qword [r12 + 0x20]
cmp rbx, qword [r12 + 0x28]
jbe 0x14002687f
call fcn.1400aedac
test rsi, rsi
je 0x14002688b
cmp rsi, qword [r12 + 8]
je 0x140026890
call fcn.1400aedac
mov rcx, rdi
sub rcx, rbx
mov rax, r15
imul rcx
sar rdx, 4
mov r8, rdx
shr r8, 0x3f
add r8, rdx
mov rdx, rdi
mov rcx, rbx
call fcn.140022a80
mov rbx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
test rdi, rdi
je 0x140026909
cmp rdi, rbx
je 0x140026901
add rdi, 0x20
nop dword [rax]
cmp qword [rdi], 8
jb 0x1400268df
mov rcx, qword [rdi - 0x18]
call fcn.1400ad0b8
mov qword [rdi], 7
mov qword [rdi - 8], r13
mov word [rdi - 0x18], r13w
add rdi, 0x28
lea rax, [rdi - 0x20]
cmp rax, rbx
jne 0x1400268d0
mov rdi, qword [rsp + 0x58]
mov rcx, rdi
call fcn.1400ad0b8
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x68], r13
mov rcx, qword [rsp + 0x40]
call fcn.1400ad0b8
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.1400ad2c0
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret