Function at 0x1401b49b0
Capabilities:
Encrypt data via sspi

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xe8
mov r15, r9
mov rbx, r8
mov rdi, rdx
mov rsi, rcx
mov rax, qword [0x1403f6a88]
lea r14, [0x14033a3c0]
cmp rax, 5
jne 0x1401b4aac
mov rax, qword [0x1403f6038]
cmp rax, 2
mov rax, qword [0x140305048]
cmovne rax, r14
lea rcx, [0x1403d7910]
cmove rcx, qword [0x140305040]
mov qword [rsp + 0x68], 5
lea rdx, str.tokio_tungstenite::compat_Users_sh1n_.cargo_registry_src_rsproxy.cn_8f6827c7555bfaf8_tokio_tungstenite_0.20.1_src_compat.rs
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], 0x19
lea r8, str._Users_sh1n_.cargo_registry_src_rsproxy.cn_8f6827c7555bfaf8_tokio_tungstenite_0.20.1_src_compat.rs:167_Write.write
mov qword [rsp + 0x88], r8
mov qword [rsp + 0x90], 1
lea r8, [rsp + 0x30]
mov qword [rsp + 0x98], r8
xorps xmm0, xmm0
movups xmmword [rsp + 0xa0], xmm0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], 0x19
mov qword [rsp + 0x50], 0
lea rdx, [0x14033e511]
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], 0x62
movabs rdx, 0xa700000001
mov qword [rsp + 0x80], rdx
lea rdx, [rsp + 0x38]
call qword [rax + 0x20]
mov rax, qword [0x1403f6a88]
cmp rax, 5
jne 0x1401b4b82
mov rax, qword [0x1403f6038]
cmp rax, 2
mov rax, qword [0x140305048]
cmovne rax, r14
lea rcx, [0x1403d7910]
cmove rcx, qword [0x140305040]
mov qword [rsp + 0x68], 5
lea rdx, str.tokio_tungstenite::compat_Users_sh1n_.cargo_registry_src_rsproxy.cn_8f6827c7555bfaf8_tokio_tungstenite_0.20.1_src_compat.rs
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], 0x19
lea r8, str._Users_sh1n_.cargo_registry_src_rsproxy.cn_8f6827c7555bfaf8_tokio_tungstenite_0.20.1_src_compat.rs:126_AllowStd.with_context
mov qword [rsp + 0x88], r8
mov qword [rsp + 0x90], 1
lea r8, [rsp + 0x30]
mov qword [rsp + 0x98], r8
xorps xmm0, xmm0
movups xmmword [rsp + 0xa0], xmm0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], 0x19
mov qword [rsp + 0x50], 0
lea rdx, [0x14033e511]
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], 0x62
movabs rdx, 0x7e00000001
mov qword [rsp + 0x80], rdx
lea rdx, [rsp + 0x38]
call qword [rax + 0x20]
mov rax, qword [rdi + 0x128]
add rax, 0x10
lea rcx, [0x14033e0f8]
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
lea rax, [rsp + 0xc8]
mov qword [rsp + 0xc0], rax
mov rax, qword [0x1403f6a88]
cmp rax, 5
jne 0x1401b4c88
mov rax, qword [0x1403f6038]
cmp rax, 2
cmove r14, qword [0x140305048]
lea rcx, [0x1403d7910]
cmove rcx, qword [0x140305040]
mov qword [rsp + 0x68], 5
lea rax, str.tokio_tungstenite::compat_Users_sh1n_.cargo_registry_src_rsproxy.cn_8f6827c7555bfaf8_tokio_tungstenite_0.20.1_src_compat.rs
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0x19
lea rdx, str._Users_sh1n_.cargo_registry_src_rsproxy.cn_8f6827c7555bfaf8_tokio_tungstenite_0.20.1_src_compat.rs:169_Write.with_context_write____poll_write
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x90], 1
lea rdx, [rsp + 0x30]
mov qword [rsp + 0x98], rdx
xorps xmm0, xmm0
movups xmmword [rsp + 0xa0], xmm0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 0x19
mov qword [rsp + 0x50], 0
lea rax, [0x14033e511]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 0x62
movabs rax, 0xa900000001
mov qword [rsp + 0x80], rax
lea rdx, [rsp + 0x38]
call qword [r14 + 0x20]
cmp dword [rdi], 2
jne 0x1401b4cbf
add rdi, 8
mov qword [rsp + 0x20], r15
lea rcx, [rsp + 0x38]
lea r8, [rsp + 0xc0]
mov rdx, rdi
mov r9, rbx
call fcn.1402c8f50
cmp qword [rsp + 0x38], 2
je 0x1401b502f
jmp 0x1401b504a
lea rax, [rsp + 0xc0]
mov qword [rdi + 0x38], rax
lea rcx, [rsp + 0x38]
mov rdx, rdi
call fcn.1401b12b0
mov eax, dword [rsp + 0x38]
cmp eax, 2
jne case.default.0x1401b4cf9
mov rbx, qword [rsp + 0x40]
mov eax, ebx
and eax, 3
lea rcx, [0x14030afe8]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
movzx eax, byte [rbx + 0x10]
cmp al, 0xd
je 0x1401b5007
jmp 0x1401b5011
test eax, eax
je 0x1401b4e79
mov rdx, qword [rdi + 0xb0]
mov r14, qword [rdi + 0xb8]
cmp r14, rdx
jne 0x1401b4ed3
mov r12, qword [rsp + 0x40]
mov ebp, r12d
shr r12, 0x20
cmp r15, r12
cmovb r12, r15
mov r15d, dword [rsp + 0x3c]
lea r8, [r12 + r15]
add rbp, r8
sub rbp, r14
mov qword [rsp + 0xb8], r8
jbe 0x1401b4da7
mov rax, qword [rdi + 0xa8]
sub rax, r14
cmp rax, rbp
jb 0x1401b5066
mov r13, qword [rdi + 0xa0]
lea rcx, [r14 + r13]
cmp rbp, 2
jb 0x1401b4d9a
lea r8, [rbp - 1]
xor edx, edx
call sub.msvcrt.dll_memset
mov r8, qword [rsp + 0xb8]
add r14, rbp
dec r14
add r13, r14
mov rcx, r13
mov byte [rcx], 0
inc r14
mov qword [rdi + 0xb0], r14
cmp r14, r8
jb 0x1401b50ca
mov r13, qword [rdi + 0xa0]
lea rbp, [r15 + r13]
mov rcx, rbp
mov rdx, rbx
mov r8, r12
call sub.msvcrt.dll_memcpy
cmp r14, r15
jb 0x1401b50e3
mov rax, qword [rsp + 0xb8]
sub r14d, eax
add rax, r13
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x3c], 7
mov qword [rsp + 0x40], r13
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x4c], 1
mov qword [rsp + 0x50], rbp
mov dword [rsp + 0x58], r14d
mov dword [rsp + 0x5c], 6
mov qword [rsp + 0x60], rax
movabs rax, 0x400000000
mov qword [rsp + 0xd8], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0xe0], rax
lea rcx, [rdi + 0xc0]
lea r8, [rsp + 0xd8]
xor edx, edx
xor r9d, r9d
call sub.secur32.dll_EncryptMessage
test eax, eax
je 0x1401b4e9c
mov ebx, eax
shl rbx, 0x20
or rbx, 2
mov eax, ebx
and eax, 3
lea rcx, [0x14030afe8]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
movabs rbx, 0x8009031700000002
mov rcx, rbx
shr rcx, 0x20
call fcn.140290850
cmp al, 0xd
je 0x1401b5007
jmp 0x1401b5011
mov eax, dword [rsp + 0x48]
add eax, dword [rsp + 0x38]
add eax, dword [rsp + 0x58]
mov rdx, qword [rdi + 0xb0]
cmp rdx, rax
jb 0x1401b4ebe
mov qword [rdi + 0xb0], rax
mov rdx, rax
mov qword [rdi + 0xb8], 0
mov qword [rdi + 0x100], r12
xor r14d, r14d
cmp r14, rdx
je 0x1401b4f52
lea r15, [rdi + 0x10]
lea r12, [rsp + 0x38]
nop word cs:[rax + rax]
mov rax, rdx
sub rax, r14
jb 0x1401b509f
mov r8, qword [rdi + 0x38]
test r8, r8
je 0x1401b50b0
mov r9, qword [rdi + 0xa0]
add r9, r14
mov qword [rsp + 0x20], rax
mov rcx, r12
mov rdx, r15
call fcn.1402c8f50
mov rax, qword [rsp + 0x38]
cmp rax, 2
je 0x1401b5007
mov rbx, qword [rsp + 0x40]
test rax, rax
jne 0x1401b4f80
add r14, rbx
mov qword [rdi + 0xb8], r14
mov rdx, qword [rdi + 0xb0]
cmp r14, rdx
jne 0x1401b4ef0
mov rax, qword [rdi + 0x100]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], rax
mov qword [rdi + 0x38], 0
cmp qword [rsp + 0x38], 2
je 0x1401b502f
jmp 0x1401b504a
mov eax, ebx
and eax, 3
lea rcx, [0x14030afe8]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
cmp byte [rbx + 0xf], 0xd
jne 0x1401b5011
lea r14, [rbx - 1]
mov qword [rsp + 0x38], 2
mov qword [rdi + 0x38], 0
mov rdi, qword [rbx - 1]
mov rbx, qword [rbx + 7]
mov rcx, rdi
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x1401b4fe0
cmp qword [rbx + 0x10], 0x11
jb 0x1401b4fcf
mov rdi, qword [rdi - 8]
mov rcx, qword [0x1403f6548]
xor edx, edx
mov r8, rdi
call fcn.140302ad4
mov rcx, qword [0x1403f6548]
xor edx, edx
mov r8, r14
call fcn.140302ad4
cmp qword [rsp + 0x38], 2
je 0x1401b502f
jmp 0x1401b504a
mov rax, rbx
shr rax, 0x20
cmp eax, 0xd
jne 0x1401b5011
mov qword [rdi + 0x38], 0
jmp 0x1401b502f
mov qword [rsp + 0x38], 1
mov qword [rsp + 0x40], rbx
mov qword [rdi + 0x38], 0
cmp qword [rsp + 0x38], 2
jne 0x1401b504a
movabs rax, 0xd00000000
or rax, 3
mov qword [rsi + 8], rax
mov qword [rsi], 1
jmp 0x1401b5052
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rsi], xmm0
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rdi + 0xa0]
mov rdx, r14
mov r14, r8
mov r8, rbp
call fcn.1400f68e0
mov r8, r14
mov r14, qword [rdi + 0xb0]
mov r13, qword [rdi + 0xa0]
lea rcx, [r14 + r13]
cmp rbp, 2
jae 0x1401b4d7b
jmp 0x1401b4d9a
lea r8, [0x140341978]
mov rcx, r14
call fcn.140136e60
ud2
lea rcx, str.assertion_failed:__self.context.is_null__
lea r8, [0x14033e360]
mov edx, 0x29
call fcn.140137ef0
ud2
lea r8, [0x1403418f0]
mov rcx, qword [rsp + 0xb8]
mov rdx, r14
call fcn.140137b60
ud2
lea r8, [0x140341908]
mov rcx, r15
mov rdx, r14
call fcn.140137b60
ud2
add dword [rax], eax
add byte [rcx + rcx*4 - 0x1e], cl
mov edx, esp
mov edx, esp
mov edx, esp
invalid
pop rsp
and al, 0x40
invalid
lea ecx, [0x14030b018]
adc r11b, r13b
invalid
add byte [rax], al
invalid
lea edi, [0x14032a3d8]
mov eax, dword [rsi + 0x240]
mov word [rax + rsi*4], fs
add al, byte [rax]
add byte [rdi], cl
sub dword [rsp + 0x2a0], eax
sub byte [rax - 0x77], cl
pushfq
and al, 0xb8
add al, 0
add byte [rax - 0x77], cl
test byte [rax + rax*8], ah
and al, 0xc0
and al, 0xc0
add al, 0
add byte [rcx + rcx*4 - 0x4c], cl
and al, 0xc8
add al, 0
add byte [rcx + rcx*4 - 0x6c], cl
add byte [rax], al
mov ecx, eax
and al, 0x60
add dword [rax], eax
add byte [rdi], cl
adc byte [rsp + 0x68], al
and al, 0x68
and al, 0x68
add byte [rax], al
add byte [rdi], cl
sub dword [rsp + 0x1a0], eax
clc
sbb byte [rax], al
mov rcx, rdi
call fcn.140290f50
jmp 0x1401b9b2c
mov esi, eax
lea rdx, str._e_
invalid
sbb byte [rax], al
mov rcx, rdi
call fcn.140290f50
invalid
mov rcx, rsi
sub rsp, 0xa8
mov rsi, rdx
mov rdi, rcx
mov rax, qword [rdx]