Function at 0x2fe1c
Capabilities:
Hash data using sha1

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x270
mov rax, qword [0x00078100]
xor rax, rsp
mov qword [rsp + 0x260], rax
mov rax, qword [rcx + 0x100]
mov rdi, rcx
lea rcx, [0x00071060]
mov rbx, qword [rax]
call fcn.00044148
cmp dword [rbx + 0x18], 1
je 0x30481
cmp dword [rbx + 0x18], 9
je 0x30445
cmp dword [rbx + 0x18], 0xa
je 0x30445
mov rcx, rdi
call fcn.0002b438
mov esi, eax
test eax, eax
je 0x2febe
mov dword [rsp + 0x28], eax
lea rax, str.ssl_read_record
lea r8, [0x000704f8]
mov r9d, 0x6ec
mov edx, 1
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.00044190
mov eax, esi
jmp 0x30491
cmp dword [rdi + 0x130], 0x16
je 0x2fedd
lea rcx, str.bad_server_key_exchange_message
call fcn.00044148
mov eax, 0xffff8900
jmp 0x30491
mov rcx, qword [rdi + 0x120]
cmp byte [rcx], 0xc
je 0x2ff1c
cmp dword [rbx + 0x18], 5
je 0x2feff
cmp dword [rbx + 0x18], 7
je 0x2feff
mov ebx, 0xffff8900
jmp 0x303ec
mov dword [rdi + 0x154], 1
inc dword [rdi]
lea rcx, str.__parse_server_key_exchange
call fcn.00044148
jmp 0x3048f
mov rax, qword [rdi + 0x148]
lea rsi, [rcx + 4]
mov r13d, 3
lea r12, [rax + rcx]
add rax, 0xfffffffffffffffc
lea r8, [0x000704f8]
mov qword [rsp + 0x30], rax
lea rax, str.server_key_exchange
mov r9d, 0x709
mov edx, r13d
mov rcx, rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x20], rax
call fcn.00044260
mov r11d, dword [rbx + 0x18]
cmp r11d, 5
je 0x2ff89
cmp r11d, 7
je 0x2ff89
cmp r11d, 6
je 0x2ff89
cmp r11d, 8
jne 0x2ffc0
movzx eax, byte [rsi]
add rsi, 2
shl eax, 8
movsxd rcx, eax
movzx eax, byte [rsi - 1]
or rcx, rax
add rsi, rcx
cmp rsi, r12
jbe 0x2ffbb
lea rcx, str.bad_server_key_exchange_message__psk_identity_hint_length_
call fcn.00044148
mov ebx, 0xffff8500
jmp 0x303ec
mov qword [rsp + 0x40], rsi
mov r8d, 4
cmp r11d, 5
je 0x30033
cmp r11d, 7
je 0x30033
cmp r11d, 2
je 0x30016
cmp r11d, 6
je 0x30016
cmp r11d, r13d
je 0x30004
cmp r11d, 8
je 0x30004
cmp r11d, r8d
je 0x30004
lea rcx, str.should_never_happen
call fcn.00044148
mov eax, 0xffff9400
jmp 0x30491
lea rdx, [rsp + 0x40]
mov r8, r12
mov rcx, rdi
call fcn.0002f9ec
jmp 0x30026
lea rdx, [rsp + 0x40]
mov r8, r12
mov rcx, rdi
call fcn.0002f768
test eax, eax
jne 0x2ffb1
mov rsi, qword [rsp + 0x40]
lea r8d, [rax + 4]
cmp dword [rbx + 0x18], 2
je 0x30049
cmp dword [rbx + 0x18], r13d
je 0x30049
cmp dword [rbx + 0x18], r8d
jne 0x2ff09
mov r14, rsi
sub r14, qword [rdi + 0x120]
sub r14, r8
cmp dword [rdi + 0x10], r13d
jne 0x300ed
lea r15, [rsi + 2]
cmp r15, r12
ja 0x2ffb1
mov cl, byte [rsi]
call fcn.0002e3d4
mov r13d, eax
test eax, eax
jne 0x3008f
movzx edx, cl
lea rcx, str.Server_used_unsupported_HashAlgorithm__d
call fcn.00044148
jmp 0x2ffb1
movzx edx, byte [rsi + 1]
mov ecx, edx
sub ecx, 1
je 0x300a9
cmp ecx, 2
je 0x300a4
xor r12d, r12d
jmp 0x300af
mov r12d, r8d
jmp 0x300af
mov r12d, 1
test r12d, r12d
jne 0x300bd
lea rcx, str.server_used_unsupported_SignatureAlgorithm__d
jmp 0x30085
lea rcx, str.Server_used_SignatureAlgorithm__d
call fcn.00044148
movzx edx, byte [rsi]
lea rcx, str.Server_used_HashAlgorithm__d
call fcn.00044148
mov rcx, rbx
mov rsi, r15
call fcn.0004410c
cmp r12d, eax
je 0x30108
jmp 0x2ffb1
jge 0x2ffee
mov rcx, rbx
call fcn.0004410c
xor r13d, r13d
cmp eax, r8d
mov r12d, eax
cmove r13d, r8d
movzx ecx, byte [rsi]
add rsi, 2
shl ecx, 8
mov qword [rsp + 0x40], rsi
movsxd r15, ecx
movzx ecx, byte [rsi - 1]
or r15, rcx
lea rax, [r15 + rsi]
cmp qword [rsp + 0x58], rax
jne 0x2ffb1
lea rax, str.signature
mov qword [rsp + 0x30], r15
lea r8, [0x000704f8]
mov r9d, 0x780
mov edx, 3
mov rcx, rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rax
call fcn.00044260
test r13d, r13d
jne 0x302c8
mov ebx, 0xd8
lea rcx, [rsp + 0x140]
xor edx, edx
mov r8, rbx
call fcn.0005d630
lea r8d, [rbx + 4]
lea rcx, [rsp + 0x60]
xor edx, edx
call fcn.0005d630
mov rdx, qword [rdi + 0xe0]
and dword [rsp + 0x140], r13d
and dword [rsp + 0x144], r13d
lea r8d, [r13 + 0x40]
lea rcx, [rsp + 0x140]
add rdx, 0x828
mov dword [rsp + 0x148], 0x67452301
mov dword [rsp + 0x14c], 0xefcdab89
mov dword [rsp + 0x150], 0x98badcfe
mov dword [rsp + 0x154], 0x10325476
call fcn.00043bd4
mov rdx, qword [rdi + 0x120]
lea rcx, [rsp + 0x140]
mov r8, r14
add rdx, 4
call fcn.00043bd4
lea rdx, [rsp + 0x220]
lea rcx, [rsp + 0x140]
call fcn.00043cac
mov rdx, qword [rdi + 0xe0]
and dword [rsp + 0x60], r13d
and dword [rsp + 0x64], r13d
lea r8d, [r13 + 0x40]
lea rcx, [rsp + 0x60]
add rdx, 0x828
mov dword [rsp + 0x68], 0x67452301
mov dword [rsp + 0x6c], 0xefcdab89
mov dword [rsp + 0x70], 0x98badcfe
mov dword [rsp + 0x74], 0x10325476
mov dword [rsp + 0x78], 0xc3d2e1f0
call fcn.0003c148
mov rdx, qword [rdi + 0x120]
lea rcx, [rsp + 0x60]
add rdx, 4
mov r8, r14
call fcn.0003c148
lea rdx, [rsp + 0x230]
lea rcx, [rsp + 0x60]
call fcn.0003c220
lea rax, [rsp + 0x140]
mov byte [rax], 0
inc rax
sub rbx, 1
jne 0x3029b
lea rax, [rsp + 0x60]
mov ecx, 0xdc
mov byte [rax], 0
inc rax
sub rcx, 1
jne 0x302b1
lea ebx, [rcx + 0x24]
mov rax, rbx
jmp 0x30383
xor eax, eax
mov ecx, r13d
and qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
call fcn.00036f1c
lea rcx, [rsp + 0x48]
mov rdx, rax
mov qword [rsp + 0x58], rax
call fcn.00036fbc
mov ebx, eax
test eax, eax
je 0x3030f
mov dword [rsp + 0x28], eax
mov r9d, 0x7c3
lea rax, str.md_init_ctx
jmp 0x30464
lea rcx, [rsp + 0x48]
call fcn.00037018
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x3036b
mov rdx, qword [rdi + 0xe0]
mov rbx, qword [rsp + 0x50]
mov r8d, 0x40
add rdx, 0x828
mov rcx, rbx
call qword [rax + 0x20]
mov rdx, qword [rdi + 0x120]
mov r8, r14
mov r14, qword [rsp + 0x48]
mov rcx, rbx
add rdx, 4
call qword [r14 + 0x20]
lea rdx, [rsp + 0x220]
mov rcx, rbx
call qword [r14 + 0x28]
lea rcx, [rsp + 0x48]
call fcn.00036f80
mov r11, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x40]
mov eax, dword [r11 + 0x10]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x220]
lea r8, [0x000704f8]
mov qword [rsp + 0x28], rax
lea rax, str.parameters_hash
mov r9d, 0x7d6
mov edx, 3
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.00044260
mov rax, qword [rdi + 0xd8]
mov r14d, 0x148
mov rcx, qword [rax + 0x68]
add rcx, r14
je 0x303e1
mov rax, qword [rcx]
test rax, rax
je 0x303e1
mov ecx, r12d
call qword [rax + 0x18]
jmp 0x303e3
xor eax, eax
test eax, eax
jne 0x303fd
mov ebx, 0xffff9300
lea rcx, str.bad_server_key_exchange_message
call fcn.00044148
jmp 0x3047d
mov rax, qword [rdi + 0xd8]
lea r8, [rsp + 0x220]
mov r9, rbx
mov rcx, qword [rax + 0x68]
mov edx, r13d
mov qword [rsp + 0x28], r15
add rcx, r14
mov qword [rsp + 0x20], rsi
call fcn.0001c778
mov ebx, eax
test eax, eax
je 0x2ff09
mov dword [rsp + 0x28], eax
mov r9d, 0x7e4
lea rax, str.pk_verify
jmp 0x30464
mov rcx, rdi
call fcn.0002fd14
mov ebx, eax
test eax, eax
je 0x30481
mov dword [rsp + 0x28], eax
mov r9d, 0x6dd
lea rax, str.ssl_get_ecdh_params_from_cert
lea r8, [0x000704f8]
mov edx, 1
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.00044190
mov eax, ebx
jmp 0x30491
lea rcx, str.__skip_parse_server_key_exchange
call fcn.00044148
inc dword [rdi]
xor eax, eax
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.0005cf80
lea r11, [rsp + 0x270]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret