Function at 0x32ba0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
mov rbx, rcx
xor r12d, r12d
lea rcx, [0x00071b10]
mov r15d, r12d
mov dword [rsp + 0x90], r12d
call fcn.00044148
lea esi, [r12 + 5]
cmp dword [rbx + 4], r12d
jne 0x32c1c
mov rdx, rsi
mov rcx, rbx
call fcn.0002b08c
mov edi, eax
cmp eax, r12d
je 0x32c1c
mov r9d, 0x50b
lea r8, str.f:driver_
mov dword [rsp + 0x28], eax
lea rax, str.ssl_fetch_input
mov edx, 1
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.00044190
mov eax, edi
jmp 0x3376c
mov rdi, qword [rbx + 0x110]
mov rcx, rbx
test byte [rdi], 0x80
je 0x32c35
call fcn.00032558
jmp 0x3376c
lea rax, str.record_header
mov qword [rsp + 0x30], rsi
lea r13, str.f:driver_
mov r9d, 0x517
mov edx, 4
mov r8, r13
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
call fcn.00044260
movzx edx, byte [rdi]
lea rcx, str.client_hello_v3__message_type:__d
call fcn.00044148
movzx edx, byte [rdi + 3]
movzx eax, byte [rdi + 4]
shl edx, 8
lea rcx, str.client_hello_v3__message_len.:__d
or edx, eax
call fcn.00044148
movzx r8d, byte [rdi + 2]
movzx edx, byte [rdi + 1]
lea rcx, str.client_hello_v3__protocol_ver:___d:_d_
call fcn.00044148
cmp byte [rdi], 0x16
jne 0x3375b
cmp byte [rdi + 1], 3
jb 0x3375b
movzx eax, byte [rdi + 3]
shl eax, 8
movsxd rdx, eax
movzx eax, byte [rdi + 4]
or rdx, rax
lea rax, [rdx - 0x2d]
cmp rax, 0x3fd3
ja 0x3375b
cmp dword [rbx + 4], r12d
jne 0x32cfc
add rdx, rsi
mov rcx, rbx
call fcn.0002b08c
mov edi, eax
cmp eax, r12d
je 0x32cfc
mov r9d, 0x542
mov r8, r13
jmp 0x32bf8
mov rdi, qword [rbx + 0x120]
cmp dword [rbx + 4], r12d
je 0x32d12
mov rbp, qword [rbx + 0x138]
jmp 0x32d1c
mov rbp, qword [rbx + 0x140]
sub rbp, rsi
mov rax, qword [rbx + 0xe0]
mov r8, rbp
mov rdx, rdi
mov rcx, rbx
call qword [rax + 0x800]
lea rax, str.record_contents
mov qword [rsp + 0x30], rbp
mov r9d, 0x560
mov r8, r13
mov edx, 4
mov rcx, rbx
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
call fcn.00044260
movzx edx, byte [rdi]
lea rcx, str.client_hello_v3__handshake_type:__d
call fcn.00044148
movzx eax, byte [rdi + 2]
movzx edx, byte [rdi + 1]
shl edx, 8
lea rcx, str.client_hello_v3__handshake_len.:__d
or edx, eax
movzx eax, byte [rdi + 3]
shl edx, 8
or edx, eax
call fcn.00044148
movzx r8d, byte [rdi + 5]
movzx edx, byte [rdi + 4]
lea rcx, str.client_hello_v3__max._version:___d:_d_
call fcn.00044148
mov esi, 1
cmp byte [rdi], sil
jne 0x3375b
movzx ecx, byte [rdi + 4]
mov dword [rbx + 0xc], ecx
movzx eax, byte [rdi + 5]
mov dword [rbx + 0x10], eax
mov rax, qword [rbx + 0xe0]
mov dword [rax + 0x1090], ecx
mov rcx, qword [rbx + 0xe0]
mov eax, dword [rbx + 0x10]
mov dword [rcx + 0x1094], eax
mov edx, dword [rbx + 0xc]
mov r9d, dword [rbx + 0x1c]
cmp edx, r9d
jl 0x33730
mov ecx, dword [rbx + 0x10]
cmp ecx, dword [rbx + 0x20]
jl 0x33730
mov eax, dword [rbx + 0x14]
cmp edx, eax
jle 0x32e08
mov dword [rbx + 0xc], eax
mov eax, dword [rbx + 0x18]
jmp 0x32e0f
mov eax, dword [rbx + 0x18]
cmp ecx, eax
jle 0x32e12
mov dword [rbx + 0x10], eax
mov rcx, qword [rbx + 0xe0]
lea rdx, [rdi + 6]
mov r8d, 0x20
add rcx, 0x828
call fcn.0005d130
cmp byte [rdi + 1], r12b
jne 0x3375b
movzx eax, byte [rdi + 3]
movzx ecx, byte [rdi + 2]
shl ecx, 8
or eax, ecx
add eax, 4
cmp rbp, rax
jne 0x3375b
movzx r12d, byte [rdi + 0x26]
cmp r12d, 0x20
ja 0x3375b
lea rax, [rbp - 0x2a]
mov r14, r12
cmp r12, rax
ja 0x3375b
mov rax, qword [rbx + 0xd8]
xor edx, edx
mov qword [rax + 0x10], r12
mov rcx, qword [rbx + 0xd8]
lea r8d, [rdx + 0x20]
add rcx, 0x18
call fcn.0005d630
mov r8, qword [rbx + 0xd8]
lea rdx, [rdi + 0x27]
lea rcx, [r8 + 0x18]
mov r8, qword [r8 + 0x10]
call fcn.0005d130
lea r11d, [r12 + 0x27]
lea eax, [r12 + 0x28]
movzx r9d, byte [r11 + rdi]
movzx eax, byte [rax + rdi]
shl r9d, 8
or r9d, eax
mov dword [rsp + 0x98], r9d
cmp r9d, 2
jb 0x3375b
test sil, r9b
jne 0x3375b
mov rax, rbp
mov r8d, r9d
sub rax, r12
sub rax, 0x2a
cmp r8, rax
ja 0x3375b
lea eax, [r9 + r12 + 0x29]
movzx edx, byte [rax + rdi]
lea eax, [rdx - 1]
cmp eax, 0xf
ja 0x3375b
mov rax, rbp
mov qword [rsp + 0xa0], rdx
sub rax, r8
sub rax, r12
sub rax, 0x2a
cmp rdx, rax
ja 0x3375b
add edx, r9d
add edx, r12d
lea eax, [rdx + 0x2a]
mov ecx, eax
cmp rbp, rcx
jbe 0x32fb7
movzx r15d, byte [rax + rdi]
lea eax, [rdx + 0x2b]
movzx eax, byte [rax + rdi]
shl r15d, 8
or r15d, eax
jbe 0x32f53
cmp r15d, 4
jb 0x32f5d
lea ecx, [rdx + r15 + 0x2c]
cmp rbp, rcx
je 0x32fb7
lea rcx, str.bad_client_hello_message
call fcn.00044148
mov ebp, dword [rsp + 0x98]
mov rax, qword [rsp + 0xa0]
add rax, rbp
mov r11d, r15d
mov r9d, 0x5ce
add rax, r12
mov qword [rsp + 0x30], r11
mov r8, r13
lea rcx, [rax + rdi + 0x2c]
lea rax, [0x00071c18]
mov edx, 3
mov qword [rsp + 0x28], rcx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.00044260
jmp 0x33767
mov rax, qword [rbx + 0xd8]
mov qword [rsp + 0x30], 0x20
mov r12d, 3
and dword [rax + 0xc], 0
lea rax, [rdi + 6]
mov r9d, 0x5e0
mov qword [rsp + 0x28], rax
lea rax, str.client_hello__random_bytes
mov r8, r13
mov edx, r12d
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.00044260
lea rax, [rdi + 0x26]
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], rax
lea rax, str.client_hello__session_id
mov r9d, 0x5e2
mov r8, r13
mov edx, r12d
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.00044260
mov eax, dword [rsp + 0x98]
mov qword [rsp + 0x30], rax
lea rcx, [r14 + rdi + 0x29]
mov rbp, rax
mov qword [rsp + 0x28], rcx
lea rax, str.client_hello__ciphersuitelist
mov qword [rsp + 0xa8], rcx
mov r9d, 0x5e4
mov r8, r13
mov edx, r12d
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.00044260
mov r12, qword [rsp + 0xa0]
lea r11, [r14 + rbp]
lea rax, [r11 + rdi + 0x2a]
mov qword [rsp + 0x30], r12
mov r9d, 0x5e6
mov qword [rsp + 0x28], rax
lea rax, str.client_hello__compression
mov r8, r13
mov edx, 3
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.00044260
mov r13d, dword [rsp + 0x98]
xor r11d, r11d
lea rax, [r14 + rdi + 0x29]
test r13d, r13d
je 0x3311b
cmp byte [rax], 0
jne 0x330c6
cmp byte [rax + 1], 0xff
je 0x330d5
add r11d, 2
add rax, 2
cmp r11d, r13d
jae 0x3311b
jmp 0x330bb
lea rcx, str.received_TLS_EMPTY_RENEGOTIATION_INFO
call fcn.00044148
cmp dword [rbx + 4], esi
jne 0x3310e
lea rcx, reloc.fwpkclnt.sys_FwpsInjectTransportReceiveAsync0
call fcn.00044148
mov r8b, 0x28
mov dl, 2
mov rcx, rbx
call fcn.0002b8c8
mov edi, 0xffff8700
test eax, eax
cmovne edi, eax
jmp 0x32c15
mov dword [rsp + 0x90], esi
mov dword [rbx + 0x288], esi
xor ecx, ecx
lea rax, [r14 + rdi + 0x29]
test r13d, r13d
je 0x33142
cmp byte [rax], 0x56
jne 0x33136
cmp byte [rax + 1], 0
je 0x331ff
add ecx, 2
add rax, 2
cmp ecx, r13d
jb 0x33127
lea rax, [r12 + rbp]
add rax, r14
xor r14d, r14d
lea r12, [rax + rdi + 0x2c]
mov edi, 0xffff8700
cmp r15d, r14d
je 0x3353b
movzx eax, byte [r12 + 1]
movzx edx, byte [r12]
movzx ebp, byte [r12 + 2]
shl edx, 8
shl ebp, 8
or edx, eax
movzx eax, byte [r12 + 3]
or ebp, eax
lea r13d, [rbp + 4]
cmp r13d, r15d
ja 0x3352a
cmp edx, 0xd
ja 0x33350
je 0x33326
mov eax, edx
cmp edx, r14d
je 0x332f8
sub eax, esi
je 0x332c4
sub eax, 3
je 0x33291
sub eax, 6
je 0x33270
cmp eax, esi
jne 0x3337c
lea rcx, str.found_supported_point_formats_extension
call fcn.00044148
mov r11, qword [rbx + 0xe0]
mov eax, ebp
or dword [r11 + 0x1098], esi
movzx r8d, byte [r12 + 4]
lea rcx, [r8 + 1]
cmp rcx, rax
jne 0x3352a
lea rdx, [r12 + 6]
jmp 0x33247
lea rcx, str.received_FALLBACK_SCSV
call fcn.00044148
mov r11d, dword [rbx + 0x18]
cmp dword [rbx + 0x10], r11d
jge 0x33142
lea rcx, str.inapropriate_fallback
call fcn.00044148
mov r8b, 0x56
mov dl, 2
mov rcx, rbx
call fcn.0002b8c8
jmp 0x33767
cmp byte [rdx], r14b
je 0x33251
cmp byte [rdx], sil
je 0x33251
sub r8, rsi
add rdx, rsi
cmp r8, r14
ja 0x33237
jmp 0x33507
movzx ecx, byte [rdx]
mov rax, qword [rbx + 0xe0]
mov dword [rax + 0x2c0], ecx
movzx edx, byte [rdx]
lea rcx, str.point_format_selected:__d
jmp 0x33383
lea rcx, str.found_supported_elliptic_curves_extension
call fcn.00044148
lea rdx, [r12 + 4]
mov r8d, ebp
mov rcx, rbx
call fcn.00031f40
jmp 0x334fe
lea rcx, str.found_truncated_hmac_extension
call fcn.00044148
cmp ebp, r14d
jne 0x3352a
cmp dword [rbx + 0x208], esi
jne 0x33507
mov rax, qword [rbx + 0xd8]
mov dword [rax + 0x90], esi
jmp 0x33507
lea rcx, str.found_max_fragment_length_extension
call fcn.00044148
cmp ebp, esi
jne 0x3352a
mov cl, byte [r12 + 4]
cmp cl, 5
jae 0x3352a
mov rax, qword [rbx + 0xd8]
mov byte [rax + 0x8c], cl
jmp 0x33507
lea rcx, str.found_ServerName_extension
call fcn.00044148
cmp qword [rbx + 0x90], r14
je 0x33507
lea rdx, [r12 + 4]
mov r8d, ebp
mov rcx, rbx
call fcn.00031d64
jmp 0x334fe
lea rcx, str.found_signature_algorithms_extension
call fcn.00044148
cmp dword [rbx + 4], esi
je 0x33507
lea rdx, [r12 + 4]
mov r8d, ebp
mov rcx, rbx
call fcn.00031e90
jmp 0x334fe
mov eax, edx
sub eax, 0x10
je 0x334e2
sub eax, 6
je 0x334b6
sub eax, esi
je 0x33486
sub eax, 0xc
je 0x33468
cmp eax, 0xfede
je 0x3338d
lea rcx, str.unknown_extension_found:__d__ignoring_
call fcn.00044148
jmp 0x33507
lea rcx, str.found_renegotiation_extension
call fcn.00044148
mov dword [rsp + 0x90], esi
mov ecx, ebp
cmp dword [rbx + 4], r14d
je 0x33424
mov rdx, qword [rbx + 0x290]
lea rax, [rdx + 1]
cmp rcx, rax
jne 0x333f8
movzx eax, byte [r12 + 4]
cmp rax, rdx
jne 0x333f8
lea rcx, [r12 + 5]
lea r9, [rbx + 0x2bc]
mov r8b, r14b
cmp rdx, r14
jbe 0x33507
sub r9, rcx
mov al, byte [r9 + rcx]
xor al, byte [rcx]
add rcx, rsi
or r8b, al
sub rdx, rsi
jne 0x333de
cmp r8b, r14b
je 0x33507
lea rcx, str.non_matching_renegotiation_info
call fcn.00044148
mov r8b, 0x28
mov dl, 2
mov rcx, rbx
call fcn.0002b8c8
mov r11d, eax
cmp eax, r14d
jne 0x3345e
mov r11d, edi
mov eax, r11d
jmp 0x3376c
cmp rcx, rsi
jne 0x3343b
cmp byte [r12 + 4], r14b
jne 0x3343b
mov dword [rbx + 0x288], esi
jmp 0x33507
lea rcx, str.non_zero_length_renegotiation_info
call fcn.00044148
mov r8b, 0x28
mov dl, 2
mov rcx, rbx
call fcn.0002b8c8
mov r11d, edi
cmp eax, r14d
cmovne r11d, eax
cmp r11d, r14d
jne 0x3341c
jmp 0x33507
lea rcx, str.found_session_ticket_extension
call fcn.00044148
lea rdx, [r12 + 4]
mov r8d, ebp
mov rcx, rbx
call fcn.00032070
jmp 0x334fe
lea rcx, str.found_extended_master_secret_extension
call fcn.00044148
cmp ebp, r14d
jne 0x3352a
cmp byte [rbx + 0x26], sil
jne 0x33507
cmp dword [rbx + 0x10], r14d
je 0x33507
mov rax, qword [rbx + 0xe0]
mov dword [rax + 0x10a0], esi
jmp 0x33507
lea rcx, str.found_encrypt_then_mac_extension
call fcn.00044148
cmp ebp, r14d
jne 0x3352a
cmp byte [rbx + 0x25], sil
jne 0x33507
cmp dword [rbx + 0x10], r14d
je 0x33507
mov rax, qword [rbx + 0xd8]
mov dword [rax + 0x94], esi
jmp 0x33507
lea rcx, str.found_alpn_extension
call fcn.00044148
lea rdx, [r12 + 4]
mov r8d, ebp
mov rcx, rbx
call fcn.00032150
cmp eax, r14d
jne 0x3376c
mov eax, 0xfffffffc
sub eax, ebp
add r15d, eax
mov eax, r13d
add r12, rax
cmp r15d, r14d
jbe 0x33159
cmp r15d, 4
jae 0x33156
lea rcx, str.bad_client_hello_message
call fcn.00044148
jmp 0x32c15
mov eax, dword [rbx + 0x288]
cmp eax, esi
je 0x33557
cmp dword [rbx + 0x1e0], 2
jne 0x33557
lea rcx, str.legacy_renegotiation__breaking_off_handshake
jmp 0x335a6
mov ecx, dword [rsp + 0x90]
cmp dword [rbx + 4], esi
jne 0x335c0
cmp eax, esi
jne 0x33575
cmp ecx, r14d
jne 0x33575
lea rcx, str.renegotiation_info_extension_missing__secure_
jmp 0x335a6
cmp dword [rbx + 4], esi
jne 0x335c0
cmp eax, r14d
jne 0x33591
cmp dword [rbx + 0x1e0], r14d
jne 0x33591
lea rcx, str.legacy_renegotiation_not_allowed
jmp 0x335a6
cmp dword [rbx + 4], esi
jne 0x335c0
cmp eax, r14d
jne 0x335c0
cmp ecx, esi
jne 0x335c0
lea rcx, str.renegotiation_info_extension_present__legacy_
call fcn.00044148
mov r8b, 0x28
mov dl, 2
mov rcx, rbx
call fcn.0002b8c8
cmp eax, r14d
jmp 0x33106
movsxd rax, dword [rbx + 0x10]
and qword [rsp + 0xa0], 0
mov dword [rsp + 0x90], r14d
mov r14, qword [rbx + rax*8 + 0x1e8]
xor r15d, r15d
cmp dword [r14], r15d
je 0x3370d
mov eax, dword [rsp + 0x98]
mov rcx, qword [rsp + 0xa8]
mov rbp, r14
xor r13d, r13d
mov rdi, rcx
test eax, eax
je 0x3365e
mov edx, dword [rbp]
mov eax, edx
sar eax, 8
cmp byte [rdi], al
jne 0x33642
cmp byte [rdi + 1], dl
jne 0x33642
lea r8, [rsp + 0xa0]
mov rcx, rbx
mov dword [rsp + 0x90], esi
call fcn.00032410
test eax, eax
jne 0x3376c
mov r12, qword [rsp + 0xa0]
test r12, r12
jne 0x3368f
mov eax, dword [rsp + 0x98]
add r13d, 2
add rdi, 2
cmp r13d, eax
jb 0x33605
mov rcx, qword [rsp + 0xa8]
add rbp, 4
add r15d, esi
cmp dword [rbp], 0
jne 0x335fb
cmp dword [rsp + 0x90], 0
je 0x3370d
lea rcx, str.got_ciphersuites_in_common__but_none_of_them_usable
call fcn.00044148
mov edi, 0xffff9580
jmp 0x3371e
mov rdx, qword [r12 + 8]
lea rcx, str.selected_ciphersuite:__s
call fcn.00044148
mov rcx, qword [rbx + 0xd8]
mov eax, dword [r14 + r15*4]
mov dword [rcx + 8], eax
mov rax, qword [rbx + 0x100]
mov qword [rax], r12
cmp dword [rbx + 0x10], 3
mov rax, qword [rbx + 0x100]
mov rcx, qword [rax]
jge 0x336d1
lea rcx, [0x0002c2f0]
jmp 0x336e5
cmp dword [rcx + 0x14], 7
lea rcx, [0x0002c374]
je 0x336e5
lea rcx, [0x0002c34c]
mov rax, qword [rbx + 0xe0]
mov qword [rax + 0x800], rcx
and qword [rbx + 0x140], 0
add dword [rbx], esi
lea rcx, str.__parse_client_hello
call fcn.00044148
xor eax, eax
jmp 0x3376c
lea rcx, str.got_no_ciphersuites_in_common
call fcn.00044148
mov edi, 0xffff8c80
mov r8b, 0x28
mov dl, 2
mov rcx, rbx
call fcn.0002b8c8
jmp 0x32c15
mov eax, dword [rbx + 0x20]
mov r8d, dword [rbx + 0x10]
lea rcx, str.client_only_supports_ssl_smaller_than_minimum___d:_d______d:_d_
mov dword [rsp + 0x20], eax
call fcn.00044148
mov r8b, 0x46
mov dl, 2
mov rcx, rbx
call fcn.0002b8c8
mov eax, 0xffff9180
jmp 0x3376c
lea rcx, str.bad_client_hello_message
call fcn.00044148
mov eax, 0xffff8700
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret