Function at 0x14004e690
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x128
mov r14, r9
mov rbx, r8
mov rdi, rdx
mov rsi, rcx
cmp byte [rdx + 0xf8], 0
je 0x14004e6c1
lea rcx, [r14 + 0x18]
call fcn.140173c10
mov r12, qword [0x14027e780]
mov rax, qword [r12]
cmp rax, 5
jne 0x14004e77e
mov qword [rsp + 0x40], r14
lea rax, [0x140052920]
mov qword [rsp + 0x48], rax
lea rax, str.Sending_frame:
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], 1
mov qword [rsp + 0xc0], 0
lea rax, [rsp + 0x40]
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], 1
lea rcx, [0x140202f40]
call fcn.1401a8410
lea rcx, str.tungstenite::protocolReceived_message
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], 0x15
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], 0x15
mov qword [rsp + 0x90], rax
lea rcx, [rsp + 0xa0]
lea r8, [rsp + 0x70]
mov edx, 5
xor r9d, r9d
call fcn.1401a8300
movups xmm0, xmmword [r14]
movdqu xmm1, xmmword [r14 + 0x10]
movdqa xmmword [rsp + 0x50], xmm1
mov rax, qword [r14 + 0x20]
mov qword [rsp + 0x60], rax
movaps xmmword [rsp + 0x40], xmm0
mov r14, qword [rsp + 0x50]
cmp r14, 0x10000
mov eax, 4
mov ecx, 0xa
cmovb rcx, rax
cmp r14, 0x7e
mov eax, 2
cmovae rax, rcx
movzx ebp, byte [rsp + 0x5f]
mov r15, qword [rdi + 0x80]
lea rcx, [r15 + r14]
lea rcx, [rcx + rbp*4]
add rcx, rax
cmp rcx, qword [rdi + 0xa0]
jbe 0x14004e80f
mov rax, qword [rsp + 0x40]
movups xmm0, xmmword [rsp + 0x48]
movaps xmmword [rsp + 0xa0], xmm0
movdqu xmm0, xmmword [rsp + 0x58]
movdqa xmmword [rsp + 0xb0], xmm0
mov r15d, 9
jmp 0x14004ed74
mov rax, qword [r12]
cmp rax, 5
jne 0x14004e8dd
lea rax, [rsp + 0x40]
mov qword [rsp + 0x118], rax
lea rax, [0x140173e50]
mov qword [rsp + 0x120], rax
lea rax, str.writing_frame
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], 1
mov qword [rsp + 0xc0], 0
lea rax, [rsp + 0x118]
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], 1
lea rcx, str.C:Userslucak.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tungstenite_0.24.0_srcprotocol_framemod.rsreceived_frame
call fcn.1401a8410
lea rcx, str.tungstenite::protocol::frameno_frame_received
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], 0x1c
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], 0x1c
mov qword [rsp + 0x90], rax
lea rcx, [rsp + 0xa0]
lea r8, [rsp + 0x70]
mov edx, 5
xor r9d, r9d
call fcn.1401a8300
mov r14, qword [rsp + 0x50]
movzx ebp, byte [rsp + 0x5f]
cmp r14, 0x10000
mov eax, 4
mov ecx, 0xa
cmovb rcx, rax
cmp r14, 0x7e
mov eax, 2
cmovae rax, rcx
xor ecx, ecx
test bpl, bpl
setne cl
lea r8, [r14 + rcx*4]
add r8, rax
mov rax, qword [rdi + 0x70]
sub rax, r15
cmp r8, rax
ja 0x14004ee93
movq xmm0, qword [rsp + 0x58]
movzx eax, byte [rsp + 0x5e]
movzx edx, word [rsp + 0x5c]
mov ecx, edx
shr ecx, 8
movzx ecx, cl
test dl, 1
mov qword [rsp + 0x38], rbx
jne 0x14004ea4c
cmp cl, 3
movzx eax, al
cmovb eax, ecx
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x98], rcx
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x30], rcx
mov r11d, dword [rsp + 0x60]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
pxor xmm1, xmm1
pcmpeqb xmm1, xmm0
movmskps ecx, xmm1
test cl, 8
sete dl
test cl, 4
sete r8b
test cl, 2
sete r15b
xor r9d, r9d
test cl, 1
sete r9b
shl r9d, 7
shl r15b, 6
shl r8b, 5
shl dl, 4
or r15b, r9b
or r15b, r8b
or r15b, dl
or r15b, al
xor eax, eax
cmp r14, 0x10000
setb al
mov ecx, 2
sub rcx, rax
xor al, 0x7f
xor ebx, ebx
cmp r14, 0x7e
movzx eax, al
cmovb eax, r14d
cmovae rbx, rcx
test bpl, bpl
setne r12b
shl r12b, 7
or r12b, al
mov rax, qword [rdi + 0x70]
mov r13, qword [rdi + 0x80]
sub rax, r13
cmp rax, 1
jbe 0x14004eebd
mov rax, qword [rdi + 0x78]
mov byte [rax + r13], r15b
mov byte [rax + r13 + 1], r12b
add r13, 2
mov qword [rdi + 0x80], r13
test rbx, rbx
je 0x14004ea63
cmp ebx, 1
mov r15, qword [rsp + 0x30]
jne 0x14004ea77
mov ebx, r14d
rol bx, 8
mov rcx, qword [rdi + 0x70]
sub rcx, r13
cmp rcx, 1
jbe 0x14004ef51
mov word [rax + r13], bx
add r13, 2
jmp 0x14004ea96
lea rdx, [0x140203b50]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
mov al, 8
jmp case.0x14004ea5a.3
mov rbx, qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
test bpl, bpl
jne 0x14004eaab
jmp 0x14004ecc5
mov rbx, r14
bswap rbx
mov rcx, qword [rdi + 0x70]
sub rcx, r13
cmp rcx, 7
jbe 0x14004ef88
mov qword [rax + r13], rbx
add r13, 8
mov qword [rdi + 0x80], r13
mov rbx, qword [rsp + 0x38]
test bpl, bpl
je 0x14004ecc5
mov rcx, qword [rdi + 0x70]
sub rcx, r13
cmp rcx, 3
jbe 0x14004ef1a
mov dword [rax + r13], r11d
add r13, 4
mov qword [rdi + 0x80], r13
test bpl, 1
je 0x14004ecc5
lea r10, [r15 + 3]
and r10, 0xfffffffffffffffc
sub r10, r15
mov rax, r14
sub rax, r10
jae 0x14004eb12
mov eax, 1
mov r8d, 4
xor r9d, r9d
mov r10, r14
xor edx, edx
mov dword [rsp + 0x6c], r11d
mov dword [rsp + 0xa0], r11d
test r10, r10
jne 0x14004eb3f
jmp 0x14004ebe8
lea r8, [r15 + r10]
mov r9, rax
shr r9, 2
mov edx, eax
and edx, 3
and rax, 0xfffffffffffffffc
add rax, r8
mov dword [rsp + 0x6c], r11d
mov dword [rsp + 0xa0], r11d
test r10, r10
je 0x14004ebe8
mov rcx, r10
xor r11d, r11d
and rcx, 3
je 0x14004eb7f
mov r15, qword [rsp + 0x30]
movzx ebx, byte [rsp + r11 + 0xa0]
xor byte [r15 + r11], bl
inc r11
cmp rcx, r11
jne 0x14004eb50
lea rcx, [r15 + r11]
cmp r10, 4
jae 0x14004eb8a
jmp 0x14004ebe8
mov al, 9
jmp case.0x14004ea5a.3
mov al, 0xa
jmp case.0x14004ea5a.3
mov rcx, qword [rsp + 0x30]
cmp r10, 4
jb 0x14004ebe8
mov rbx, qword [rsp + 0x30]
add rbx, r10
lea r12d, [r11 - 1]
and r12d, 3
mov r15d, r11d
and r15d, 3
xor r15, 2
lea ebp, [r11 + 1]
and ebp, 3
movzx r11d, byte [rsp + r11 + 0xa0]
movzx ebp, byte [rsp + rbp + 0xa0]
movzx r15d, byte [rsp + r15 + 0xa0]
movzx r12d, byte [rsp + r12 + 0xa0]
nop
xor byte [rcx], r11b
xor byte [rcx + 1], bpl
xor byte [rcx + 2], r15b
xor byte [rcx + 3], r12b
add rcx, 4
cmp rcx, rbx
jne 0x14004ebd0
mov ecx, r10d
shl ecx, 3
mov ebx, dword [rsp + 0x6c]
mov r11d, ebx
ror r11d, cl
test r10b, 3
cmove r11d, ebx
test r9, r9
je 0x14004ec8c
lea rcx, [r9 - 1]
movabs r10, 0x3fffffffffffffff
and r10, rcx
mov rcx, r8
cmp r10, 7
jb 0x14004ec70
inc r10
mov rbx, r10
and rbx, 0xfffffffffffffff8
lea rcx, [r8 + rbx*4]
movd xmm0, r11d
pshufd xmm0, xmm0, 0
xor r15d, r15d
nop
movdqu xmm1, xmmword [r8 + r15*4]
movdqu xmm2, xmmword [r8 + r15*4 + 0x10]
pxor xmm1, xmm0
pxor xmm2, xmm0
movdqu xmmword [r8 + r15*4], xmm1
movdqu xmmword [r8 + r15*4 + 0x10], xmm2
add r15, 8
cmp rbx, r15
jne 0x14004ec40
cmp r10, rbx
je 0x14004ec8c
lea r8, [r8 + r9*4]
nop word cs:[rax + rax]
xor dword [rcx], r11d
add rcx, 4
cmp rcx, r8
jne 0x14004ec80
test rdx, rdx
je 0x14004ecbb
xor byte [rax], r11b
cmp edx, 1
mov rbx, qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
je 0x14004ecc5
mov ecx, r11d
shr ecx, 8
xor byte [rax + 1], cl
cmp edx, 2
je 0x14004ecc5
shr r11d, 0x10
xor byte [rax + 2], r11b
jmp 0x14004ecc5
mov rbx, qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
mov rax, qword [rdi + 0x70]
sub rax, r13
cmp rax, r14
jb 0x14004eef0
mov rbp, qword [rdi + 0x78]
mov rcx, rbp
add rcx, r13
mov rdx, r15
mov r8, r14
call fcn.1401ef240
add r13, r14
mov qword [rdi + 0x80], r13
mov rdx, qword [rsp + 0x98]
test rdx, rdx
je 0x14004ed0f
mov r8d, 1
mov rcx, r15
call fcn.140055580
mov r15d, 0xf
cmp r13, qword [rdi + 0xa8]
jbe 0x14004ed74
nop
mov rcx, rbx
mov rdx, rbp
mov r8, r13
call fcn.140034180
mov r14, rdx
test rax, rax
jne 0x14004ee0d
test r14, r14
je 0x14004edf6
mov r8, r13
sub r8, r14
jb 0x14004efbf
mov qword [rdi + 0x80], 0
je 0x14004ed74
lea rdx, [r14 + rbp]
mov rcx, rbp
call fcn.1401ef240
sub r13, r14
mov qword [rdi + 0x80], r13
jne 0x14004ed20
mov qword [rsi], r15
mov qword [rsi + 8], rax
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmm1, xmmword [rsp + 0xb0]
movdqa xmm2, xmmword [rsp + 0xc0]
movaps xmm3, xmmword [rsp + 0xd0]
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi + 0x20], xmm1
movdqu xmmword [rsi + 0x30], xmm2
movups xmmword [rsi + 0x40], xmm3
movaps xmm0, xmmword [rsp + 0xe0]
movups xmmword [rsi + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0xf0]
movups xmmword [rsi + 0x60], xmm0
movdqa xmm0, xmmword [rsp + 0x100]
movdqu xmmword [rsi + 0x70], xmm0
mov rax, qword [rsp + 0x110]
mov qword [rsi + 0x80], rax
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rdx, str.Connection_reset_while_sendingParsed_headers
mov r8d, 0x1e
mov cl, 3
call fcn.14004b040
mov r14, rax
cmp byte [rdi + 0xfa], 2
jb 0x14004ee83
mov rcx, r14
call fcn.140051510
cmp al, 3
jne 0x14004ee83
mov qword [rsi], 3
mov eax, r14d
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x14004ede2
test rax, rax
je 0x14004ede2
mov rsi, qword [r14 - 1]
mov rdi, qword [r14 + 7]
mov rax, qword [rdi]
test rax, rax
je 0x14004ee53
mov rcx, rsi
call rax
dec r14
mov rdx, qword [rdi + 8]
test rdx, rdx
je 0x14004ee6b
mov r8, qword [rdi + 0x10]
mov rcx, rsi
call fcn.140055580
mov edx, 0x18
mov r8d, 8
mov rcx, r14
call fcn.140055580
jmp 0x14004ede2
mov qword [rsi], 5
mov qword [rsi + 8], r14
jmp 0x14004ede2
lea rcx, [rdi + 0x70]
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rdx, r15
call fcn.1401f03e0
mov r14, qword [rsp + 0x50]
movzx ebp, byte [rsp + 0x5f]
jmp 0x14004e91e
lea rcx, [rdi + 0x70]
mov qword [rsp + 0x20], 1
mov r8d, 2
mov r9d, 1
mov rdx, r13
mov r13d, r11d
call fcn.1401f03e0
mov r11d, r13d
mov r13, qword [rdi + 0x80]
jmp 0x14004ea02
lea rcx, [rdi + 0x70]
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rdx, r13
mov r8, r14
call fcn.1401f03e0
mov r13, qword [rdi + 0x80]
jmp 0x14004ecd5
lea rcx, [rdi + 0x70]
mov qword [rsp + 0x20], 1
mov r8d, 4
mov r9d, 1
mov rdx, r13
mov r12d, r11d
call fcn.1401f03e0
mov r11d, r12d
mov rax, qword [rdi + 0x78]
mov r13, qword [rdi + 0x80]
jmp 0x14004eabc
lea rcx, [rdi + 0x70]
mov qword [rsp + 0x20], 1
mov r8d, 2
mov r9d, 1
mov rdx, r13
mov r12d, r11d
call fcn.1401f03e0
mov r11d, r12d
mov rax, qword [rdi + 0x78]
mov r13, qword [rdi + 0x80]
jmp 0x14004ea41
lea rcx, [rdi + 0x70]
mov qword [rsp + 0x20], 1
mov r8d, 8
mov r9d, 1
mov rdx, r13
mov r12d, r11d
call fcn.1401f03e0
mov r11d, r12d
mov rax, qword [rdi + 0x78]
mov r13, qword [rdi + 0x80]
jmp 0x14004ea8e
ud2
add eax, 0x1b2584
add byte [rax], al
invalid
add byte [rcx - 0x41], al
add dword [rax], eax
add byte [rax], al
add byte [rdi], cl
sub byte [rsp + 0x190], al
add byte [rax], al
add byte [rax], al
add dword [rax], eax
add byte [rdi], cl
sub byte [rsp + 0x1b0], dl
and al, 0xb0
add dword [rax], eax
invalid
and al, 0xb0
add dword [rax], eax
add byte [rdi], cl
sub byte [rsp + 0x1c0], bl
add byte [rax - 0x39], cl
test byte [rax + rbp*2], ah
add dword [rax], eax
add byte [rcx], dl
add byte [rax], al
add byte [rax - 0x77], cl
mov word [rax + rsi*2], fs
add dword [rax], eax
add byte [rax - 0x39], cl
mov dword [rsp + 0x178], 0x11
invalid
invalid
test byte [rax + rax*4], ah
add dword [rax], eax
mov dword [rsp + 0x178], 0x11
insb byte [rdi], dx
and al, 0x50
and al, 0x3e
add byte [rax], al
xor cl, ch
cmc
cld
invalid
add byte [rcx - 0x48], al
invalid
add byte [rcx - 0x60cb17fd], dh
invalid
in al, 0xfb
invalid
jmp 0x1a64bfc1e
invalid
jmp 0x140051127
mov esi, 0x34eb03ed
in eax, dx
add ebp, ebx
xor al, 0x66
mov si, 0x3ee
jmp case.0x1400510de.0
out dx, al
add ebp, ebx
mov si, 0x3ef
mov si, 0x3ef
out dx, eax
add ebp, ebx
sub byte [rsi - 0x42], ah
invalid
invalid
invalid
add ebp, ebx
and ah, byte [rsi - 0x42]
invalid
invalid
int1
add ebp, ebx
sbb al, 0x66
mov si, 0x3f2
jmp case.0x1400510de.0
add ebp, ebx
invalid
popfq
loopne 0x1400511bb
add byte [rax + 1], cl
mov rsi, qword [rsp + 0x50]
sal byte [rcx + rdx + 0x41], 0xb8
add byte [rax], al
test eax, eax
mov esi, eax
invalid
mov dword [rdi + 0x18], esp
dec byte [rcx + rcx*4 + 0x73]
or byte [rax - 0x7d], cl
cmp rdi, 0x20
adc byte [rcx], dh
ror byte [rax - 0x77], 0xfa
mov ebx, dword [rsi + 0x10]
or ecx, esp
lea eax, [0x140203be8]
sbb eax, dword es:[rax]
add byte [rax + 0x63], cl
or al, 0x88
add byte [rax], al
add byte [rax], al
stc
add byte [rax], al
and ebx, eax
stc
and dword [rax], esp
add byte [rax], al
invalid
add byte [rax], al
stc
sbb byte [rbx], 0
invalid
add byte [rax], al
add byte [rax], al
add byte [rax], al
xchg esp, eax
add byte [rax], al
add byte [rcx + 0x461f9], al
add byte [rdi], cl
mov byte [rax], al
add cl, ch
int3
push rsp
and al, 0x60
mov qword [rsp + 0x48], rdx
lea rdx, [0x1402038d6]
mov qword [rsp + 0x38], rdx
lea rdx, [0x140203888]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x40], 6
and al, 0x40
invalid
add byte [rax], al
add byte [rax - 0x39], cl
and al, 0x20
add al, 0
add byte [rax], al
lea rdx, [0x1402038c8]
fldenv [rax]
sbb eax, dword [rax]
fldenv [rax]
sbb eax, dword [rax]
lea r9, [0x1402038d2]
mov r8d, 0xa
mov rcx, rax
call fcn.1401d3520
nop
add rsp, 0x68
add esp, 0x68
add byte [rax], al
or byte [rax + 0x33], 8
cmp rcx, 5
sbb byte [rax], al
jmp fcn.1401d17a0
mov ecx, dword [rdi + 0x10]
add byte [rdi], cl
movabs dword [0x8d481fe1833c73ca], eax
lea rdx, [rcx + rcx*4]
and al, 0x20
add byte [rax], al
add byte [rax + 0x48c80148], al
enter 0xffffffffffff8348, 0xffffffffffffffc0
cmc
invalid
lea ecx, [rax - 1]
sub esp, 0x38
sub eax, dword [rcx + 0x500]
pop rsi
cdq
add byte [0xe67924e4], al
mov dword [rax + 0x518], 0
lea edx, [rsp + 0x50]
fmul dword [rbp + rcx*4 + 0x4c]
and al, 0x50
and al, 0x20
add dword [rax], eax
add bl, dh
movq mm3, qword [rsp + 0x130]
invalid