Function at 0x14006e580
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xf0
mov rax, qword [0x14015d040]
xor rax, rsp
mov qword [rbp + 0x27], rax
xor esi, esi
lea r14, [rsi - 1]
movabs r13, 0x7ffffffffd050f7f
movabs r12, 0x7fffffffffffffff
cmp byte [0x14016694b], sil
je 0x14006e7ac
lea rcx, [rbp - 0x79]
call fcn.140005a00
mov rax, qword [rbp - 0x79]
cmp rax, r13
jge 0x14006e5f7
add rax, 0x2faf080
mov qword [rbp - 0x79], rax
jmp 0x14006e5fb
mov qword [rbp - 0x79], r12
lea rcx, [rbp - 0x79]
call fcn.14002dce0
mov rdx, qword [0x140167a98]
cmp byte [rdx + 0x1d0], sil
je 0x14006e7ac
mov dword [rbp - 0x79], 0x8c9e8e90
mov word [rbp - 0x75], 0x100
mov rcx, rsi
nop dword [rax + rax]
lea eax, [rcx - 0x2b]
xor byte [rbp + rcx - 0x79], al
inc rcx
cmp rcx, 4
jb 0x14006e630
mov byte [rbp - 0x74], sil
lea rcx, [rbp - 0x79]
mov rax, r14
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], sil
jne 0x14006e650
lea rcx, [rdx + 0x140]
cmp qword [rdx + 0x158], 0xf
jbe 0x14006e671
mov rcx, qword [rdx + 0x140]
mov r8, qword [rdx + 0x150]
cmp r8, rax
jne 0x14006e68a
lea rdx, [rbp - 0x79]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14006e68c
mov al, 1
test al, al
je 0x14006e7ac
movdqa xmm0, xmmword [0x140134a20]
movdqu xmmword [rbp - 0x79], xmm0
mov dword [rbp - 0x69], 0xc79b929d
mov dword [rbp - 0x65], 0xcc858b8b
mov word [rbp - 0x61], 0x100
mov rcx, rsi
nop dword [rax + rax]
lea eax, [rcx - 0x2b]
xor byte [rbp + rcx - 0x79], al
inc rcx
cmp rcx, 0x18
jb 0x14006e6c0
mov byte [rbp - 0x60], sil
lea rax, [rbp - 0x79]
mov rcx, r14
nop dword [rax + rax]
inc rcx
cmp byte [rax + rcx], sil
jne 0x14006e6e0
mov rdx, qword [0x140167120]
mov rax, r12
sub rax, rdx
cmp rax, rcx
jb 0x14006f18e
lea rax, [0x140167110]
cmp qword [0x140167128], 0xf
cmova rax, qword [0x140167110]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r9, [rbp - 0x79]
lea rcx, [rbp + 7]
call fcn.14002d380
lea rax, [rbp + 7]
mov qword [rbp - 0x79], rax
mov r15, qword [0x140167a98]
cmp qword [r15 + 0x10], 0
je 0x14006e7a3
cmp qword [r15 + 8], 0
je 0x14006e7a3
mov rdx, qword [rbp + 0x17]
add rdx, 5
xor ecx, ecx
lea r8d, [rcx + 1]
call fcn.140061a00
mov rdi, rax
mov rbx, qword [rax + 0x10]
mov dword [rbx], 2
lea rdx, [rbp + 7]
cmp qword [rbp + 0x1f], 0xf
cmova rdx, qword [rbp + 7]
lea rcx, [rbx + 4]
mov r8, qword [rbp + 0x17]
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rbp + 0x17]
xor eax, eax
mov byte [rdx + rbx + 4], al
xor r8d, r8d
mov rdx, rdi
mov rcx, r15
call fcn.140108190
nop
lea rcx, [rbp + 7]
call fcn.14002b140
movabs r15, 0x7ffffffffb87973f
cmp byte [0x14016692f], 0
je 0x14006ea0e
lea rcx, [rbp - 0x79]
call fcn.140005a00
mov rax, qword [rbp - 0x79]
cmp rax, r15
jge 0x14006e7e1
add rax, 0x47868c0
mov qword [rbp - 0x79], rax
jmp 0x14006e7e5
mov qword [rbp - 0x79], r12
lea rcx, [rbp - 0x79]
call fcn.14002dce0
movdqa xmm0, xmmword [0x140135940]
movdqu xmmword [rbp - 0x79], xmm0
mov dword [rbp - 0x69], 0xc8948d86
mov dword [rbp - 0x65], 0xddcb8480
mov dword [rbp - 0x61], 0x91a9cedd
mov word [rbp - 0x5d], 0x83
mov byte [rbp - 0x5b], 1
mov rcx, rsi
nop dword [rax]
lea eax, [rcx - 0x2b]
xor byte [rbp + rcx - 0x79], al
inc rcx
cmp rcx, 0x1d
jb 0x14006e820
mov byte [rbp - 0x5b], 0
xorps xmm0, xmm0
movups xmmword [rbp + 7], xmm0
mov qword [rbp + 0x17], rsi
mov qword [rbp + 0x1f], rsi
lea rax, [rbp - 0x79]
mov r8, r14
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14006e850
lea rdx, [rbp - 0x79]
lea rcx, [rbp + 7]
call fcn.14002c630
lea rcx, [rbp + 7]
call fcn.1400d15c0
mov rdi, qword [0x140167a98]
mov rax, qword [rdi + 0x258]
mov rbx, qword [rax]
cmp rbx, rax
je 0x14006ea0e
nop word [rax + rax]
cvttss2si edx, dword [rdi + 0x1c4]
cvttss2si r8d, dword [rdi + 0x1c0]
movss xmm0, dword [rbx + 0x1c]
cvttss2si eax, xmm0
movss xmm1, dword [rbx + 0x18]
cvttss2si ecx, xmm1
sub edx, eax
sub r8d, ecx
imul r8d, r8d
imul edx, edx
add r8d, edx
cmp r8d, 0x19000
jg 0x14006e9fb
mov word [rbp - 0x58], 0
mov byte [rbp - 0x56], 0
mov qword [rbp - 0x55], rsi
mov qword [rbp - 0x4d], 0x4030
mov qword [rbp - 0x39], 0
mov qword [rbp - 0x31], 0
mov dword [rbp - 0x29], esi
xor eax, eax
mov qword [rbp - 0x25], rax
movss dword [rbp - 0x41], xmm1
movss dword [rbp - 0x3d], xmm0
mov byte [rbp - 0x59], listen
mov eax, dword [rbx + 0x24]
mov dword [rbp - 0x45], eax
cmp byte [rdi + 0x1d0], 0
je 0x14006e9fb
mov dword [rbp - 0x79], 0x8c9e8e90
mov word [rbp - 0x75], 0x100
mov rcx, rsi
nop
lea eax, [rcx - 0x2b]
xor byte [rbp + rcx - 0x79], al
inc rcx
cmp rcx, 4
jb 0x14006e930
mov byte [rbp - 0x74], 0
lea rcx, [rbp - 0x79]
mov rax, r14
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x14006e950
lea rcx, [rdi + 0x140]
cmp qword [rdi + 0x158], 0xf
jbe 0x14006e971
mov rcx, qword [rdi + 0x140]
mov r8, qword [rdi + 0x150]
cmp r8, rax
jne 0x14006e98a
lea rdx, [rbp - 0x79]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14006e9fb
cmp qword [rdi + 0x10], 0
je 0x14006e9fb
cmp qword [rdi + 8], 0
je 0x14006e9fb
mov edx, 0x41
xor ecx, ecx
lea r8d, [rdx - 0x40]
call fcn.140061a00
mov r8, qword [rax + 0x10]
mov dword [r8], 4
movups xmm0, xmmword [rbp - 0x59]
movups xmmword [r8 + 4], xmm0
movups xmm1, xmmword [rbp - 0x49]
movups xmmword [r8 + 0x14], xmm1
movups xmm0, xmmword [rbp - 0x39]
movups xmmword [r8 + 0x24], xmm0
movsd xmm1, qword [rbp - 0x29]
movsd qword [r8 + 0x34], xmm1
mov edx, dword [rbp - 0x21]
mov dword [r8 + 0x3c], edx
xor ecx, ecx
mov byte [r8 + 0x40], cl
xor r8d, r8d
mov rdx, rax
mov rcx, rdi
call fcn.140108190
mov rdi, qword [0x140167a98]
mov rax, qword [rbx]
mov rbx, rax
cmp rax, qword [rdi + 0x258]
jne 0x14006e890
cmp byte [0x140166973], 0
je 0x14006eb40
lea rcx, [rbp - 0x79]
call fcn.140005a00
mov rax, qword [rbp - 0x79]
cmp rax, r15
jge 0x14006ea39
add rax, 0x47868c0
mov qword [rbp - 0x79], rax
jmp 0x14006ea3d
mov qword [rbp - 0x79], r12
lea rcx, [rbp - 0x79]
call fcn.14002dce0
mov rdx, qword [0x140167a98]
cmp byte [rdx + 0x1d0], 0
je 0x14006eb40
mov dword [rbp - 0x79], 0x8c9e8e90
mov word [rbp - 0x75], 0x100
mov rcx, rsi
nop word [rax + rax]
lea eax, [rcx - 0x2b]
xor byte [rbp + rcx - 0x79], al
inc rcx
cmp rcx, 4
jb 0x14006ea70
mov byte [rbp - 0x74], 0
lea rcx, [rbp - 0x79]
mov rax, r14
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x14006ea90
lea rcx, [rdx + 0x140]
cmp qword [rdx + 0x158], 0xf
jbe 0x14006eab1
mov rcx, qword [rdx + 0x140]
mov r8, qword [rdx + 0x150]
cmp r8, rax
jne 0x14006eaca
lea rdx, [rbp - 0x79]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14006eacc
mov al, 1
test al, al
je 0x14006eb40
mov dword [rbp - 0x79], 0xb6b6b4fa
mov dword [rbp - 0x75], 0xb7b6b8
mov byte [rbp - 0x71], 1
mov rcx, rsi
nop word [rax + rax]
lea eax, [rcx - 0x2b]
xor byte [rbp + rcx - 0x79], al
inc rcx
cmp rcx, 7
jb 0x14006eaf0
mov byte [rbp - 0x71], 0
xorps xmm0, xmm0
movups xmmword [rbp + 7], xmm0
mov qword [rbp + 0x17], rsi
mov qword [rbp + 0x1f], rsi
lea rax, [rbp - 0x79]
mov r8, r14
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14006eb20
lea rdx, [rbp - 0x79]
lea rcx, [rbp + 7]
call fcn.14002c630
lea rcx, [rbp + 7]
call fcn.14000f790
cmp byte [0x140166983], 0
je 0x14006ed2f
lea rcx, [rbp - 0x79]
call fcn.140005a00
mov rax, qword [rbp - 0x79]
cmp rax, r15
jge 0x14006eb6b
add rax, 0x47868c0
mov qword [rbp - 0x79], rax
jmp 0x14006eb6f
mov qword [rbp - 0x79], r12
lea rcx, [rbp - 0x79]
call fcn.14002dce0
mov byte [0x140166957], 1
mov rdx, qword [0x140167a98]
cmp byte [rdx + 0x1d0], 0
je 0x14006ed28
mov dword [rbp - 0x79], 0x8c9e8e90
mov word [rbp - 0x75], 0x100
mov rcx, rsi
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x2b]
xor byte [rbp + rcx - 0x79], al
inc rcx
cmp rcx, 4
jb 0x14006ebb0
mov byte [rbp - 0x74], 0
lea rcx, [rbp - 0x79]
mov rax, r14
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x14006ebd0
lea rcx, [rdx + 0x140]
cmp qword [rdx + 0x158], 0xf
jbe 0x14006ebf1
mov rcx, qword [rdx + 0x140]
mov r8, qword [rdx + 0x150]
cmp r8, rax
jne 0x14006ec0a
lea rdx, [rbp - 0x79]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14006ec0c
mov al, 1
test al, al
je 0x14006ed28
movdqa xmm0, xmmword [0x140134a20]
movdqu xmmword [rbp - 0x79], xmm0
mov dword [rbp - 0x69], 0xc79b929d
mov dword [rbp - 0x65], 0x8f8a849c
mov dword [rbp - 0x61], 0x839c8b8e
mov word [rbp - 0x5d], 0x100
mov rcx, rsi
nop
lea eax, [rcx - 0x2b]
xor byte [rbp + rcx - 0x79], al
inc rcx
cmp rcx, 0x1c
jb 0x14006ec40
mov byte [rbp - 0x5c], 0
xorps xmm0, xmm0
movups xmmword [rbp + 7], xmm0
mov qword [rbp + 0x17], rsi
mov qword [rbp + 0x1f], rsi
lea rax, [rbp - 0x79]
mov r8, r14
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14006ec70
lea rdx, [rbp - 0x79]
lea rcx, [rbp + 7]
call fcn.14002c630
mov r9d, 2
lea r8, [rbp + 7]
xor edx, edx
call fcn.140108b90
movdqa xmm0, xmmword [0x140134930]
movdqu xmmword [rbp - 0x59], xmm0
movdqa xmm1, xmmword [0x140136260]
movdqu xmmword [rbp - 0x49], xmm1
mov dword [rbp - 0x39], 0x99998389
mov dword [rbp - 0x35], 0x8f9e999a
mov word [rbp - 0x31], 0x8e
mov byte [rbp - 0x2f], 1
mov rcx, rsi
nop dword [rax]
lea eax, [rcx - 0x2b]
xor byte [rbp + rcx - 0x59], al
inc rcx
cmp rcx, 0x29
jb 0x14006ecd0
mov byte [rbp - 0x2f], 0
xorps xmm0, xmm0
movups xmmword [rbp + 7], xmm0
mov qword [rbp + 0x17], rsi
mov qword [rbp + 0x1f], rsi
lea rax, [rbp - 0x59]
mov r8, r14
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14006ed00
lea rdx, [rbp - 0x59]
lea rcx, [rbp + 7]
call fcn.14002c630
mov r9d, 2
lea r8, [rbp + 7]
xor edx, edx
call fcn.140108b90
mov byte [0x140166961], 1
cmp byte [0x140166949], 0
je 0x14006f01e
lea rcx, [rbp - 0x79]
call fcn.140005a00
mov rax, qword [rbp - 0x79]
cmp rax, r13
jge 0x14006ed5a
add rax, 0x2faf080
mov qword [rbp - 0x79], rax
jmp 0x14006ed5e
mov qword [rbp - 0x79], r12
lea rcx, [rbp - 0x79]
call fcn.14002dce0
lea rdx, [0x140167370]
lea rcx, [rbp + 7]
call fcn.14002a640
nop
mov rbx, qword [0x140167a98]
cmp byte [rbx + 0x1d0], 0
je 0x14006f010
mov dword [rbp - 0x79], 0x8c9e8e90
mov word [rbp - 0x75], 0x100
mov rcx, rsi
nop dword [rax]
lea eax, [rcx - 0x2b]
xor byte [rbp + rcx - 0x79], al
inc rcx
cmp rcx, 4
jb 0x14006eda0
mov byte [rbp - 0x74], 0
lea rcx, [rbp - 0x79]
mov rax, r14
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x14006edc0
lea rcx, [rbx + 0x140]
cmp qword [rbx + 0x158], 0xf
jbe 0x14006ede1
mov rcx, qword [rbx + 0x140]
mov r8, qword [rbx + 0x150]
cmp r8, rax
jne 0x14006edfa
lea rdx, [rbp - 0x79]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14006edfc
mov al, 1
test al, al
je 0x14006ee96
movdqa xmm0, xmmword [0x1401320b0]
movdqu xmmword [rbp - 0x79], xmm0
mov byte [rbp - 0x69], 1
mov rcx, rsi
nop dword [rax + rax]
lea eax, [rcx - 0x2b]
xor byte [rbp + rcx - 0x79], al
inc rcx
cmp rcx, 0xf
jb 0x14006ee20
mov byte [rbp - 0x69], 0
lea rax, [rbp - 0x79]
mov rcx, r14
nop dword [rax + rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x14006ee40
mov rax, r12
mov rdx, qword [rbp + 0x17]
sub rax, rdx
cmp rax, rcx
jb 0x14006f194
lea rax, [rbp + 7]
cmp qword [rbp + 0x1f], 0xf
cmova rax, qword [rbp + 7]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r9, [rbp - 0x79]
lea rcx, [rbp - 0x19]
call fcn.14002d380
lea rcx, [rbp - 0x19]
call fcn.1400d15c0
mov rbx, qword [0x140167a98]
cmp byte [rbx + 0x1d0], 0
je 0x14006f010
mov dword [rbp - 0x79], 0x8c9e8e90
mov word [rbp - 0x75], 0x100
mov rcx, rsi
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x2b]
xor byte [rbp + rcx - 0x79], al
inc rcx
cmp rcx, 4
jb 0x14006eec0
mov byte [rbp - 0x74], 0
lea rcx, [rbp - 0x79]
mov rax, r14
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x14006eee0
lea rcx, [rbx + 0x140]
cmp qword [rbx + 0x158], 0xf
jbe 0x14006ef01
mov rcx, qword [rbx + 0x140]
mov r8, qword [rbx + 0x150]
cmp r8, rax
jne 0x14006ef1a
lea rdx, [rbp - 0x79]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14006ef1c
mov al, 1
test al, al
je 0x14006f010
movdqa xmm0, xmmword [0x1401361f0]
movdqu xmmword [rbp - 0x79], xmm0
mov dword [rbp - 0x69], 0xe2939580
mov dword [rbp - 0x65], 0x89868b87
mov word [rbp - 0x61], 0x91
mov byte [rbp - 0x5f], 1
mov rcx, rsi
nop dword [rax]
lea eax, [rcx - 0x2b]
xor byte [rbp + rcx - 0x79], al
inc rcx
cmp rcx, 0x19
jb 0x14006ef50
mov byte [rbp - 0x5f], 0
lea rax, [rbp - 0x79]
nop dword [rax + rax]
inc r14
cmp byte [rax + r14], 0
jne 0x14006ef70
mov rcx, qword [rbp + 0x17]
sub r12, rcx
cmp r12, r14
jb 0x14006f188
lea rax, [rbp + 7]
cmp qword [rbp + 0x1f], 0xf
cmova rax, qword [rbp + 7]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
lea r9, [rbp - 0x79]
lea rcx, [rbp - 0x19]
call fcn.14002d380
nop
movdqa xmm0, xmmword [0x140132090]
movdqu xmmword [rbp - 0x79], xmm0
mov byte [rbp - 0x69], 1
nop word [rax + rax]
lea eax, [rsi - 0x2b]
xor byte [rbp + rsi - 0x79], al
inc rsi
cmp rsi, 0xf
jb 0x14006efd0
mov byte [rbp - 0x69], 0
lea r8, [rbp - 0x79]
lea rdx, [rbp - 0x19]
lea rcx, [rbp - 0x59]
call fcn.14002b6d0
mov r9d, 3
mov r8, rax
xor edx, edx
call fcn.140108b90
nop
lea rcx, [rbp - 0x19]
call fcn.14002b140
nop
lea rcx, [rbp + 7]
call fcn.14002b140
jmp 0x14006f15b
cmp byte [0x1401669ad], 0
je 0x14006f15b
lea rcx, [rbp - 0x79]
call fcn.140005a00
mov rax, qword [rbp - 0x79]
cmp rax, r13
jge 0x14006f049
add rax, 0x2faf080
mov qword [rbp - 0x79], rax
jmp 0x14006f04d
mov qword [rbp - 0x79], r12
lea rcx, [rbp - 0x79]
call fcn.14002dce0
mov rdx, qword [0x140167a98]
cmp byte [rdx + 0x1d0], 0
je 0x14006f15b
mov dword [rbp - 0x79], 0x8c9e8e90
mov word [rbp - 0x75], 0x100
mov rcx, rsi
nop word [rax + rax]
lea eax, [rcx - 0x2b]
xor byte [rbp + rcx - 0x79], al
inc rcx
cmp rcx, 4
jb 0x14006f080
mov byte [rbp - 0x74], 0
lea rcx, [rbp - 0x79]
mov rax, r14
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x14006f0a0
lea rcx, [rdx + 0x140]
cmp qword [rdx + 0x158], 0xf
jbe 0x14006f0c1
mov rcx, qword [rdx + 0x140]
mov r8, qword [rdx + 0x150]
cmp r8, rax
jne 0x14006f0de
lea rdx, [rbp - 0x79]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14006f15b
movdqa xmm0, xmmword [0x140134b30]
movdqu xmmword [rbp - 0x79], xmm0
mov dword [rbp - 0x69], 0x938f9d
mov byte [rbp - 0x65], 1
mov rcx, rsi
nop dword [rax]
lea eax, [rcx - 0x2b]
xor byte [rbp + rcx - 0x79], al
inc rcx
cmp rcx, 0x13
jb 0x14006f100
mov byte [rbp - 0x65], 0
xorps xmm0, xmm0
movups xmmword [rbp + 7], xmm0
mov qword [rbp + 0x17], rsi
mov qword [rbp + 0x1f], rsi
lea rax, [rbp - 0x79]
nop word [rax + rax]
inc r14
cmp byte [rax + r14], 0
jne 0x14006f130
mov r8, r14
lea rdx, [rbp - 0x79]
lea rcx, [rbp + 7]
call fcn.14002c630
mov r9d, 3
lea r8, [rbp + 7]
xor edx, edx
call fcn.140108b90
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.14010ee40
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140004f60
nop
call fcn.140004f60
nop
call fcn.140004f60
int3