Function at 0x14045f6b0
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2d8
movdqa xmmword [rsp + 0x2c0], xmm14
movdqa xmmword [rsp + 0x2b0], xmm13
movdqa xmmword [rsp + 0x2a0], xmm12
movdqa xmmword [rsp + 0x290], xmm11
movdqa xmmword [rsp + 0x280], xmm10
movdqa xmmword [rsp + 0x270], xmm9
movdqa xmmword [rsp + 0x260], xmm8
movdqa xmmword [rsp + 0x250], xmm7
movdqa xmmword [rsp + 0x240], xmm6
mov rsi, rdx
mov rbx, rcx
mov rax, qword [0x140516758]
xor rax, rsp
mov qword [rsp + 0x238], rax
mov r14, qword [rcx + 0x10]
call fcn.14043d6e0
mov rdi, rax
mov rcx, rbx
mov rdx, rsi
call fcn.14043d710
mov qword [rsp + 0x230], 0
mov dword [rsp + 0xec], 0
mov rbp, qword [r14 + 0x20]
cmp byte [rdi + 0x69], 0
je 0x14045f78d
cmp byte [rbp + 0x6c], 0
mov edx, 0x20
mov ecx, 8
cmove ecx, edx
cmp byte [rax + 0xb3], 0
je 0x14045f794
or ecx, 0x1800
jmp 0x14045f7ab
mov ecx, 0x1808
jmp 0x14045f7ab
cmp byte [rax + 0xb5], 0
je 0x14045f7a5
or ecx, 0x1a00
jmp 0x14045f7ab
or ecx, 0x200
mov r14d, ecx
or r14d, 4
cmp byte [rdi + 0x6a], 0
cmovne r14d, ecx
cmp byte [rax + 0xb7], 0
je 0x14045f7da
test rsi, rsi
je 0x14045f7ff
cmp byte [rsi + 0xaaf], 0
je 0x14045f7ff
lea rdx, str.schannel:_enabled_automatic_use_of_client_certificate
jmp 0x14045f7f7
and r14d, 0xffffffaf
or r14d, 0x10
test rsi, rsi
je 0x14045f7ff
cmp byte [rsi + 0xaaf], 0
je 0x14045f7ff
lea rdx, str.schannel:_disabled_automatic_use_of_client_certificate
mov rcx, rsi
call fcn.14043cd70
movzx eax, byte [rdi + 0x68]
cmp eax, 7
ja 0x14045f904
mov ecx, 0xf3
bt ecx, eax
jae 0x14045f8eb
lea rcx, [rsp + 0xec]
mov rdx, rbx
mov r8, rsi
call fcn.140460630
mov ebx, eax
test eax, eax
jne 0x140460435
mov rcx, qword [rsi + 0x548]
mov rax, qword [rsi + 0x570]
test rcx, rcx
je 0x14045f91d
mov dword [rsp + 0x210], 0
mov qword [rsp + 0x1f0], 0
mov qword [rsp + 0x220], 0
test rax, rax
jne 0x14045f949
call fcn.14045cf00
test rax, rax
je 0x14045fe0c
mov r15, rax
lea rdx, [rsp + 0x210]
lea r8, [rsp + 0x1f0]
lea r9, [rsp + 0x220]
mov rcx, rax
call fcn.140460730
test eax, eax
je 0x14045fe90
mov ebx, eax
mov rcx, qword [rsi + 0x548]
cmp byte [rcx], 0
je 0x14045fe6d
lea rdx, [0x1404f4fdf]
call fcn.14045d0c0
test rax, rax
je 0x14045fe6d
mov r12, rax
mov al, 1
mov qword [rsp + 0x58], rax
xor r13d, r13d
xor ebx, ebx
jmp 0x14045f95d
lea rdx, str.SSL_versions_not_supported
mov rcx, rsi
call fcn.14043cca0
mov ebx, 4
jmp 0x140460435
lea rdx, str.Unrecognized_parameter_passed_via_CURLOPT_SSLVERSION
mov rcx, rsi
call fcn.14043cca0
mov ebx, 0x23
jmp 0x140460435
test rax, rax
je 0x14045fa71
mov dword [rsp + 0x210], 0
mov qword [rsp + 0x1f0], 0
mov qword [rsp + 0x220], 0
mov rbx, qword [rax]
mov r13, qword [rax + 8]
xor eax, eax
mov qword [rsp + 0x58], rax
xor r15d, r15d
xor r12d, r12d
mov rcx, qword [rsi + 0x5b8]
test rcx, rcx
je 0x14045f97d
lea rdx, [0x1404f6d56]
call fcn.140453440
test eax, eax
je 0x14045fa5a
cmp byte [rsp + 0x58], 0
je 0x14045f98d
mov rax, qword [rsi + 0x548]
jmp 0x14045f994
lea rax, str._memory_blob_
mov qword [rsp + 0x60], rax
test r15, r15
je 0x14045f9a6
mov rcx, r15
call fcn.1404ba1dc
cmp byte [rsp + 0x58], 0
je 0x14045fa03
mov r15, rbp
mov rcx, r12
xor edx, edx
mov r8d, 2
call fcn.1404b3158
mov ebp, eax
mov al, 1
mov dword [rsp + 0x54], eax
test ebp, ebp
je 0x14045fdb7
mov rbp, r15
xor r13d, r13d
test rbx, rbx
je 0x14045fa29
mov r8d, 1
mov rcx, rbx
mov rdx, r13
mov r9, r12
call fcn.1404b9f5c
cmp eax, 1
jne 0x14045fa29
mov rcx, r12
call fcn.1404b8fac
cmp byte [rsp + 0x54], 0
jne 0x14045fa31
mov qword [rsp + 0xc8], rbx
mov dword [rsp + 0xc0], r13d
mov rcx, qword [rsi + 0x5d8]
test rcx, rcx
je 0x14045fa79
call fcn.1404bc040
mov r13, rax
jmp 0x14045fa7c
mov rcx, r12
call fcn.1404b8fac
mov r8, qword [rsi + 0x548]
lea rdx, str.schannel:_Failed_to_read_cert_file__s
mov rcx, rsi
call fcn.14043cca0
mov rcx, rbx
call qword [fcn.1404ba1dc]
mov ebx, 0x3a
jmp 0x140460435
cmp byte [rsp + 0x58], 0
je 0x14045fe16
mov r8, qword [rsi + 0x548]
jmp 0x14045fe1d
xor r12d, r12d
jmp 0x14045fb6f
xor r13d, r13d
lea rcx, [r13*2 + 2]
call qword [fcn.1404baf0c]
xor r12d, r12d
test rax, rax
je 0x14045fb27
mov r15, rax
mov eax, 0
test r13, r13
je 0x14045facd
lea rax, [r13 + 1]
mov r8, qword [rsi + 0x5d8]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r15
mov ecx, 0xfde9
mov edx, 8
mov r9d, r13d
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov r12d, r13d
xor ecx, ecx
cmp eax, r12d
mov edx, eax
cmovg rdx, rcx
test eax, eax
cmovs rdx, rcx
mov word [r15 + rdx*2], 0
mov dword [rsp + 0x20], 3
mov ecx, 6
xor edx, edx
xor r8d, r8d
mov r9d, 2
call fcn.1404610b0
movzx r8d, al
shl r8d, 0xf
lea rcx, [rsp + 0xc0]
mov rdx, r15
call qword [sym.imp.CRYPT32.dll_PFXImportCertStore]
mov r12, rax
mov rcx, r15
call qword [fcn.1404ba1dc]
cmp byte [rsp + 0x58], 0
je 0x14045fb37
mov rcx, rbx
call qword [fcn.1404ba1dc]
test r12, r12
je 0x14045fd4a
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x20], xmm0
mov rcx, r12
mov edx, 0x10001
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.CRYPT32.dll_CertFindCertificateInStore]
mov qword [rsp + 0x230], rax
test rax, rax
je 0x14045fe3b
mov ecx, 1
mov edx, 0x30
call qword [fcn.1404b8fa4]
mov qword [rbp], rax
test rax, rax
je 0x14045fd77
mov dword [rax + 0x28], 1
mov rax, qword [rbp]
mov qword [rax + 0x20], r12
mov rbx, qword [rdi + 0x20]
test rbx, rbx
jne 0x14045ff91
mov dword [rsp + 0x20], 3
mov ecx, 0xa
xor edx, edx
mov r8d, 0x4563
mov r9d, 2
call fcn.1404610b0
test al, al
je 0x14045ff8d
mov qword [rsp + 0x68], rbp
pxor xmm0, xmm0
movdqa xmmword [rsp + 0xa0], xmm0
movdqa xmmword [rsp + 0x90], xmm0
movdqa xmmword [rsp + 0x80], xmm0
movdqa xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0xb0], 0
movdqa xmmword [rsp + 0xd0], xmm0
movdqa xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xe0], 0
movdqa xmmword [rsp + 0x1a0], xmm0
movdqa xmmword [rsp + 0x190], xmm0
movdqa xmmword [rsp + 0x180], xmm0
movdqa xmmword [rsp + 0x170], xmm0
movdqa xmmword [rsp + 0x160], xmm0
movdqa xmmword [rsp + 0x150], xmm0
movdqa xmmword [rsp + 0x140], xmm0
movdqa xmmword [rsp + 0x130], xmm0
movdqa xmmword [rsp + 0x120], xmm0
movdqa xmmword [rsp + 0x110], xmm0
movdqa xmmword [rsp + 0x100], xmm0
movdqa xmmword [rsp + 0xf0], xmm0
movdqa xmmword [rsp + 0x220], xmm0
movdqa xmmword [rsp + 0x210], xmm0
mov r12, qword [rdi + 0x28]
xor r13d, r13d
test r12, r12
je 0x14046032c
movabs rax, 0x5f4d43435f383231
movabs rcx, 0x5f5345415f534c54
movdqa xmmword [rsp + 0x200], xmm0
movdqa xmmword [rsp + 0x1f0], xmm0
mov bpl, 1
movq xmm6, rcx
movq xmm0, rax
punpcklqdq xmm6, xmm0
movdqa xmm7, xmmword [str._128_CCM_SHA256]
movdqa xmm8, xmmword [0x1404e3fc0]
movdqa xmm9, xmmword [0x1404e3fa0]
movdqa xmm10, xmmword [str.TLS_CHACHA20_POL28_CCM_8_SHA256]
movdqa xmm11, xmmword [0x1404e3f80]
movdqa xmm12, xmmword [str.TLS_AES_128_GCM_POLY1305_SHA256]
movdqa xmm13, xmmword [str._256_GCM_SHA384]
movdqa xmm14, xmmword [str.TLS_AES_256_GCM__128_GCM_SHA256]
mov al, 1
mov dword [rsp + 0x54], eax
mov al, 1
mov dword [rsp + 0x58], eax
mov al, 1
mov dword [rsp + 0x60], eax
mov dil, 1
jmp 0x140460189
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x56
jne 0x14045ff6c
lea rdx, str.schannel:_Failed_to_import_cert_file__s__password_is_bad
mov rcx, rsi
mov r8, qword [rsp + 0x60]
call fcn.14043cca0
mov ebx, 0x3a
jmp 0x140460435
lea rdx, str.schannel:_unable_to_allocate_memory
mov rcx, rsi
call fcn.14043cca0
mov rcx, qword [rsp + 0x230]
test rcx, rcx
je 0x14045fd99
call qword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
mov ebx, reloc.WLDAP32.dll_Ordinal_27
test r12, r12
je 0x140460435
mov rcx, r12
xor edx, edx
call qword [sym.imp.CRYPT32.dll_CertCloseStore]
jmp 0x140460435
mov rcx, r12
call fcn.1404ba228
test eax, eax
mov ecx, eax
cmovs rcx, r13
mov r13, rcx
test ebp, ebp
jne 0x140460135
test eax, eax
mov rbp, r15
js 0x14045f9d6
mov rcx, r12
xor edx, edx
xor r8d, r8d
call fcn.1404b3158
test eax, eax
jne 0x14045f9d6
lea rcx, [r13 + 1]
call qword [fcn.1404baf0c]
mov rbx, rax
mov dword [rsp + 0x54], 0
jmp 0x14045f9d6
mov ebx, reloc.WLDAP32.dll_Ordinal_27
jmp 0x140460435
lea r8, str._memory_blob_
lea rdx, str.schannel:_certificate_format_compatibility_error__for__s
mov rcx, rsi
call fcn.14043cca0
mov ebx, 0x3a
test r15, r15
jne 0x14045fe83
jmp 0x140460435
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.schannel:_Failed_to_get_certificate_from_file__s__last_error_is_0x_x
mov rcx, rsi
mov r8, qword [rsp + 0x60]
mov r9d, eax
call fcn.14043cca0
mov rcx, r12
xor edx, edx
call qword [sym.imp.CRYPT32.dll_CertCloseStore]
mov ebx, 0x3a
jmp 0x140460435
mov r8, qword [rsi + 0x548]
lea rdx, str.schannel:_Failed_to_get_certificate_location_or_file_for__s
mov rcx, rsi
call fcn.14043cca0
mov rcx, r15
call fcn.1404ba1dc
jmp 0x140460435
mov r13, rbp
mov rbx, qword [rsp + 0x1f0]
mov ebp, dword [rsp + 0x210]
mov r9d, ebp
or r9d, 0x4000
mov qword [rsp + 0x20], rbx
mov ecx, 0xa
xor edx, edx
xor r8d, r8d
call qword [sym.imp.CRYPT32.dll_CertOpenStore]
test rax, rax
je 0x14046013d
mov r12, rax
mov rcx, rbx
call qword [fcn.1404ba1dc]
lea r9, [rsp + 0xf0]
mov qword [rsp + 0x78], r9
mov dword [rsp + 0x70], reloc.WS2_32.dll_sendto
mov rcx, qword [rsp + 0x220]
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
lea rbx, [rsp + 0x70]
mov qword [rsp + 0x20], rbx
mov edx, Ordinal_41
mov r8d, 4
call qword [sym.imp.CRYPT32.dll_CryptStringToBinaryW]
test eax, eax
je 0x14046031f
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], 0
mov rcx, r12
mov edx, 0x10001
xor r8d, r8d
mov r9d, 0x10000
call qword [sym.imp.CRYPT32.dll_CertFindCertificateInStore]
mov qword [rsp + 0x230], rax
mov rcx, r15
call fcn.1404ba1dc
cmp qword [rsp + 0x230], 0
je 0x14045fe58
mov rbp, r13
jmp 0x14045fb6f
lea rdx, str.schannel:_Failed_to_import_cert_file__s__last_error_is_0x_x
mov rcx, rsi
mov r8, qword [rsp + 0x60]
mov r9d, eax
call fcn.14043cca0
mov ebx, 0x3a
jmp 0x140460435
mov rbx, qword [rdi + 0x20]
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x70], xmm0
movdqa xmmword [rsp + 0xb0], xmm0
movdqa xmmword [rsp + 0xa0], xmm0
movdqa xmmword [rsp + 0x90], xmm0
movdqa xmmword [rsp + 0x80], xmm0
mov dword [rsp + 0x70], 4
mov dword [rsp + 0xb8], r14d
mov eax, dword [rsp + 0xec]
mov dword [rsp + 0xa8], eax
test rbx, rbx
je 0x14046001d
test eax, 0x2000
je 0x140460001
cmp byte [rsi + 0xaaf], 0
je 0x140460001
lea rdx, str.schannel:_WARNING:_This_version_of_Schannel_may_negotiate_a_less_secure_TLS_version_than_TLS_1.3_because_the_user_set_an_algorithm_cipher_list.
mov rcx, rsi
call fcn.14043cd70
cmp qword [rdi + 0x28], 0
je 0x1404600fb
mov ebx, 0x3b
lea rdx, str.schannel:_This_version_of_Schannel_does_not_support_setting_an_algorithm_cipher_list_and_TLS_1.3_cipher_list_at_the_same_time
jmp 0x140460121
or r14d, 0x400000
mov dword [rsp + 0xb8], r14d
cmp qword [rsp + 0x230], 0
je 0x14046004c
mov dword [rsp + 0x74], 1
lea rax, [rsp + 0x230]
mov qword [rsp + 0x78], rax
mov rax, qword [0x14051d208]
mov rcx, qword [rbp]
lea rdx, [rcx + 0x10]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], rcx
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x20], rcx
lea rdx, str.Microsoft_Unified_Security_Protocol_Provider
xor ecx, ecx
mov r8d, 2
xor r9d, r9d
call qword [rax + Ordinal_26]
mov edi, eax
mov rcx, qword [rsp + 0x230]
test rcx, rcx
je 0x1404600a3
call qword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
test edi, edi
je 0x14046012e
lea rdx, [rsp + 0xf0]
mov r8d, 0x100
mov ecx, edi
call fcn.140470810
lea rdx, str.schannel:_AcquireCredentialsHandle_failed:__s
mov rcx, rsi
mov r8, rax
call fcn.14043cca0
mov rcx, qword [rbp]
call qword [fcn.1404ba1dc]
mov qword [rbp], 0
xor eax, eax
cmp edi, 0x80090300
setne al
lea ebx, [rax*8 + 0x1b]
jmp 0x140460435
lea rcx, [rsp + 0x70]
lea r8, [rsp + 0xf0]
mov rdx, rbx
call fcn.1404608d0
test eax, eax
je 0x14046002c
mov ebx, eax
lea rdx, str.schannel:_Failed_setting_algorithm_cipher_list
mov rcx, rsi
call fcn.14043cca0
jmp 0x140460435
xor ebx, ebx
jmp 0x140460435
mov rbp, r15
jmp 0x14045f9d6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x20], eax
lea rdx, str.schannel:_Failed_to_open_cert_store__x__s__last_error_is_0x_x
mov rcx, rsi
mov r8d, ebp
mov r9, rbx
call fcn.14043cca0
mov rcx, rbx
call qword [fcn.1404ba1dc]
mov rcx, r15
call fcn.1404ba1dc
mov ebx, 0x3a
jmp 0x140460435
xor edi, edi
lea r12, [rbx + 1]
inc r13d
test rbx, rbx
je 0x14046033f
cmp byte [r12], 0
je 0x14046033f
cmp r13d, 4
ja 0x14046033f
mov rcx, r12
mov edx, 0x3a
call fcn.1404a4048
mov rbx, rax
test rax, rax
je 0x1404601bb
mov r15, rbx
sub r15, r12
jmp 0x1404601c6
mov rcx, r12
call fcn.1404bc040
mov r15, rax
cmp r15, 0x20
jae 0x140460421
lea rcx, [rsp + 0x1f0]
mov rdx, r12
mov r8, r15
call fcn.1404bc190
mov byte [rsp + r15 + 0x1f0], 0
test dil, 1
je 0x140460221
movdqu xmm0, xmmword [rsp + 0x1f7]
pcmpeqb xmm0, xmm13
movdqa xmm1, xmmword [rsp + 0x1f0]
pcmpeqb xmm1, xmm14
pand xmm1, xmm0
pmovmskb eax, xmm1
cmp eax, 0xffff
je 0x140460177
test byte [rsp + 0x60], 1
je 0x140460257
movdqu xmm0, xmmword [rsp + 0x1f7]
pcmpeqb xmm0, xmm11
movdqa xmm1, xmmword [rsp + 0x1f0]
pcmpeqb xmm1, xmm12
pand xmm1, xmm0
pmovmskb eax, xmm1
cmp eax, 0xffff
je 0x1404602f8
test byte [rsp + 0x58], 1
je 0x140460289
movdqu xmm0, xmmword [rsp + 0x1fd]
pcmpeqb xmm0, xmm9
movdqa xmm1, xmmword [rsp + 0x1f0]
pcmpeqb xmm1, xmm10
pand xmm1, xmm0
pmovmskb eax, xmm1
cmp eax, 0xffff
je 0x140460305
test byte [rsp + 0x54], 1
je 0x1404602ba
movdqu xmm0, xmmword [rsp + 0x1f9]
pcmpeqb xmm0, xmm8
movdqa xmm1, xmmword [rsp + 0x1f0]
pcmpeqb xmm1, xmm6
pand xmm1, xmm0
pmovmskb eax, xmm1
cmp eax, 0xffff
je 0x140460312
test bpl, 1
je 0x140460408
movdqu xmm0, xmmword [rsp + 0x1f7]
pcmpeqb xmm0, xmm7
movdqa xmm1, xmmword [rsp + 0x1f0]
pcmpeqb xmm1, xmm6
pand xmm1, xmm0
pmovmskb eax, xmm1
cmp eax, 0xffff
jne 0x140460408
xor ebp, ebp
jmp 0x140460179
mov dword [rsp + 0x60], 0
jmp 0x140460179
mov dword [rsp + 0x58], 0
jmp 0x140460179
mov dword [rsp + 0x54], 0
jmp 0x140460179
mov rcx, r15
call fcn.1404ba1dc
jmp 0x14045fe58
xor edi, edi
xor r9d, r9d
mov dword [rsp + 0x58], 0
xor edx, edx
xor ebp, ebp
jmp 0x140460348
mov r9d, dword [rsp + 0x60]
mov edx, dword [rsp + 0x54]
and r9b, 1
and dl, 1
and bpl, 1
and dil, 1
je 0x14046037b
test r9b, r9b
je 0x14046037b
mov eax, dword [rsp + 0x58]
and al, 1
je 0x14046037b
test dl, dl
je 0x14046037b
test bpl, bpl
je 0x14046037b
lea rdx, str.schannel:_All_available_TLS_1.3_ciphers_were_disabled
jmp 0x140460428
xor eax, eax
mov ecx, edx
or cl, bpl
je 0x1404604b5
mov dword [rsp + 0x220], 0x200020
lea rax, str.ChainingModeCCM
mov qword [rsp + 0x228], rax
mov dword [rsp + 0xf0], 2
lea rax, [rsp + 0x220]
mov qword [rsp + 0x110], rax
mov dword [rsp + 0x108], 1
mov dword [rsp + 0xf8], 0x80008
lea rax, [0x1404f9c7e]
mov qword [rsp + 0x100], rax
mov eax, 1
cmp dl, bpl
je 0x1404604b5
test dl, dl
jne 0x1404604aa
mov dword [rsp + 0x11c], Ordinal_73
jmp 0x1404604b5
lea rdx, str.schannel:_Unknown_TLS_1.3_cipher:__s
lea r8, [rsp + 0x1f0]
mov rcx, rsi
call fcn.14043cca0
jmp 0x140460430
lea rdx, str.schannel:_Cipher_name_too_long__not_checked
mov rcx, rsi
call fcn.14043cca0
mov ebx, 0x3b
mov rcx, qword [rsp + 0x238]
xor rcx, rsp
call fcn.14049f400
mov eax, ebx
movaps xmm6, xmmword [rsp + 0x240]
movaps xmm7, xmmword [rsp + 0x250]
movaps xmm8, xmmword [rsp + 0x260]
movaps xmm9, xmmword [rsp + 0x270]
movaps xmm10, xmmword [rsp + 0x280]
movaps xmm11, xmmword [rsp + 0x290]
movaps xmm12, xmmword [rsp + 0x2a0]
movaps xmm13, xmmword [rsp + 0x2b0]
movaps xmm14, xmmword [rsp + 0x2c0]
add rsp, 0x2d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsp + 0x118], Ordinal_133
mov ecx, edi
or cl, r9b
jne 0x1404604c6
mov rbp, qword [rsp + 0x68]
jmp 0x140460566
mov dword [rsp + 0x210], 0x200020
lea rcx, str.ChainingModeGCM
mov qword [rsp + 0x218], rcx
mov ecx, eax
lea rcx, [rcx + rcx*2]
shl rcx, 4
lea rdx, [rsp + rcx]
add rdx, 0xf0
cmp dil, r9b
mov rbp, qword [rsp + 0x68]
jne 0x14046051a
mov dword [rdx], 2
mov word [rdx + 8], 8
mov word [rdx + 0xa], 8
lea rdx, [0x1404f9c7e]
jmp 0x140460541
test dil, dil
mov dword [rdx], 3
mov word [rdx + 8], 8
mov word [rdx + 0xa], 8
lea r8, str.SHA256
lea rdx, str.SHA384
cmove rdx, r8
mov qword [rsp + rcx + 0x100], rdx
lea rdx, [rsp + 0x210]
mov qword [rsp + rcx + 0x110], rdx
mov dword [rsp + rcx + 0x108], 1
inc eax
test byte [rsp + 0x58], 1
je 0x14046059e
mov ecx, eax
lea rcx, [rcx + rcx*2]
shl rcx, 4
mov dword [rsp + rcx + 0xf0], 2
mov dword [rsp + rcx + 0xf8], 0x240024
lea rdx, str.CHACHA20_POLY1305
mov qword [rsp + rcx + 0x100], rdx
inc eax
lea rcx, [rsp + 0xf0]
mov qword [rsp + 0xd8], rcx
mov dword [rsp + 0xd4], eax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0xb0], rax
mov dword [rsp + 0xa8], 1
mov dword [rsp + 0x70], 5
or r14d, 0x400000
mov dword [rsp + 0xa4], r14d
mov eax, dword [rsp + 0xec]
not eax
mov dword [rsp + 0xd0], eax
cmp qword [rsp + 0x230], 0
je 0x14046004c
mov dword [rsp + 0x78], 1
lea rax, [rsp + 0x230]
mov qword [rsp + 0x80], rax
jmp 0x14046004c