Function at 0x1400969e0
Capabilities:
Hash data using sha256

Disassembly:
mov r11, rsp
push rbp
push rbx
push rdi
push r15
lea rbp, [r11 - 0x1a8]
sub rsp, 0x288
mov rax, qword [0x14012d240]
xor rax, rsp
mov qword [rbp + 0x160], rax
mov qword [r11 + 0x20], rsi
xorps xmm0, xmm0
mov qword [r11 - 0x28], r12
xor r15d, r15d
mov qword [r11 - 0x30], r13
mov r13, rdx
mov byte [rcx + 0x4d6], 0
mov rdi, rcx
mov qword [rbp - 0x48], rdx
mov edx, dword [r8]
mov qword [r11 - 0x38], r14
mov qword [rbp - 0x40], r8
mov byte [rcx + 0x4d6], 1
movups xmmword [rbp - 0x68], xmm0
mov dword [rbp - 0x64], edx
mov word [rbp - 0x5c], 2
movups xmmword [rbp - 0x78], xmm0
movups xmmword [rbp - 0x58], xmm0
cmp r9d, 2
jb 0x140097395
movzx r12d, byte [rdx + r13]
movzx ecx, byte [rdx + r13 + 1]
cmp r12b, 8
je 0x140096a79
mov byte [rbp - 0x5c], r12b
movzx r14d, cl
mov byte [rbp - 0x5b], cl
jmp 0x140096a93
lea eax, [rcx - 4]
cmp al, 2
ja 0x140097407
movzx r14d, r12b
mov byte [rbp - 0x5b], r12b
movzx r12d, cl
mov byte [rbp - 0x5c], cl
lea r8d, [rdx + 2]
mov ebx, r15d
cmp r9d, 4
jb 0x140097395
movzx eax, byte [r8 + r13]
movzx ecx, byte [r8 + r13 + 1]
shl ax, 8
or cx, ax
movzx r15d, cx
lea ecx, [r8 + 2]
mov eax, r15d
mov dword [rbp - 0x80], r15d
sub eax, edx
mov word [rbp - 0x6c], r15w
add eax, ecx
mov dword [rbp - 0x64], ecx
cmp eax, r9d
ja 0x140097392
mov eax, 0x200
cmp r15w, ax
ja 0x140097392
cmp r14b, 3
jne 0x140096b06
cmp qword [rdi + 0x5b0], 0
je 0x140097388
cmp byte [rdi + 0x5ba], 0
jmp 0x140096b77
cmp r14b, 1
jne 0x140096b58
mov ebx, 0xfffffe57
xor r15d, r15d
mov rcx, qword [rbp - 0x58]
mov r14, qword [rsp + 0x270]
mov r13, qword [rsp + 0x278]
mov r12, qword [rsp + 0x280]
mov rsi, qword [rsp + 0x2c8]
test rcx, rcx
je 0x14009741a
mov rax, qword [0x1401dfe38]
test rax, rax
je 0x140097411
call rax
jmp 0x14009741a
cmp r14b, 8
jne 0x140097388
cmp qword [rdi + 0x540], 0
je 0x140097388
cmp byte [rdi + 0x548], 0
je 0x140097388
mov rax, qword [0x1401dfe48]
mov rcx, r15
test rax, rax
je 0x140096b90
call rax
jmp 0x140096b95
call fcn.1400d9d00
mov qword [rdi + 0x1c8], rax
test rax, rax
jne 0x140096bac
lea ebx, [rax - 0x7d]
xor r15d, r15d
jmp 0x14009739a
mov edx, dword [rbp - 0x64]
mov r8, r15
add rdx, r13
mov dword [rdi + 0x1d0], r15d
mov rcx, rax
call fcn.1400fc490
cmp byte [rdi + 0x5ba], 0
je 0x140096f68
mov rax, qword [0x1401dfe48]
mov ecx, 0xa2
test rax, rax
je 0x140096be6
call rax
jmp 0x140096beb
call fcn.1400d9d00
mov qword [rbp - 0x58], rax
mov rsi, rax
test rax, rax
jne 0x140096c02
lea ebx, [rax - 0x7d]
xor r15d, r15d
jmp 0x14009739a
movzx eax, word [rdi + 0x4c4]
movdqa xmm0, xmmword [str.________________6666666666666666]
movups xmmword [rsi], xmm0
shr eax, 6
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x30], xmm0
and eax, 3
jne 0x140096c47
movups xmm0, xmmword [str.TLS_1.3__client_CertificateVerify]
movups xmmword [rsi + 0x40], xmm0
movups xmm1, xmmword [0x14010ecb0]
movups xmmword [rsi + 0x50], xmm1
movzx eax, word [0x14010ecc0]
jmp 0x140096c69
cmp eax, 1
jne 0x140096c6d
movups xmm0, xmmword [str.TLS_1.3__server_CertificateVerify]
movups xmmword [rsi + 0x40], xmm0
movups xmm1, xmmword [0x14010ed30]
movups xmmword [rsi + 0x50], xmm1
movzx eax, word [0x14010ed40]
mov word [rsi + 0x60], ax
movzx ecx, byte [rdi + 0x306]
lea rdx, [rsi + 0x62]
xor r15d, r15d
mov ebx, r15d
sub ecx, 4
je 0x140096dd8
cmp ecx, 1
jne 0x140096caf
mov rcx, qword [rdi + 0x78]
add rcx, 0x2b0
call fcn.1400b4380
mov ebx, eax
test eax, eax
jne 0x140096ca7
mov ebx, 0x30
test ebx, ebx
js 0x140097377
add bx, 0x62
movzx ecx, r12b
movzx r8d, bx
mov ebx, 0xffffff53
mov edx, r15d
sub ecx, 4
je 0x140096ee9
sub ecx, 1
je 0x140096dfa
cmp ecx, 1
jne 0x140096f52
movdqa xmm0, xmmword [0x140116a00]
lea rcx, [rbp - 0x30]
movdqa xmm1, xmmword [0x1401169f0]
movabs rax, 0xbb67ae8584caa73b
movdqa xmmword [rbp - 0x20], xmm0
movabs r13, 0x6a09e667f3bcc908
movdqa xmm0, xmmword [0x140116960]
mov rdx, rsi
movdqa xmmword [rbp], xmm0
mov qword [rbp + 0xa8], r15
mov qword [rbp - 0x30], r13
mov qword [rbp - 0x28], rax
movdqa xmmword [rbp - 0x10], xmm1
mov dword [rbp + 0x90], r15d
mov qword [rbp + 0x98], r15
mov qword [rbp + 0xa0], r15
call fcn.1400b3d10
mov ebx, eax
test eax, eax
jne 0x140096dce
lea rcx, [rbp - 0x30]
call fcn.1400b3eb0
mov ebx, eax
test eax, eax
jne 0x140096dce
movaps xmm0, xmmword [rbp - 0x30]
movabs rax, 0xbb67ae8584caa73b
movaps xmm1, xmmword [rbp - 0x20]
mov ebx, r15d
movups xmmword [rsi], xmm0
mov qword [rbp - 0x30], r13
movaps xmm0, xmmword [rbp - 0x10]
movups xmmword [rsi + 0x10], xmm1
mov qword [rbp - 0x28], rax
movaps xmm1, xmmword [rbp]
movups xmmword [rsi + 0x20], xmm0
mov dword [rbp + 0x90], r15d
movdqa xmm0, xmmword [0x140116a00]
movdqa xmmword [rbp - 0x20], xmm0
movdqa xmm0, xmmword [0x140116960]
movups xmmword [rsi + 0x30], xmm1
mov qword [rbp + 0x98], r15
movdqa xmm1, xmmword [0x1401169f0]
movdqa xmmword [rbp], xmm0
movdqa xmmword [rbp - 0x10], xmm1
mov qword [rbp + 0xa0], r15
mov edx, 0x40
jmp 0x140096f52
mov rcx, qword [rdi + 0x78]
add rcx, 0x238
call fcn.1400bedb0
mov ebx, eax
test eax, eax
jne 0x140096ca7
lea ebx, [rax + 0x20]
jmp 0x140096caf
movdqa xmm0, xmmword [0x1401168b0]
lea rcx, [rbp - 0x30]
movdqa xmm1, xmmword [0x1401169d0]
movabs rax, 0x629a292a367cd507
movdqa xmmword [rbp - 0x20], xmm0
movabs r13, 0xcbbb9d5dc1059ed8
movdqa xmm0, xmmword [0x140116950]
mov rdx, rsi
movdqa xmmword [rbp], xmm0
mov qword [rbp + 0xa8], r15
mov qword [rbp - 0x30], r13
mov qword [rbp - 0x28], rax
movdqa xmmword [rbp - 0x10], xmm1
mov dword [rbp + 0x90], r15d
mov qword [rbp + 0x98], r15
mov qword [rbp + 0xa0], r15
call fcn.1400b3d10
mov ebx, eax
test eax, eax
jne 0x140096ee2
lea rcx, [rbp - 0x30]
call fcn.1400b3eb0
mov ebx, eax
test eax, eax
jne 0x140096ee2
movaps xmm0, xmmword [rbp - 0x30]
movabs rax, 0x629a292a367cd507
movaps xmm1, xmmword [rbp - 0x20]
mov ebx, r15d
movups xmmword [rsi], xmm0
mov qword [rbp - 0x30], r13
movaps xmm0, xmmword [rbp - 0x10]
movups xmmword [rsi + 0x10], xmm1
mov qword [rbp - 0x28], rax
movdqa xmm1, xmmword [0x1401169d0]
movups xmmword [rsi + 0x20], xmm0
mov dword [rbp + 0x90], r15d
movdqa xmm0, xmmword [0x1401168b0]
movdqa xmmword [rbp - 0x20], xmm0
movdqa xmm0, xmmword [0x140116950]
movdqa xmmword [rbp], xmm0
movdqa xmmword [rbp - 0x10], xmm1
mov qword [rbp + 0x98], r15
mov qword [rbp + 0xa0], r15
mov edx, 0x30
jmp 0x140096f52
mov rdx, rsi
mov dword [rbp - 0x30], 0x6a09e667
lea rcx, [rbp - 0x30]
mov dword [rbp - 0x2c], 0xbb67ae85
mov dword [rbp - 0x28], 0x3c6ef372
mov dword [rbp - 0x24], 0xa54ff53a
mov dword [rbp - 0x20], 0x510e527f
mov dword [rbp - 0x1c], 0x9b05688c
mov dword [rbp - 0x18], 0x1f83d9ab
mov dword [rbp - 0x14], 0x5be0cd19
mov qword [rbp + 0x30], r15
mov dword [rbp + 0x38], r15d
mov qword [rbp + 0x40], r15
call fcn.1400be2b0
mov ebx, eax
test eax, eax
jne 0x140096f4d
mov rdx, rsi
lea rcx, [rbp - 0x30]
call fcn.1400bec50
mov ebx, eax
mov edx, 0x20
test ebx, ebx
cmove ebx, edx
test ebx, ebx
js 0x14009736c
mov word [rbp - 0x50], bx
mov ebx, r15d
jmp 0x140096f6b
xor r15d, r15d
mov r8, qword [rdi + 0x540]
mov r13d, 8
mov byte [rdi + 0x4d6], 2
test r8, r8
je 0x140096fc0
cmp byte [rdi + 0x548], 0
je 0x140096fc0
mov r10d, dword [rdi + 0x1d0]
mov r11, qword [rdi + 0x1c8]
cmp r14b, r13b
jne 0x140097065
movzx ecx, r12b
sub ecx, 4
je 0x140097035
sub ecx, 1
je 0x14009702b
cmp ecx, 1
je 0x140097021
mov ebx, 0xffffff53
mov ecx, dword [rbp - 0x80]
cmp byte [rdi + 0x5ba], 0
je 0x14009713a
movzx r9d, word [rbp - 0x50]
lea rsi, [rdi + 0x5b0]
mov rax, qword [rsi]
lea r15, [rdi + 0x58c]
mov r8, qword [rbp - 0x58]
movzx edx, cx
mov ecx, dword [rbp - 0x64]
add rcx, qword [rbp - 0x48]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
call fcn.14009fcb0
mov ebx, eax
test eax, eax
jne 0x1400970e4
cmp dword [r15], eax
je 0x1400970d7
xor r15d, r15d
mov ebx, r15d
jmp 0x1400970ed
mov ecx, r13d
mov edx, 3
jmp 0x14009703f
mov ecx, 7
lea edx, [rcx - 5]
jmp 0x14009703f
mov ecx, 6
mov edx, 1
mov rax, qword [r8 + 0x20a0]
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x68], 0xffffffff
mov dword [rsp + 0x50], edx
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x40], 2
jmp 0x140097085
mov rax, qword [r8 + 0x20a0]
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x68], r15d
mov dword [rsp + 0x50], r15d
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x40], r15d
mov byte [rsp + 0x38], 1
lea rax, [rbp - 0x78]
mov dword [rsp + 0x30], 1
mov r9d, r10d
mov qword [rsp + 0x28], r8
mov edx, r10d
mov r8, r11
mov qword [rsp + 0x20], rax
mov rcx, r11
call fcn.1400b6df0
movzx ecx, word [rbp - 0x6c]
mov ebx, eax
movzx r14d, byte [rbp - 0x5b]
movzx r12d, byte [rbp - 0x5c]
mov dword [rbp - 0x80], ecx
test eax, eax
js 0x140096fc3
mov dword [rbp - 0x70], eax
mov ebx, r15d
jmp 0x140096fc3
mov ebx, 0xfffffeb6
xor r15d, r15d
jmp 0x14009739a
js 0x140097374
xor r15d, r15d
or word [rdi + 0x4ca], 0x20
test rsi, rsi
je 0x140097131
mov rcx, qword [rsi]
test rcx, rcx
je 0x140097131
call fcn.14009f040
mov rcx, qword [rsi]
test rcx, rcx
je 0x14009712e
mov rax, qword [0x1401dfe38]
test rax, rax
je 0x140097129
call rax
mov qword [rsi], r15
mov byte [rdi + 0x5ba], 0
jmp 0x14009713d
call fcn.1400d9054
mov qword [rsi], r15
mov byte [rdi + 0x5ba], 0
jmp 0x14009713d
xor r15d, r15d
test ebx, ebx
jne 0x140097377
cmp qword [rdi + 0x540], 0
mov byte [rdi + 0x4d6], 3
je 0x140097330
cmp byte [rdi + 0x548], bl
je 0x140097330
movdqa xmm0, xmmword [str.________________6666666666666666]
movzx eax, word [rdi + 0x4c4]
movzx esi, r12b
movzx r14d, r14b
movups xmmword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xd0], xmm0
movups xmmword [rbp + 0xe0], xmm0
test al, 0xc0
jne 0x1400971b4
movups xmm0, xmmword [str.TLS_1.3__client_CertificateVerify]
movzx eax, word [0x14010ecc0]
movups xmm1, xmmword [0x14010ecb0]
jmp 0x1400971cf
and al, 0xc0
cmp al, 0x40
jne 0x1400971e4
movups xmm0, xmmword [str.TLS_1.3__server_CertificateVerify]
movzx eax, word [0x14010ed40]
movups xmm1, xmmword [0x14010ed30]
mov word [rbp + 0x110], ax
movaps xmmword [rbp + 0x100], xmm1
movaps xmmword [rbp + 0xf0], xmm0
movzx edx, byte [rdi + 0x306]
xor r15d, r15d
mov ecx, r15d
sub edx, 4
je 0x140097228
cmp edx, 1
jne 0x14009721d
mov rcx, qword [rdi + 0x78]
lea rdx, [rbp + 0x112]
add rcx, 0x2b0
call fcn.1400b4380
mov ecx, eax
test eax, eax
jne 0x14009721d
mov ecx, 0x30
mov ebx, ecx
test ecx, ecx
js 0x140097251
lea edx, [rcx + 0x62]
jmp 0x140097255
mov rcx, qword [rdi + 0x78]
lea rdx, [rbp + 0x112]
add rcx, 0x238
call fcn.1400bedb0
mov ecx, eax
test eax, eax
jne 0x14009721d
mov ecx, 0x20
mov ebx, ecx
lea edx, [rcx + 0x62]
jmp 0x140097255
movzx edx, word [rbp - 0x80]
test ecx, ecx
cmovns ebx, r15d
test ebx, ebx
jne 0x140097377
cmp r14d, r13d
jne 0x1400972e0
mov ecx, esi
sub ecx, 4
je 0x14009728b
sub ecx, 1
je 0x140097283
cmp ecx, 1
je 0x140097291
mov ebx, 0xffffff53
jmp 0x14009739a
mov r13d, 7
jmp 0x140097291
mov r13d, 6
movzx r8d, dx
lea rcx, [rbp + 0xb0]
lea rdx, [rbp + 0xb0]
mov dword [rsp + 0x20], esi
call fcn.140095070
mov ebx, eax
test eax, eax
js 0x140097377
mov r9d, dword [rbp - 0x70]
lea rcx, [rbp + 0xb0]
mov r8, qword [rbp - 0x78]
mov edx, eax
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], 0xffffffff
mov dword [rsp + 0x20], r13d
call fcn.1400b7220
mov ebx, eax
test ebx, ebx
jne 0x140097377
lea rsi, [rdi + 0x540]
mov byte [rdi + 0x548], r15b
test rsi, rsi
je 0x140097328
mov rcx, qword [rsi]
test rcx, rcx
je 0x140097328
call fcn.1400b45c0
mov rcx, qword [rsi]
test rcx, rcx
je 0x140097325
mov rax, qword [0x1401dfe38]
test rax, rax
je 0x140097320
call rax
jmp 0x140097325
call fcn.1400d9054
mov qword [rsi], r15
or word [rdi + 0x4ca], 0x20
or word [rdi + 0x4c8], 2
mov rdx, qword [rbp - 0x40]
movzx eax, word [rbp - 0x80]
mov ecx, dword [rbp - 0x64]
add ecx, eax
mov dword [rdx], ecx
add ecx, dword [rdi + 0x4b4]
mov dword [rdx], ecx
movzx eax, byte [rdi + 0x4c4]
and al, 0xc0
mov byte [rdi + 0x4d6], 5
cmp al, 0x40
jne 0x14009736a
mov byte [rdi + 0x4cf], 6
test ebx, ebx
je 0x140096b14
jmp 0x140097377
xor r15d, r15d
cmp ebx, 0xfffffe57
je 0x140096b14
xor r15d, r15d
jmp 0x14009739a
mov ebx, 0xffffff1b
xor r15d, r15d
jmp 0x14009739a
xor r15d, r15d
mov ebx, 0xfffffeb8
mov edx, dword [rdi + 0x2cc]
test edx, edx
je 0x1400973f1
mov r8d, dword [rdi + 0x2c8]
mov rcx, rdi
mov qword [rdi + 0x2c8], 0
call fcn.140085420
test eax, eax
je 0x1400973f1
test r15b, r15b
jne 0x140096b11
cmp dword [rdi + 0x2cc], 2
je 0x140096b11
mov dword [rdi + 0x2c8], 0x33
mov dword [rdi + 0x2cc], 2
jmp 0x140096b11
mov edx, 2
mov rcx, rdi
lea r8d, [rdx + 0x31]
call fcn.140085420
jmp 0x140096b11
mov ebx, 0xfffffe57
jmp 0x140096b14
mov rcx, qword [rbp - 0x58]
call fcn.1400d9054
mov rcx, rdi
call fcn.140076c60
mov rdx, qword [rdi + 0xe8]
test rdx, rdx
je 0x140097449
mov rax, qword [rdx]
test rax, rax
je 0x140097449
add rdx, 8
mov rcx, rdi
call rax
mov rcx, qword [rdi + 0xe8]
mov qword [rcx], r15
mov eax, ebx
mov rcx, qword [rbp + 0x160]
xor rcx, rsp
call fcn.1400d0cb0
add rsp, 0x288
pop r15
pop rdi
pop rbx
pop rbp
ret