Function at 0x140123198
Capabilities:
Hash data using sha1

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x248]
sub rsp, 0x310
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov qword [rax + 0x20], rbx
mov rax, qword [0x14045cbf0]
xor rax, rsp
mov qword [rbp + 0x208], rax
mov rbx, r8
mov qword [rsp + 0x28], rbx
mov r14, rdx
mov r12, rcx
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x70], rdx
mov qword [rbp - 0x80], rbx
xor esi, esi
mov edi, esi
mov dword [rsp + 0x20], esi
mov qword [rbp + 0xd0], rsi
lea r13d, [rsi + 0x10]
mov qword [rbp + 0x120], r13
lea r15d, [rsi + 1]
mov byte [rbp + 0x119], r15b
lea rax, [rbp + 0xd8]
mov qword [rbp + 0x128], rax
mov qword [rbp + 0x178], r13
mov byte [rbp + 0x171], r15b
lea rax, [rbp + 0x130]
mov qword [rbp + 0x180], rax
mov dword [rbp + 0x130], 0x67452301
mov dword [rbp + 0x134], 0xefcdab89
mov dword [rbp + 0x138], 0x98badcfe
mov dword [rbp + 0x13c], 0x10325476
mov dword [rbp + 0x140], 0xc3d2e1f0
lea rax, vtable.CryptoPP::SHA1.0
mov qword [rbp + 0xc8], rax
mov qword [rbp + 0x68], 0xf
mov qword [rbp + 0x60], rsi
mov byte [rbp + 0x50], sil
cmp qword [rcx + 0x10], r15
jbe 0x1401232d2
cmp qword [rcx + 0x18], r13
jb 0x14012329e
mov rax, qword [rcx]
jmp 0x1401232a1
mov rax, rcx
mov dl, byte [rax]
lea rcx, [rbp + 0x50]
call fcn.14009bedc
mov r11, qword [r12 + 0x10]
cmp qword [r12 + 0x18], r13
jb 0x1401232be
mov rax, qword [r12]
jmp 0x1401232c1
mov rax, r12
mov r8b, byte [rax + r11 - 1]
mov rdx, r15
lea rcx, [rbp + 0x50]
call fcn.14000aa80
mov r8, rbx
mov rdx, r14
lea rcx, [rbp + 0x78]
call fcn.14009cc54
nop
lea r8, [rbp + 0x50]
mov rdx, rax
lea rcx, [rbp + 0xa0]
call fcn.14009c2d4
nop
cmp qword [rbp + 0x90], r13
jb 0x140123308
mov rcx, qword [rbp + 0x78]
call fcn.1400be0f4
mov qword [rbp - 0x60], 0xf
mov qword [rbp - 0x68], rsi
mov byte [rbp - 0x78], sil
mov ecx, 0xb0
call fcn.1400be454
mov r13, rax
mov qword [rsp + 0x60], rax
test rax, rax
je 0x140123407
mov ecx, 0x90
call fcn.1400be454
mov rbx, rax
mov qword [rsp + 0x68], rax
test rax, rax
je 0x1401233f0
mov edi, 0xf
mov qword [rbp + 0x90], rdi
mov qword [rbp + 0x88], rsi
mov byte [rbp + 0x78], sil
xor r8d, r8d
lea rdx, [0x140350cfe]
lea rcx, [rbp + 0x78]
call fcn.1400031c0
nop
mov dword [rsp + 0x20], r15d
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], rsi
mov byte [rsp + 0x30], sil
mov r8, r15
lea rdx, str.:4_
lea rcx, [rsp + 0x30]
call fcn.1400031c0
nop
mov edi, 3
mov dword [rsp + 0x20], edi
lea ecx, [rdi + 0x1d]
call fcn.1400be454
nop
test rax, rax
je 0x1401233d8
lea rcx, vtable.CryptoPP::StringSinkTemplate_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___.0
mov qword [rax], rcx
lea rcx, vtable.CryptoPP::StringSinkTemplate_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___.1.0
mov qword [rax + 8], rcx
lea rcx, [rbp - 0x78]
mov qword [rax + 0x18], rcx
jmp 0x1401233db
mov rax, rsi
lea r9, [rsp + 0x30]
xor r8d, r8d
mov rdx, rax
mov rcx, rbx
call fcn.140098e58
jmp 0x1401233f3
mov rax, rsi
mov r8, rax
lea rdx, [rbp + 0xc8]
mov rcx, r13
call fcn.1400ab180
jmp 0x14012340a
mov rax, rsi
mov r8, rax
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x190]
call fcn.140098b34
mov rcx, qword [rbp + 0x1a8]
test rcx, rcx
je 0x140123435
mov rax, qword [rcx]
mov edx, r15d
call qword [rax]
nop
mov ebx, 2
test bl, dil
je 0x140123467
and edi, 0xfffffffd
cmp qword [rsp + 0x48], 0x10
jb 0x140123454
mov rcx, qword [rsp + 0x30]
call fcn.1400be0f4
mov qword [rsp + 0x48], 0xf
mov qword [rsp + 0x40], rsi
mov byte [rsp + 0x30], sil
test r15b, dil
je 0x14012347f
cmp qword [rbp + 0x90], 0x10
jb 0x14012347f
mov rcx, qword [rbp + 0x78]
call fcn.1400be0f4
mov edi, 3
mov r9d, edi
xor r8d, r8d
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 0x78]
call fcn.14000a05c
nop
mov r9, rbx
mov r8d, edi
lea rdx, [rbp]
lea rcx, [rbp - 0x78]
call fcn.14000a05c
nop
mov r9d, edi
mov r8, r15
lea rdx, [rbp + 0x28]
mov rcx, r12
call fcn.14000a05c
nop
mov r8, qword [r12 + 0x10]
add r8, 0xfffffffffffffffd
mov r9, rbx
lea rdx, [rbp - 0x50]
mov rcx, r12
call fcn.14000a05c
nop
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 0x10
cmovae rdx, qword [rbp - 0x28]
lea rcx, [rbp + 0x28]
mov r15, qword [rbp + 0x28]
mov r13, qword [rbp + 0x40]
cmp r13, 0x10
cmovae rcx, r15
mov rbx, qword [rbp - 0x18]
mov r8, rbx
mov rdi, qword [rbp + 0x38]
cmp rdi, rbx
cmovb r8, rdi
call fcn.1400d4220
movsxd rcx, eax
mov eax, esi
cmp rdi, rbx
setne al
or edx, 0xffffffff
cmp rdi, rbx
cmovb eax, edx
test rcx, rcx
cmovne eax, ecx
test eax, eax
sete al
test al, al
je 0x1401236d5
lea rdx, [rbp]
cmp qword [rbp + 0x18], 0x10
cmovae rdx, qword [rbp]
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae rcx, qword [rbp - 0x50]
mov rbx, qword [rbp + 0x10]
mov r8, rbx
mov rdi, qword [rbp - 0x40]
cmp rdi, rbx
cmovb r8, rdi
call fcn.1400d4220
movsxd rcx, eax
mov eax, esi
cmp rdi, rbx
setne al
cmp rdi, rbx
mov edx, 0xffffffff
cmovb eax, edx
test rcx, rcx
cmovne eax, ecx
test eax, eax
sete al
test al, al
je 0x1401236d5
cmp qword [rbp - 0x38], 0x10
jb 0x1401235ac
mov rcx, qword [rbp - 0x50]
call fcn.1400be0f4
mov r13, qword [rbp + 0x40]
mov r15, qword [rbp + 0x28]
mov edi, 0xf
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x40], rsi
mov byte [rbp - 0x50], sil
cmp r13, 0x10
jb 0x1401235cb
mov rcx, r15
call fcn.1400be0f4
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x38], rsi
mov byte [rbp + 0x28], sil
cmp qword [rbp + 0x18], 0x10
jb 0x1401235e7
mov rcx, qword [rbp]
call fcn.1400be0f4
mov qword [rbp + 0x18], rdi
mov qword [rbp + 0x10], rsi
mov byte [rbp], sil
cmp qword [rbp - 0x10], 0x10
jb 0x140123603
mov rcx, qword [rbp - 0x28]
call fcn.1400be0f4
mov qword [rbp - 0x10], rdi
mov qword [rbp - 0x18], rsi
mov byte [rbp - 0x28], sil
cmp qword [rbp - 0x60], 0x10
jb 0x14012361f
mov rcx, qword [rbp - 0x78]
call fcn.1400be0f4
mov qword [rbp - 0x60], rdi
mov qword [rbp - 0x68], rsi
mov byte [rbp - 0x78], sil
cmp qword [rbp + 0xb8], 0x10
jb 0x140123641
mov rcx, qword [rbp + 0xa0]
call fcn.1400be0f4
mov qword [rbp + 0xb8], rdi
mov qword [rbp + 0xb0], rsi
mov byte [rbp + 0xa0], sil
cmp qword [rbp + 0x68], 0x10
jb 0x140123667
mov rcx, qword [rbp + 0x50]
call fcn.1400be0f4
nop
lea rax, [rbp + 0x130]
mov rdi, qword [rbp + 0x180]
cmp rdi, rax
jne 0x14012368c
mov byte [rbp + 0x171], sil
xor eax, eax
mov rcx, qword [rbp + 0x178]
rep stosd dword [rdi], eax
lea rax, [rbp + 0xd8]
mov rdi, qword [rbp + 0x128]
cmp rdi, rax
jne 0x1401236b1
mov byte [rbp + 0x119], sil
xor eax, eax
mov rcx, qword [rbp + 0x120]
rep stosd dword [rdi], eax
xor r8d, r8d
mov dl, 1
mov rcx, r12
call fcn.140003808
nop
xor r8d, r8d
mov dl, 1
mov rcx, r14
call fcn.140003808
nop
mov sil, 1
jmp 0x1401237a7
xor r8d, r8d
mov dl, 1
lea rcx, [rbp - 0x50]
call fcn.140003808
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x28]
call fcn.140003808
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp]
call fcn.140003808
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp - 0x28]
call fcn.140003808
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp - 0x78]
call fcn.140003808
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0xa0]
call fcn.140003808
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x50]
call fcn.140003808
nop
lea rax, [rbp + 0x130]
mov rdi, qword [rbp + 0x180]
cmp rdi, rax
jne 0x140123766
mov byte [rbp + 0x171], sil
xor eax, eax
mov rcx, qword [rbp + 0x178]
rep stosd dword [rdi], eax
lea rax, [rbp + 0xd8]
mov rdi, qword [rbp + 0x128]
cmp rdi, rax
jne 0x14012378b
mov byte [rbp + 0x119], sil
xor eax, eax
mov rcx, qword [rbp + 0x120]
rep stosd dword [rdi], eax
xor r8d, r8d
mov dl, 1
mov rcx, r12
call fcn.140003808
nop
xor r8d, r8d
mov dl, 1
mov rcx, r14
call fcn.140003808
nop
xor r8d, r8d
mov dl, 1
mov rcx, qword [rsp + 0x28]
call fcn.140003808
mov al, sil
mov rcx, qword [rbp + 0x208]
xor rcx, rsp
call fcn.1400be110
mov rbx, qword [rsp + 0x368]
add rsp, 0x310
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret