Function at 0x140091e10
Capabilities:
Hash data using sha256

Disassembly:
mov r11, rsp
push rbp
push rbx
push rdi
lea rbp, [r11 - 0x198]
sub rsp, 0x280
mov rax, qword [0x1400bf040]
xor rax, rsp
mov qword [rbp + 0x150], rax
mov qword [r11 + 0x20], rsi
xorps xmm0, xmm0
mov qword [r11 - 0x20], r12
mov r10d, r9d
mov qword [r11 - 0x28], r13
mov r12, rdx
mov byte [rcx + 0x4fc], 0
mov rdi, rcx
movups xmmword [rbp - 0x70], xmm0
mov qword [r11 - 0x30], r14
mov qword [r11 - 0x38], r15
xor r15d, r15d
mov qword [rbp - 0x48], r8
mov word [rcx + 0x4f3], 2
mov r8d, dword [r8]
mov dword [rbp - 0x6c], r8d
mov dword [rbp - 0x68], r8d
mov byte [rcx + 0x4fc], 1
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x60], xmm0
cmp r9d, 2
jb 0x1400927f8
lea rcx, [rdx + r8]
movzx edx, byte [rdx + r8]
cmp dl, 8
je 0x140091eb4
mov byte [rdi + 0x4f3], dl
movzx edx, byte [rcx + 1]
mov byte [rdi + 0x4f4], dl
jmp 0x140091ed2
movzx eax, byte [rcx + 1]
sub al, 4
cmp al, 2
ja 0x14009285e
mov byte [rdi + 0x4f4], dl
movzx eax, byte [rcx + 1]
mov byte [rdi + 0x4f3], al
lea r9d, [r8 + 2]
mov dword [rbp - 0x6c], r9d
cmp r10d, 4
jb 0x1400927f8
movzx eax, byte [r9 + r12 + 1]
lea r13d, [r9 + 2]
movzx ecx, byte [r9 + r12]
shl cx, 8
or cx, ax
mov dword [rbp - 0x6c], r13d
movzx ebx, cx
mov eax, ebx
mov word [rbp - 0x74], bx
sub eax, r8d
add eax, r13d
cmp eax, r10d
ja 0x1400927f8
mov eax, 0x200
cmp bx, ax
ja 0x1400927f8
cmp dl, 3
jne 0x140091f69
cmp qword [rdi + 0x5d8], r15
je 0x140091f89
cmp byte [rdi + 0x5e2], r15b
je 0x140091f89
mov dword [rbp - 0x70], ebx
cmp qword [rdi + 0x568], r15
je 0x140091fc3
cmp byte [rdi + 0x570], r15b
je 0x140091fc3
mov rax, qword [0x1400c0348]
mov rcx, rbx
mov r14d, r13d
add r14, r12
test rax, rax
je 0x140091f93
call rax
jmp 0x140091f99
cmp dl, 1
je 0x14009285e
cmp dl, 8
jne 0x140091f89
cmp qword [rdi + 0x568], r15
je 0x140091f89
cmp byte [rdi + 0x570], r15b
jne 0x140091f3b
mov ebx, 0xffffff1b
jmp 0x1400927fd
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rdi + 0x1d0], rax
test rax, rax
jne 0x140091faf
mov ebx, 0xffffff83
jmp 0x1400927fd
mov r8, rbx
mov dword [rdi + 0x1d8], ebx
mov rdx, r14
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [0x1400c0348]
mov ecx, 0xa2
test rax, rax
je 0x140091fd8
call rax
jmp 0x140091fde
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rbp - 0x60], rax
mov rsi, rax
test rax, rax
jne 0x140091ff4
mov ebx, 0xffffff83
jmp 0x1400927fd
movzx eax, word [rdi + 0x4e4]
movdqa xmm2, xmmword [str.]
movups xmmword [rsi], xmm2
shr eax, 8
movups xmmword [rsi + 0x10], xmm2
movups xmmword [rsi + 0x20], xmm2
movups xmmword [rsi + 0x30], xmm2
and eax, 3
jne 0x140092039
movups xmm0, xmmword [str.TLS_1.3__client_CertificateVerify]
movups xmmword [rsi + 0x40], xmm0
movups xmm1, xmmword [0x1400abde8]
movups xmmword [rsi + 0x50], xmm1
movzx eax, word [0x1400abdf8]
jmp 0x14009205b
cmp eax, 1
jne 0x14009205f
movups xmm0, xmmword [str.TLS_1.3__server_CertificateVerify]
movups xmmword [rsi + 0x40], xmm0
movups xmm1, xmmword [0x1400abe58]
movups xmmword [rsi + 0x50], xmm1
movzx eax, word [0x1400abe68]
mov word [rsi + 0x60], ax
movzx ecx, byte [rdi + 0x324]
lea rdx, [rsi + 0x62]
mov ebx, r15d
sub ecx, 4
je 0x140092216
cmp ecx, 1
jne 0x1400920a9
mov rcx, qword [rdi + 0x80]
add rcx, 0x2b0
call fcn.140076ad0
mov ebx, eax
test eax, eax
jne 0x140092099
mov ebx, 0x30
test ebx, ebx
js 0x1400927eb
movdqa xmm2, xmmword [str.]
movzx eax, byte [rdi + 0x4f4]
add bx, 0x62
movzx edx, bx
mov ebx, r15d
mov word [rbp - 0x58], dx
cmp al, 3
jne 0x1400923e7
cmp byte [rdi + 0x5e2], bl
je 0x1400923e7
movzx ecx, byte [rdi + 0x4f3]
mov r8d, edx
mov edx, r15d
mov ebx, 0xffffff53
sub ecx, 4
je 0x140092343
sub ecx, 1
je 0x14009223d
cmp ecx, 1
jne 0x1400923c9
movdqa xmm0, xmmword [0x1400b18a0]
lea rcx, [rbp - 0x40]
movdqa xmm1, xmmword [0x1400b1890]
movabs rax, 0xbb67ae8584caa73b
movdqa xmmword [rbp - 0x30], xmm0
movabs r14, 0x6a09e667f3bcc908
movdqa xmm0, xmmword [0x1400b1810]
mov rdx, rsi
movdqa xmmword [rbp - 0x10], xmm0
mov qword [rbp + 0x98], r15
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x38], rax
movdqa xmmword [rbp - 0x20], xmm1
mov dword [rbp + 0x80], r15d
mov qword [rbp + 0x88], r15
mov qword [rbp + 0x90], r15
call fcn.140076420
mov ebx, eax
test eax, eax
jne 0x1400921ef
lea rcx, [rbp - 0x40]
call fcn.1400765c0
mov ebx, eax
test eax, eax
jne 0x1400921ef
movaps xmm0, xmmword [rbp - 0x40]
movabs rax, 0xbb67ae8584caa73b
movaps xmm1, xmmword [rbp - 0x30]
mov ebx, r15d
movups xmmword [rsi], xmm0
mov qword [rbp - 0x40], r14
movaps xmm0, xmmword [rbp - 0x20]
movups xmmword [rsi + 0x10], xmm1
mov qword [rbp - 0x38], rax
movaps xmm1, xmmword [rbp - 0x10]
movups xmmword [rsi + 0x20], xmm0
mov dword [rbp + 0x80], r15d
movdqa xmm0, xmmword [0x1400b18a0]
movdqa xmmword [rbp - 0x30], xmm0
movdqa xmm0, xmmword [0x1400b1810]
movups xmmword [rsi + 0x30], xmm1
mov qword [rbp + 0x88], r15
movdqa xmm1, xmmword [0x1400b1890]
movdqa xmmword [rbp - 0x10], xmm0
movdqa xmmword [rbp - 0x20], xmm1
mov qword [rbp + 0x90], r15
mov eax, 0xe0
lea rcx, [rbp - 0x40]
nop dword [rax + rax]
mov byte [rcx], r15b
lea rcx, [rcx + 1]
add eax, 0xffffffff
jne 0x140092200
mov edx, 0x40
jmp 0x1400923c1
mov rcx, qword [rdi + 0x80]
add rcx, 0x238
call fcn.140081f90
mov ebx, eax
test eax, eax
jne 0x140092099
mov ebx, 0x20
jmp 0x1400920a1
movdqa xmm0, xmmword [0x1400b1790]
lea rcx, [rbp - 0x40]
movdqa xmm1, xmmword [0x1400b1870]
movabs rax, 0x629a292a367cd507
movdqa xmmword [rbp - 0x30], xmm0
movabs r14, 0xcbbb9d5dc1059ed8
movdqa xmm0, xmmword [0x1400b1800]
mov rdx, rsi
movdqa xmmword [rbp - 0x10], xmm0
mov qword [rbp + 0x98], r15
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x38], rax
movdqa xmmword [rbp - 0x20], xmm1
mov dword [rbp + 0x80], r15d
mov qword [rbp + 0x88], r15
mov qword [rbp + 0x90], r15
call fcn.140076420
mov ebx, eax
test eax, eax
jne 0x140092325
lea rcx, [rbp - 0x40]
call fcn.1400765c0
mov ebx, eax
test eax, eax
jne 0x140092325
movaps xmm0, xmmword [rbp - 0x40]
movabs rax, 0x629a292a367cd507
movaps xmm1, xmmword [rbp - 0x30]
mov ebx, r15d
movups xmmword [rsi], xmm0
mov qword [rbp - 0x40], r14
movaps xmm0, xmmword [rbp - 0x20]
movups xmmword [rsi + 0x10], xmm1
mov qword [rbp - 0x38], rax
movdqa xmm1, xmmword [0x1400b1870]
movups xmmword [rsi + 0x20], xmm0
mov dword [rbp + 0x80], r15d
movdqa xmm0, xmmword [0x1400b1790]
movdqa xmmword [rbp - 0x30], xmm0
movdqa xmm0, xmmword [0x1400b1800]
movdqa xmmword [rbp - 0x10], xmm0
movdqa xmmword [rbp - 0x20], xmm1
mov qword [rbp + 0x88], r15
mov qword [rbp + 0x90], r15
mov eax, 0xe0
lea rcx, [rbp - 0x40]
nop
mov byte [rcx], r15b
lea rcx, [rcx + 1]
add eax, 0xffffffff
jne 0x140092330
mov edx, 0x30
jmp 0x1400923c1
mov rdx, rsi
mov dword [rbp - 0x40], 0x6a09e667
lea rcx, [rbp - 0x40]
mov dword [rbp - 0x3c], 0xbb67ae85
mov dword [rbp - 0x38], 0x3c6ef372
mov dword [rbp - 0x34], 0xa54ff53a
mov dword [rbp - 0x30], 0x510e527f
mov dword [rbp - 0x2c], 0x9b05688c
mov dword [rbp - 0x28], 0x1f83d9ab
mov dword [rbp - 0x24], 0x5be0cd19
mov qword [rbp + 0x20], r15
mov dword [rbp + 0x28], r15d
mov qword [rbp + 0x30], r15
call fcn.140081640
mov ebx, eax
test eax, eax
jne 0x1400923a7
mov rdx, rsi
lea rcx, [rbp - 0x40]
call fcn.140081e30
mov ebx, eax
mov eax, 0x78
lea rcx, [rbp - 0x40]
mov byte [rcx], r15b
lea rcx, [rcx + 1]
add eax, 0xffffffff
jne 0x1400923b0
mov edx, 0x20
movdqa xmm2, xmmword [str.]
test ebx, ebx
cmove ebx, edx
test ebx, ebx
js 0x1400927e9
movzx eax, byte [rdi + 0x4f4]
movzx edx, bx
mov word [rbp - 0x58], bx
mov ebx, r15d
mov r15d, r13d
add r15, r12
mov byte [rdi + 0x4fc], 2
mov r12d, 8
cmp al, r12b
jne 0x1400924d9
mov r8, qword [rdi + 0x568]
test r8, r8
je 0x1400924d9
cmp byte [rdi + 0x570], 0
je 0x1400924d9
movzx ecx, byte [rdi + 0x4f3]
mov r10d, dword [rdi + 0x1d8]
mov r11, qword [rdi + 0x1d0]
sub ecx, 4
je 0x140092464
sub ecx, 1
je 0x140092458
cmp ecx, 1
je 0x14009244e
mov ebx, 0xffffff53
jmp 0x1400924d9
mov ecx, r12d
mov edx, 3
jmp 0x14009246e
mov ecx, 7
mov edx, 2
jmp 0x14009246e
mov ecx, 6
mov edx, 1
mov rax, qword [r8 + 0x20a0]
mov r9d, r10d
mov qword [rsp + 0x70], rax
lea rax, [rbp - 0x80]
mov dword [rsp + 0x68], 0xffffffff
mov dword [rsp + 0x50], edx
mov edx, r10d
mov dword [rsp + 0x48], ecx
mov rcx, r11
mov dword [rsp + 0x40], 2
mov byte [rsp + 0x38], 1
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x28], r8
mov r8, r11
mov qword [rsp + 0x20], rax
call fcn.1400792e0
movzx edx, word [rbp - 0x58]
mov ebx, eax
mov r13d, dword [rbp - 0x6c]
movdqa xmm2, xmmword [str.]
test eax, eax
js 0x1400924d9
mov dword [rbp - 0x78], eax
xor ebx, ebx
cmp byte [rdi + 0x4f4], 3
jne 0x140092598
cmp byte [rdi + 0x5e2], 0
je 0x140092598
mov r8, qword [rbp - 0x60]
lea rsi, [rdi + 0x5d8]
mov rax, qword [rsi]
lea r14, [rdi + 0x5b4]
movzx r9d, dx
mov rcx, r15
mov edx, dword [rbp - 0x70]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
call fcn.1400624a0
mov ebx, eax
test eax, eax
jne 0x140092541
cmp dword [r14], eax
je 0x140092534
xor r14d, r14d
mov ebx, r14d
jmp 0x14009254a
mov ebx, 0xfffffeb6
xor r15d, r15d
jmp 0x1400927fd
js 0x1400927eb
xor r14d, r14d
mov eax, 0x800
or word [rdi + 0x4ea], ax
test rsi, rsi
je 0x140092589
mov rcx, qword [rsi]
test rcx, rcx
je 0x140092589
call fcn.140061520
mov rcx, qword [rsi]
test rcx, rcx
je 0x140092586
mov rax, qword [0x1400c0338]
test rax, rax
je 0x140092580
call rax
jmp 0x140092586
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rsi], r14
movdqa xmm2, xmmword [str.]
mov byte [rdi + 0x5e2], 0
test ebx, ebx
jne 0x1400927eb
cmp qword [rdi + 0x568], 0
mov ecx, 0x300
mov byte [rdi + 0x4fc], 3
mov edx, pe_nt_image_headers64
je 0x14009279f
cmp byte [rdi + 0x570], bl
je 0x14009279f
movzx eax, word [rdi + 0x4e4]
movzx r14d, byte [rdi + 0x4f4]
movzx esi, byte [rdi + 0x4f3]
movups xmmword [rbp + 0xa0], xmm2
movups xmmword [rbp + 0xb0], xmm2
movups xmmword [rbp + 0xc0], xmm2
movups xmmword [rbp + 0xd0], xmm2
test ecx, eax
jne 0x140092618
movups xmm0, xmmword [str.TLS_1.3__client_CertificateVerify]
movzx eax, word [0x1400abdf8]
movups xmm1, xmmword [0x1400abde8]
jmp 0x140092633
and eax, ecx
cmp eax, edx
jne 0x140092648
movups xmm0, xmmword [str.TLS_1.3__server_CertificateVerify]
movzx eax, word [0x1400abe68]
movups xmm1, xmmword [0x1400abe58]
mov word [rbp + 0x100], ax
movaps xmmword [rbp + 0xf0], xmm1
movaps xmmword [rbp + 0xe0], xmm0
movzx edx, byte [rdi + 0x324]
xor r15d, r15d
mov ecx, r15d
sub edx, 4
je 0x14009268f
cmp edx, 1
jne 0x140092684
mov rcx, qword [rdi + 0x80]
lea rdx, [rbp + 0x102]
add rcx, 0x2b0
call fcn.140076ad0
mov ecx, eax
test eax, eax
jne 0x140092684
mov ecx, 0x30
mov ebx, ecx
test ecx, ecx
js 0x1400926bb
lea edx, [rcx + 0x62]
jmp 0x1400926bf
mov rcx, qword [rdi + 0x80]
lea rdx, [rbp + 0x102]
add rcx, 0x238
call fcn.140081f90
mov ecx, eax
test eax, eax
jne 0x140092684
mov ecx, 0x20
mov ebx, ecx
lea edx, [rcx + 0x62]
jmp 0x1400926bf
movzx edx, word [rbp - 0x50]
test ecx, ecx
cmovns ebx, r15d
test ebx, ebx
jne 0x1400927eb
cmp r14b, r12b
jne 0x14009274a
mov ecx, esi
sub ecx, 4
je 0x1400926f5
sub ecx, 1
je 0x1400926ed
cmp ecx, 1
je 0x1400926fb
mov ebx, 0xffffff53
jmp 0x1400927fd
mov r12d, 7
jmp 0x1400926fb
mov r12d, 6
movzx r8d, dx
lea rcx, [rbp + 0xa0]
lea rdx, [rbp + 0xa0]
mov dword [rsp + 0x20], esi
call fcn.1400902d0
mov ebx, eax
test eax, eax
js 0x1400927eb
mov r9d, dword [rbp - 0x78]
lea rcx, [rbp + 0xa0]
mov r8, qword [rbp - 0x80]
mov edx, eax
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], 0xffffffff
mov dword [rsp + 0x20], r12d
call fcn.140079720
mov ebx, eax
test ebx, ebx
jne 0x1400927eb
lea rsi, [rdi + 0x568]
mov byte [rdi + 0x570], r15b
test rsi, rsi
je 0x140092793
mov rcx, qword [rsi]
test rcx, rcx
je 0x140092793
call fcn.140076d80
mov rcx, qword [rsi]
test rcx, rcx
je 0x140092790
mov rax, qword [0x1400c0338]
test rax, rax
je 0x14009278a
call rax
jmp 0x140092790
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rsi], r15
mov eax, 0x800
or word [rdi + 0x4ea], ax
mov rdx, qword [rbp - 0x48]
mov eax, 0x80
or word [rdi + 0x4e8], ax
movzx ecx, word [rbp - 0x74]
add ecx, r13d
mov dword [rdx], ecx
add ecx, dword [rdi + 0x4d4]
mov dword [rdx], ecx
mov ecx, 0x300
movzx eax, word [rdi + 0x4e4]
and ax, cx
mov byte [rdi + 0x4fc], 5
mov ecx, pe_nt_image_headers64
cmp ax, cx
jne 0x1400927e7
mov byte [rdi + 0x4f5], 6
test ebx, ebx
je 0x140092863
cmp ebx, 0xfffffe57
je 0x140092863
xor r15d, r15d
jmp 0x1400927fd
mov ebx, 0xfffffeb8
mov edx, dword [rdi + 0x2e4]
test edx, edx
je 0x140092849
mov r8d, dword [rdi + 0x2e0]
mov rcx, rdi
mov qword [rdi + 0x2e0], 0
call fcn.14004e940
test eax, eax
je 0x140092849
test r15b, r15b
jne 0x140092863
cmp dword [rdi + 0x2e4], 2
je 0x140092863
mov dword [rdi + 0x2e0], 0x33
mov dword [rdi + 0x2e4], 2
jmp 0x140092863
mov edx, 2
mov r8d, 0x33
mov rcx, rdi
call fcn.14004e940
jmp 0x140092863
mov ebx, 0xfffffe57
mov rcx, qword [rbp - 0x60]
mov r15, qword [rsp + 0x260]
mov r14, qword [rsp + 0x268]
mov r13, qword [rsp + 0x270]
mov r12, qword [rsp + 0x278]
mov rsi, qword [rsp + 0x2b8]
test rcx, rcx
je 0x1400928ae
mov rax, qword [0x1400c0338]
test rax, rax
je 0x1400928a4
call rax
jmp 0x1400928ae
mov rcx, qword [rbp - 0x60]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rdi
call fcn.14003e060
mov rdx, qword [rdi + 0xf0]
test rdx, rdx
je 0x1400928df
mov rax, qword [rdx]
test rax, rax
je 0x1400928df
add rdx, 8
mov rcx, rdi
call rax
mov rcx, qword [rdi + 0xf0]
xor eax, eax
mov qword [rcx], rax
mov eax, ebx
mov rcx, qword [rbp + 0x150]
xor rcx, rsp
call fcn.14009f800
add rsp, 0x280
pop rdi
pop rbx
pop rbp
ret