Function at 0x140090870
Capabilities:
Hash data using sha256

Disassembly:
mov r11, rsp
push rbp
push rbx
push rsi
push rdi
lea rbp, [r11 - 0x1a8]
sub rsp, 0x288
mov rax, qword [0x140123218]
xor rax, rsp
mov qword [rbp + 0x160], rax
mov rax, r8
mov qword [r11 + 0x20], r12
xorps xmm0, xmm0
mov qword [r11 - 0x28], r13
mov byte [rcx + 0x4d6], 0
xor esi, esi
mov qword [r11 - 0x30], r14
mov r8, rdx
mov qword [r11 - 0x38], r15
mov rdi, rcx
mov r15d, dword [rax]
mov qword [rbp - 0x48], rdx
mov edx, r15d
mov qword [rbp - 0x40], rax
mov byte [rcx + 0x4d6], 1
movups xmmword [rbp - 0x68], xmm0
mov word [rbp - 0x5c], 2
movups xmmword [rbp - 0x78], xmm0
movups xmmword [rbp - 0x58], xmm0
cmp r9d, 2
jb 0x1400911bc
movzx r13d, byte [r15 + r8]
movzx ecx, byte [r15 + r8 + 1]
cmp r13b, 8
je 0x14009090a
mov byte [rbp - 0x5c], r13b
movzx r14d, cl
mov byte [rbp - 0x5b], cl
jmp 0x140090924
lea eax, [rcx - 4]
cmp al, 2
ja 0x1400909a1
movzx r14d, r13b
mov byte [rbp - 0x5b], r13b
movzx r13d, cl
mov byte [rbp - 0x5c], cl
lea eax, [r15 + 2]
mov ebx, esi
cmp r9d, 4
jb 0x1400911bc
movzx ecx, byte [rax + r8 + 1]
add r15d, 4
movzx eax, byte [rax + r8]
shl ax, 8
or cx, ax
mov dword [rbp - 0x7c], r15d
movzx r12d, cx
mov eax, r12d
mov dword [rbp - 0x80], r12d
sub eax, edx
mov word [rbp - 0x6c], r12w
add eax, r15d
mov dword [rbp - 0x64], r15d
cmp eax, r9d
ja 0x1400911bc
mov eax, 0x200
cmp r12w, ax
ja 0x1400911bc
cmp r14b, 3
jne 0x14009099b
cmp qword [rdi + 0x5b0], rsi
je 0x1400911b5
cmp byte [rdi + 0x5ba], sil
jmp 0x1400909c9
cmp r14b, 1
jne 0x1400909ab
mov ebx, 0xfffffe57
jmp 0x140091225
cmp r14b, 8
jne 0x1400911b5
cmp qword [rdi + 0x540], rsi
je 0x1400911b5
cmp byte [rdi + 0x548], sil
je 0x1400911b5
mov rax, qword [0x1401ca558]
mov rcx, r12
test rax, rax
je 0x1400909e2
call rax
jmp 0x1400909e7
call fcn.1400d3938
mov qword [rdi + 0x1c8], rax
test rax, rax
jne 0x1400909fb
lea ebx, [rax - 0x7d]
jmp 0x1400911c1
mov edx, r15d
mov r8, r12
add rdx, qword [rbp - 0x48]
mov rcx, rax
mov dword [rdi + 0x1d0], r12d
call fcn.1400cd4d0
cmp byte [rdi + 0x5ba], sil
je 0x140090db5
mov rax, qword [0x1401ca558]
mov ecx, 0xa2
test rax, rax
je 0x140090a36
call rax
jmp 0x140090a3b
call fcn.1400d3938
mov qword [rbp - 0x58], rax
mov rsi, rax
test rax, rax
jne 0x140090a4f
lea ebx, [rax - 0x7d]
jmp 0x1400911c1
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 0x140090a94
movups xmm0, xmmword [str.TLS_1.3__client_CertificateVerify]
movups xmmword [rsi + 0x40], xmm0
movups xmm1, xmmword [0x1401057b0]
movups xmmword [rsi + 0x50], xmm1
movzx eax, word [0x1401057c0]
jmp 0x140090ab6
cmp eax, 1
jne 0x140090aba
movups xmm0, xmmword [str.TLS_1.3__server_CertificateVerify]
movups xmmword [rsi + 0x40], xmm0
movups xmm1, xmmword [0x140105808]
movups xmmword [rsi + 0x50], xmm1
movzx eax, word [0x140105818]
mov word [rsi + 0x60], ax
movzx ecx, byte [rdi + 0x306]
lea rdx, [rsi + 0x62]
xor r15d, r15d
mov ebx, r15d
sub ecx, 4
je 0x140090c25
cmp ecx, 1
jne 0x140090afc
mov rcx, qword [rdi + 0x78]
add rcx, 0x2b0
call fcn.1400ae580
mov ebx, eax
test eax, eax
jne 0x140090af4
mov ebx, 0x30
test ebx, ebx
js 0x1400911ab
add bx, 0x62
movzx ecx, r13b
movzx r8d, bx
mov ebx, 0xffffff53
mov edx, r15d
sub ecx, 4
je 0x140090d36
sub ecx, 1
je 0x140090c47
cmp ecx, 1
jne 0x140090d9f
movdqa xmm0, xmmword [0x14010d460]
lea rcx, [rbp - 0x30]
movdqa xmm1, xmmword [0x14010d450]
movabs rax, 0xbb67ae8584caa73b
movdqa xmmword [rbp - 0x20], xmm0
movabs r12, 0x6a09e667f3bcc908
movdqa xmm0, xmmword [0x14010d3d0]
mov rdx, rsi
movdqa xmmword [rbp], xmm0
mov qword [rbp + 0xa8], r15
mov qword [rbp - 0x30], r12
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.1400adf10
mov ebx, eax
test eax, eax
jne 0x140090c1b
lea rcx, [rbp - 0x30]
call fcn.1400ae0b0
mov ebx, eax
test eax, eax
jne 0x140090c1b
movaps xmm0, xmmword [rbp - 0x30]
movabs rax, 0xbb67ae8584caa73b
movaps xmm1, xmmword [rbp - 0x20]
mov ebx, r15d
movups xmmword [rsi], xmm0
mov qword [rbp - 0x30], r12
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 [0x14010d460]
movdqa xmmword [rbp - 0x20], xmm0
movdqa xmm0, xmmword [0x14010d3d0]
movups xmmword [rsi + 0x30], xmm1
mov qword [rbp + 0x98], r15
movdqa xmm1, xmmword [0x14010d450]
movdqa xmmword [rbp], xmm0
movdqa xmmword [rbp - 0x10], xmm1
mov qword [rbp + 0xa0], r15
mov edx, 0x40
jmp 0x140090d9f
mov rcx, qword [rdi + 0x78]
add rcx, 0x238
call fcn.1400b8f90
mov ebx, eax
test eax, eax
jne 0x140090af4
lea ebx, [rax + 0x20]
jmp 0x140090afc
movdqa xmm0, xmmword [0x14010d2b0]
lea rcx, [rbp - 0x30]
movdqa xmm1, xmmword [0x14010d430]
movabs rax, 0x629a292a367cd507
movdqa xmmword [rbp - 0x20], xmm0
movabs r12, 0xcbbb9d5dc1059ed8
movdqa xmm0, xmmword [0x14010d3c0]
mov rdx, rsi
movdqa xmmword [rbp], xmm0
mov qword [rbp + 0xa8], r15
mov qword [rbp - 0x30], r12
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.1400adf10
mov ebx, eax
test eax, eax
jne 0x140090d2f
lea rcx, [rbp - 0x30]
call fcn.1400ae0b0
mov ebx, eax
test eax, eax
jne 0x140090d2f
movaps xmm0, xmmword [rbp - 0x30]
movabs rax, 0x629a292a367cd507
movaps xmm1, xmmword [rbp - 0x20]
mov ebx, r15d
movups xmmword [rsi], xmm0
mov qword [rbp - 0x30], r12
movaps xmm0, xmmword [rbp - 0x10]
movups xmmword [rsi + 0x10], xmm1
mov qword [rbp - 0x28], rax
movdqa xmm1, xmmword [0x14010d430]
movups xmmword [rsi + 0x20], xmm0
mov dword [rbp + 0x90], r15d
movdqa xmm0, xmmword [0x14010d2b0]
movdqa xmmword [rbp - 0x20], xmm0
movdqa xmm0, xmmword [0x14010d3c0]
movdqa xmmword [rbp], xmm0
movdqa xmmword [rbp - 0x10], xmm1
mov qword [rbp + 0x98], r15
mov qword [rbp + 0xa0], r15
mov edx, 0x30
jmp 0x140090d9f
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.1400b8490
mov ebx, eax
test eax, eax
jne 0x140090d9a
mov rdx, rsi
lea rcx, [rbp - 0x30]
call fcn.1400b8e30
mov ebx, eax
mov edx, 0x20
test ebx, ebx
cmove ebx, edx
test ebx, ebx
js 0x1400911a9
mov word [rbp - 0x50], bx
mov ebx, r15d
jmp 0x140090db8
xor r15d, r15d
lea r12, [rdi + 0x540]
mov byte [rdi + 0x4d6], 2
mov r8, qword [r12]
test r8, r8
je 0x140090e08
cmp byte [rdi + 0x548], 0
je 0x140090e08
mov r10d, dword [rdi + 0x1d0]
mov r11, qword [rdi + 0x1c8]
cmp r14b, 8
jne 0x140090ea7
movzx ecx, r13b
sub ecx, 4
je 0x140090e77
sub ecx, 1
je 0x140090e6d
cmp ecx, 1
je 0x140090e63
mov ebx, 0xffffff53
mov ecx, dword [rbp - 0x7c]
mov edx, dword [rbp - 0x80]
cmp byte [rdi + 0x5ba], 0
je 0x140090f74
movzx r9d, word [rbp - 0x50]
lea rsi, [rdi + 0x5b0]
mov rax, qword [rsi]
lea r15, [rdi + 0x58c]
add rcx, qword [rbp - 0x48]
mov r8, qword [rbp - 0x58]
mov qword [rsp + 0x28], rax
movzx edx, dx
mov qword [rsp + 0x20], r15
call fcn.140099bd0
mov ebx, eax
test eax, eax
jne 0x140090f29
cmp dword [r15], eax
je 0x140090f1f
jmp 0x140090f2f
mov ecx, 8
lea edx, [rcx - 5]
jmp 0x140090e81
mov ecx, 7
lea edx, [rcx - 5]
jmp 0x140090e81
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 0x140090ec7
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.1400b1000
mov ecx, dword [rbp - 0x64]
mov ebx, eax
movzx edx, word [rbp - 0x6c]
movzx r14d, byte [rbp - 0x5b]
movzx r13d, byte [rbp - 0x5c]
mov dword [rbp - 0x7c], ecx
mov dword [rbp - 0x80], edx
test eax, eax
js 0x140090e0e
mov dword [rbp - 0x70], eax
mov ebx, r15d
jmp 0x140090e0e
mov ebx, 0xfffffeb6
jmp 0x1400911c1
js 0x1400911ab
or word [rdi + 0x4ca], 0x20
test rsi, rsi
je 0x140090f6d
mov rcx, qword [rsi]
test rcx, rcx
je 0x140090f6d
call fcn.140098f40
mov rcx, qword [rsi]
test rcx, rcx
je 0x140090f66
mov rax, qword [0x1401ca548]
test rax, rax
je 0x140090f61
call rax
jmp 0x140090f66
call fcn.1400d2c8c
mov qword [rsi], 0
mov byte [rdi + 0x5ba], 0
test ebx, ebx
jne 0x1400911ab
cmp qword [r12], 0
mov byte [rdi + 0x4d6], 3
je 0x14009116d
cmp byte [rdi + 0x548], bl
je 0x14009116d
movdqa xmm0, xmmword [str.________________6666666666666666]
movzx eax, word [rdi + 0x4c4]
movzx esi, r13b
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 0x140090fe8
movups xmm0, xmmword [str.TLS_1.3__client_CertificateVerify]
movzx eax, word [0x1401057c0]
movups xmm1, xmmword [0x1401057b0]
jmp 0x140091003
and al, 0xc0
cmp al, 0x40
jne 0x140091018
movups xmm0, xmmword [str.TLS_1.3__server_CertificateVerify]
movzx eax, word [0x140105818]
movups xmm1, xmmword [0x140105808]
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 0x14009105c
cmp edx, 1
jne 0x140091051
mov rcx, qword [rdi + 0x78]
lea rdx, [rbp + 0x112]
add rcx, 0x2b0
call fcn.1400ae580
mov ecx, eax
test eax, eax
jne 0x140091051
mov ecx, 0x30
mov ebx, ecx
test ecx, ecx
js 0x140091085
lea edx, [rcx + 0x62]
jmp 0x140091089
mov rcx, qword [rdi + 0x78]
lea rdx, [rbp + 0x112]
add rcx, 0x238
call fcn.1400b8f90
mov ecx, eax
test eax, eax
jne 0x140091051
mov ecx, 0x20
mov ebx, ecx
lea edx, [rcx + 0x62]
jmp 0x140091089
movzx edx, word [rbp - 0x80]
test ecx, ecx
cmovns ebx, r15d
test ebx, ebx
jne 0x1400911ab
cmp r14d, 8
jne 0x140091121
mov ecx, esi
sub ecx, 4
je 0x1400910cc
sub ecx, 1
je 0x1400910c4
cmp ecx, 1
je 0x1400910bc
mov ebx, 0xffffff53
jmp 0x1400911c4
mov r14d, 8
jmp 0x1400910d2
mov r14d, 7
jmp 0x1400910d2
mov r14d, 6
movzx r8d, dx
lea rcx, [rbp + 0xb0]
lea rdx, [rbp + 0xb0]
mov dword [rsp + 0x20], esi
call fcn.14008ef40
mov ebx, eax
test eax, eax
js 0x1400911ab
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], r14d
call fcn.1400b1430
mov ebx, eax
test ebx, ebx
jne 0x1400911ab
mov byte [rdi + 0x548], r15b
test r12, r12
je 0x140091165
mov rcx, qword [r12]
test rcx, rcx
je 0x140091165
call fcn.1400ae7c0
mov rcx, qword [r12]
test rcx, rcx
je 0x140091161
mov rax, qword [0x1401ca548]
test rax, rax
je 0x14009115c
call rax
jmp 0x140091161
call fcn.1400d2c8c
mov qword [r12], 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 - 0x7c]
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 0x1400911a7
mov byte [rdi + 0x4cf], 6
test ebx, ebx
je 0x140091223
cmp ebx, 0xfffffe57
je 0x140091223
jmp 0x1400911c1
mov ebx, 0xffffff1b
jmp 0x1400911c1
mov ebx, 0xfffffeb8
xor r15d, r15d
mov edx, dword [rdi + 0x2cc]
test edx, edx
je 0x140091212
mov r8d, dword [rdi + 0x2c8]
mov rcx, rdi
mov qword [rdi + 0x2c8], 0
call fcn.14007f3c0
test eax, eax
je 0x140091212
test r15b, r15b
jne 0x140091223
xor esi, esi
cmp dword [rdi + 0x2cc], 2
je 0x140091225
mov dword [rdi + 0x2c8], 0x33
mov dword [rdi + 0x2cc], 2
jmp 0x140091225
mov edx, 2
mov rcx, rdi
lea r8d, [rdx + 0x31]
call fcn.14007f3c0
xor esi, esi
mov rcx, qword [rbp - 0x58]
mov r15, qword [rsp + 0x270]
mov r14, qword [rsp + 0x278]
mov r13, qword [rsp + 0x280]
mov r12, qword [rsp + 0x2c8]
test rcx, rcx
je 0x140091267
mov rax, qword [0x1401ca548]
test rax, rax
je 0x14009125e
call rax
jmp 0x140091267
mov rcx, qword [rbp - 0x58]
call fcn.1400d2c8c
mov rcx, rdi
call fcn.140070b80
mov rdx, qword [rdi + 0xe8]
test rdx, rdx
je 0x140091296
mov rax, qword [rdx]
test rax, rax
je 0x140091296
add rdx, 8
mov rcx, rdi
call rax
mov rcx, qword [rdi + 0xe8]
mov qword [rcx], rsi
mov eax, ebx
mov rcx, qword [rbp + 0x160]
xor rcx, rsp
call fcn.1400cad70
add rsp, 0x288
pop rdi
pop rsi
pop rbx
pop rbp
ret