Function at 0x34234
Capabilities:
Hash data using sha1

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x280
mov rax, qword [0x00078100]
xor rax, rsp
mov qword [rsp + 0x270], rax
mov rsi, qword [rcx + 0x170]
mov rax, qword [rcx + 0x100]
xor r14d, r14d
mov r15, qword [rax]
mov rdi, rcx
lea r13d, [r14 + 4]
lea rcx, [0x00072058]
add rsi, r13
mov r12, r14
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], r14
call fcn.00044148
mov eax, dword [r15 + 0x18]
cmp eax, 1
je 0x34a0a
cmp eax, 5
je 0x34a0a
cmp eax, 7
je 0x34a0a
cmp eax, 9
je 0x34a02
cmp eax, 0xa
je 0x34a02
cmp eax, 6
je 0x342d7
cmp eax, 8
jne 0x342e8
mov byte [rsi], r14b
mov byte [rsi + 1], r14b
mov r12d, 2
add rsi, 2
cmp dword [r15 + 0x18], 2
lea rbp, str.f:driver_
mov ebx, 3
je 0x3430c
cmp dword [r15 + 0x18], 6
je 0x3430c
mov r14, qword [rsp + 0x40]
jmp 0x34485
mov rcx, qword [rdi + 0xe0]
lea rdx, [rdi + 0x218]
add rcx, 0x18
call fcn.0001d4ec
mov ebx, eax
cmp eax, r14d
jne 0x349d4
mov rcx, qword [rdi + 0xe0]
lea rdx, [rdi + 0x230]
add rcx, 0x30
call fcn.0001d4ec
mov ebx, eax
cmp eax, r14d
jne 0x349d4
mov r11, qword [rdi + 0xe0]
lea rcx, [r11 + 0x18]
call fcn.0001d940
lea rcx, [r11 + 0x10]
lea r9, [rsp + 0x40]
lea rdx, [rax + 7]
mov rax, qword [rdi + 0x58]
mov r8, rsi
mov qword [rsp + 0x28], rax
mov rax, qword [rdi + 0x28]
shr rdx, 3
mov qword [rsp + 0x20], rax
call fcn.000424f8
mov rcx, rdi
mov ebx, eax
cmp eax, r14d
je 0x343b2
mov dword [rsp + 0x28], eax
mov r9d, 0x9f7
lea r8, str.f:driver_
lea rax, str.dhm_make_params
jmp 0x349ef
mov r14, qword [rsp + 0x40]
mov rax, qword [rdi + 0xe0]
mov ebx, 3
add rax, 0x48
mov r9d, 0xa01
mov r8, rbp
mov qword [rsp + 0x28], rax
lea rax, str.DHM:_X
mov edx, ebx
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], r14
add r12, r14
mov qword [rsp + 0x20], rax
add rsi, r14
call fcn.000445c8
mov r11, qword [rdi + 0xe0]
lea rax, str.DHM:_P
mov r9d, 0xa02
add r11, 0x18
mov r8, rbp
mov edx, ebx
mov qword [rsp + 0x28], r11
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.000445c8
mov r11, qword [rdi + 0xe0]
lea rax, str.DHM:_G
add r11, 0x30
mov r9d, 0xa03
mov r8, rbp
mov qword [rsp + 0x28], r11
mov edx, ebx
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.000445c8
mov r11, qword [rdi + 0xe0]
lea rax, str.DHM:_GX
add r11, 0x60
mov r9d, 0xa04
mov qword [rsp + 0x28], r11
mov r8, rbp
mov edx, ebx
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.000445c8
cmp dword [r15 + 0x18], ebx
je 0x3449c
cmp dword [r15 + 0x18], r13d
je 0x3449c
cmp dword [r15 + 0x18], 8
jne 0x345b6
mov rax, qword [rdi + 0xe0]
mov rbx, qword [rax + 0x370]
mov rdx, qword [rbx]
test rdx, rdx
jne 0x344c8
lea rcx, str.no_matching_curve_for_ECDHE
call fcn.00044148
mov eax, 0xffff8c80
jmp 0x34a1a
mov rdx, qword [rdx + 8]
lea rcx, str.ECDHE_curve:__s
call fcn.00044148
mov r11, qword [rbx]
mov rcx, qword [rdi + 0xe0]
mov edx, dword [r11]
add rcx, 0x108
call fcn.0003c8a4
mov ebx, eax
test eax, eax
je 0x34510
mov dword [rsp + 0x28], eax
mov r9d, 0xa30
lea rax, str.ecp_use_known_dp
mov r8, rbp
jmp 0x349ec
mov rcx, qword [rdi + 0xe0]
mov rax, qword [rdi + 0x58]
mov rdx, qword [rdi + 0x28]
add rcx, 0x108
je 0x34551
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
mov r9d, 0x4000
lea rdx, [rsp + 0x40]
mov r8, rsi
sub r9, r12
call fcn.00042e6c
mov r14, qword [rsp + 0x40]
mov ebx, eax
jmp 0x34556
mov ebx, 0xffffb080
mov r8, rbp
mov rcx, rdi
test ebx, ebx
je 0x34576
mov dword [rsp + 0x28], ebx
lea rax, str.ecdh_make_params
mov r9d, 0xa38
jmp 0x349ef
mov rax, qword [rdi + 0xe0]
mov ebx, 3
mov r9d, 0xa42
add rax, 0x218
mov edx, ebx
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x28], rax
lea rax, str.ECDH:_Q
mov qword [rsp + 0x48], r14
add rsi, r14
add r12, r14
mov qword [rsp + 0x20], rax
call fcn.000444c8
mov eax, dword [r15 + 0x18]
cmp eax, 2
je 0x345cc
cmp eax, ebx
je 0x345cc
cmp eax, r13d
jne 0x3496d
xor r15d, r15d
mov qword [rsp + 0x58], r15
cmp dword [rdi + 0x10], ebx
jne 0x34605
mov rax, qword [rdi + 0xe0]
mov cl, byte [rax]
call fcn.0002e3d4
mov r13d, eax
cmp eax, r15d
jne 0x3460e
lea rcx, str.should_never_happen
call fcn.00044148
mov eax, 0xffff9400
jmp 0x34a1a
cmp eax, r13d
jne 0x346bf
xor eax, eax
mov ecx, r13d
mov dword [rsp + 0x40], r15d
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
call fcn.00036f1c
lea rcx, [rsp + 0x60]
mov rdx, rax
mov r15, rax
call fcn.00036fbc
mov ebx, eax
test eax, eax
je 0x34653
mov dword [rsp + 0x28], eax
mov r9d, 0xab0
lea rax, str.md_init_ctx
jmp 0x34508
lea rcx, [rsp + 0x60]
call fcn.00037018
mov r14, qword [rsp + 0x60]
test r14, r14
je 0x346a7
mov rdx, qword [rdi + 0xe0]
mov rbx, qword [rsp + 0x68]
mov r8d, 0x40
add rdx, 0x828
mov rcx, rbx
call qword [r14 + 0x20]
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov rcx, rbx
call qword [r14 + 0x20]
lea rdx, [rsp + 0x230]
mov rcx, rbx
call qword [r14 + 0x28]
lea rcx, [rsp + 0x60]
call fcn.00036f80
mov r11d, dword [r15 + 0x10]
mov r15d, dword [rsp + 0x40]
jmp 0x34823
mov ebx, 0xd8
lea rcx, [rsp + 0x150]
xor edx, edx
mov r8, rbx
mov r13d, r15d
call fcn.0005d630
lea r14d, [rbx + 4]
lea rcx, [rsp + 0x70]
mov r8, r14
xor edx, edx
call fcn.0005d630
mov rdx, qword [rdi + 0xe0]
lea rcx, [rsp + 0x150]
add rdx, 0x828
mov r8d, 0x40
mov dword [rsp + 0x150], r15d
mov dword [rsp + 0x154], r15d
mov dword [rsp + 0x158], 0x67452301
mov dword [rsp + 0x15c], 0xefcdab89
mov dword [rsp + 0x160], 0x98badcfe
mov dword [rsp + 0x164], 0x10325476
call fcn.00043bd4
mov r15, qword [rsp + 0x50]
mov r8, qword [rsp + 0x48]
lea rcx, [rsp + 0x150]
mov rdx, r15
call fcn.00043bd4
lea rdx, [rsp + 0x230]
lea rcx, [rsp + 0x150]
call fcn.00043cac
mov rdx, qword [rdi + 0xe0]
and dword [rsp + 0x70], r13d
and dword [rsp + 0x74], r13d
lea rcx, [rsp + 0x70]
add rdx, 0x828
mov r8d, 0x40
mov dword [rsp + 0x78], 0x67452301
mov dword [rsp + 0x7c], 0xefcdab89
mov dword [rsp + 0x80], 0x98badcfe
mov dword [rsp + 0x84], 0x10325476
mov dword [rsp + 0x88], 0xc3d2e1f0
call fcn.0003c148
mov r8, qword [rsp + 0x48]
lea rcx, [rsp + 0x70]
mov rdx, r15
call fcn.0003c148
lea rdx, [rsp + 0x240]
lea rcx, [rsp + 0x70]
call fcn.0003c220
mov r15d, 0x24
lea rax, [rsp + 0x150]
mov byte [rax], r13b
inc rax
sub rbx, 1
jne 0x34803
lea rax, [rsp + 0x70]
mov byte [rax], r13b
inc rax
sub r14, 1
jne 0x34814
mov r11d, r15d
mov eax, r11d
mov r14d, 3
mov r9d, 0xac3
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x230]
mov r8, rbp
mov qword [rsp + 0x28], rax
lea rax, str.parameters_hash
mov edx, r14d
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.00044260
mov rcx, qword [rdi + 0xe0]
mov rax, qword [rcx + 0x378]
test rax, rax
je 0x349c1
cmp qword [rax + 8], 0
je 0x349c1
cmp dword [rdi + 0x10], r14d
jne 0x348b1
mov al, byte [rcx]
mov byte [rsi], al
mov rax, qword [rdi + 0xe0]
mov rcx, qword [rax + 0x378]
test rcx, rcx
je 0x348a1
mov rcx, qword [rcx + 8]
call fcn.0002e378
add rsi, 2
add r12, 2
mov byte [rsi - 1], al
mov rax, qword [rdi + 0xe0]
mov rcx, qword [rax + 0x378]
test rcx, rcx
je 0x348c8
mov rcx, qword [rcx + 8]
mov rdx, qword [rdi + 0x58]
mov r8, qword [rdi + 0x28]
test rcx, rcx
je 0x34909
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], r8
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x28], rdx
lea rax, [rsi + 2]
lea r8, [rsp + 0x230]
mov edx, r13d
mov r9d, r15d
mov qword [rsp + 0x20], rax
call fcn.0001c940
mov ebx, eax
jmp 0x3490e
mov ebx, 0xffffd180
mov r8, rbp
test ebx, ebx
je 0x34927
lea rax, str.pk_sign
mov r9d, 0xadc
jmp 0x349e8
mov rcx, qword [rsp + 0x58]
mov r9d, 0xae4
mov edx, r14d
mov qword [rsp + 0x30], rcx
mov rax, rcx
shr rax, 8
mov byte [rsi], al
lea rax, [rsi + 2]
mov byte [rsi + 1], cl
mov qword [rsp + 0x28], rax
lea rax, str.my_signature
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.00044260
mov r11, qword [rsp + 0x58]
lea r12, [r12 + r11 + 2]
lea rax, [r12 + 4]
mov dword [rdi + 0x178], 0x16
mov rcx, rdi
mov qword [rdi + 0x180], rax
mov rax, qword [rdi + 0x170]
mov byte [rax], 0xc
inc dword [rdi]
call fcn.0002b240
mov ebx, eax
test eax, eax
je 0x349b3
mov dword [rsp + 0x28], eax
mov r9d, 0xaf5
lea rax, str.ssl_write_record
jmp 0x34508
lea rcx, str.__write_server_key_exchange
call fcn.00044148
jmp 0x34a18
lea rcx, str.got_no_private_key
call fcn.00044148
mov eax, 0xffff8a00
jmp 0x34a1a
lea rax, str.mpi_copy
mov r9d, 0x9ef
lea r8, str.f:driver_
mov dword [rsp + 0x28], ebx
mov rcx, rdi
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.00044190
mov eax, ebx
jmp 0x34a1a
mov rcx, rdi
call fcn.00034168
lea rcx, str.__skip_write_server_key_exchange
call fcn.00044148
inc dword [rdi]
xor eax, eax
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.0005cf80
lea r11, [rsp + 0x280]
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