Function at 0x140051890
Capabilities:
Encode data using xor
Terminate process

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x100
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
mov rax, qword [0x140130138]
xor rax, rsp
mov qword [rbp - 1], rax
mov r12, rcx
mov qword [rbp - 0x49], rcx
cmp byte [0x140149810], 0
jne 0x140051ab7
lea rdx, [rbp - 0x69]
lea rcx, [rsp + 0x20]
call fcn.1400514e0
mov rbx, rax
cmp byte [rax + 0xf], 0
je 0x140051a86
xor esi, esi
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x140051a4f
movdqa xmm5, xmmword [0x14011ea10]
movdqa xmm4, xmmword [0x1400c9a20]
mov eax, 4
movd xmm6, eax
movdqa xmm7, xmmword [str.4444]
mov eax, Ordinal_33
movd xmm8, eax
movdqa xmm0, xmmword [0x1400c9a10]
movdqa xmmword [rbp - 0x59], xmm0
mov rcx, rbx
mov edx, dword [rbp - 0x59]
nop word [rax + rax]
movd xmm2, esi
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14011ea40]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [rsi + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14011ea40]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
pxor xmm2, xmm0
movd dword [rcx + 4], xmm2
add esi, 8
lea rcx, [rcx + 8]
cmp esi, 0x10
jl 0x140051950
jmp 0x140051a86
mov r8, rbx
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4ec4ec4f
mul esi
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, sil
sub al, cl
add al, 0x31
xor byte [r8], al
inc esi
lea r8, [r8 + 1]
cmp esi, 0x10
jl 0x140051a60
lea rcx, [0x140149818]
call fcn.140010620
xor r9d, r9d
mov r8, rbx
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, 0x1194
call qword [sym.imp.KERNEL32.dll_Sleep]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov r15d, 7
mov edx, r15d
lea rcx, [rbp - 0x21]
call fcn.140052050
nop
lea rcx, [rbp - 0x21]
mov rax, qword [rbp - 0x11]
cmp qword [rbp - 9], 8
jb 0x140051ae3
mov r14, qword [rbp - 0x21]
lea rbx, [r14 + rax*2]
jmp 0x140051aeb
lea rbx, [rcx + rax*2]
lea r14, [rbp - 0x21]
xor esi, esi
mov qword [rbp - 0x41], rsi
mov ecx, esi
mov qword [rbp - 0x31], rcx
mov r8d, reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x29], r8
mov byte [rbp - 0x41], cl
mov rdx, rbx
sub rdx, r14
sar rdx, 1
cmp rdx, r8
jbe 0x140051b2b
movzx r8d, byte [rsp + 0x20]
lea rcx, [rbp - 0x41]
call fcn.140011e00
mov ecx, esi
mov qword [rbp - 0x31], rcx
mov r8, qword [rbp - 0x29]
lea rax, [rbp - 0x41]
mov qword [rbp - 0x69], rax
cmp r14, rbx
je 0x140051b8e
movzx edi, byte [rsp + 0x20]
nop dword [rax]
movzx r9d, byte [r14]
cmp rcx, r8
jae 0x140051b69
lea rax, [rcx + 1]
mov qword [rbp - 0x31], rax
lea rax, [rbp - 0x41]
cmp r8, 0x10
cmovae rax, qword [rbp - 0x41]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x140051b7b
movzx r8d, dil
mov edx, 1
lea rcx, [rbp - 0x41]
call fcn.14004f5b0
add r14, 2
cmp r14, rbx
je 0x140051b8e
mov r8, qword [rbp - 0x29]
mov rcx, qword [rbp - 0x31]
jmp 0x140051b40
mov rdx, r12
lea rcx, [rsp + 0x40]
call fcn.140010760
mov r8, rax
lea rdx, [rsp + 0x28]
lea rcx, [0x140149600]
call fcn.140063840
mov rbx, rax
lea rax, [0x1401495e8]
cmp rax, rbx
je 0x140051c37
mov rcx, qword [0x1401495e8]
test rcx, rcx
je 0x140051c0c
mov rdx, qword [0x1401495f8]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x140051bf5
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140051c6a
mov rcx, r8
call fcn.1400bbea0
mov qword [0x1401495e8], rsi
xorps xmm0, xmm0
movdqu xmmword [0x1401495f0], xmm0
mov rax, qword [rbx]
mov qword [0x1401495e8], rax
mov rax, qword [rbx + 8]
mov qword [0x1401495f0], rax
mov rax, qword [rbx + 0x10]
mov qword [0x1401495f8], rax
mov qword [rbx], rsi
mov qword [rbx + 8], rsi
mov qword [rbx + 0x10], rsi
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x140051c76
mov rdx, qword [rsp + 0x38]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140051c71
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140051c71
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400bbea0
cmp byte [0x140149810], 0
jne 0x140051e57
lea rdx, [rbp - 0x69]
lea rcx, [rsp + 0x20]
call fcn.140051520
mov rbx, rax
cmp byte [rax + 0xf], 0
je 0x140051e26
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x140051def
movdqa xmm5, xmmword [0x14011ea10]
movdqa xmm4, xmmword [0x1400c9a20]
mov eax, 4
movd xmm6, eax
movdqa xmm7, xmmword [str.4444]
mov eax, Ordinal_33
movd xmm8, eax
movdqa xmm0, xmmword [0x1400c9a10]
movdqa xmmword [rbp - 0x59], xmm0
mov rcx, rbx
mov edx, dword [rbp - 0x59]
nop dword [rax]
movd xmm2, esi
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14011ea40]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [rsi + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14011ea40]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
pxor xmm2, xmm0
movd dword [rcx + 4], xmm2
add esi, 8
lea rcx, [rcx + 8]
cmp esi, 0x10
jl 0x140051cf0
jmp 0x140051e26
mov r8, rbx
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4ec4ec4f
mul esi
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, sil
sub al, cl
add al, 0x31
xor byte [r8], al
inc esi
lea r8, [r8 + 1]
cmp esi, 0x10
jl 0x140051e00
lea rcx, [0x140149818]
call fcn.140010620
xor r9d, r9d
mov r8, rbx
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, 0x1194
call qword [sym.imp.KERNEL32.dll_Sleep]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
lea rax, [rsp + 0x40]
mov qword [rbp - 0x69], rax
mov qword [rsp + 0x40], rsi
mov qword [rbp - 0x79], rsi
mov qword [rbp - 0x71], rsi
mov rdi, qword [rbp - 0x11]
lea rbx, [rbp - 0x21]
cmp qword [rbp - 9], 8
cmovae rbx, qword [rbp - 0x21]
cmp rdi, 8
jae 0x140051e8f
movups xmm0, xmmword [rbx]
movups xmmword [rsp + 0x40], xmm0
jmp 0x140051ecd
mov r15, rdi
or r15, 7
movabs rax, 0x7ffffffffffffffe
cmp r15, rax
cmova r15, rax
lea rdx, [r15 + 1]
lea rcx, [rsp + 0x40]
call fcn.140011670
mov qword [rsp + 0x40], rax
lea r8, [rdi*2 + 2]
mov rdx, rbx
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbp - 0x79], rdi
mov qword [rbp - 0x71], r15
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], rsi
mov r14, qword [0x1401495e8]
mov rdi, qword [0x1401495f0]
cmp r14, rdi
je 0x140051f69
sub rdi, r14
cmp rdi, 0x1000
jb 0x140051f31
lea rcx, [rdi + 0x27]
cmp rcx, rdi
jbe 0x140052042
call fcn.1400bbea8
mov rcx, rax
test rax, rax
je 0x140051f2a
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140051f43
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rdi, rdi
je 0x140051f40
mov rcx, rdi
call fcn.1400bbea8
jmp 0x140051f43
mov rax, rsi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rax
lea rbx, [rax + rdi]
mov qword [rsp + 0x38], rbx
mov r8, rdi
mov rdx, r14
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rsp + 0x30], rbx
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x28]
call fcn.140052bd0
nop
mov rdx, qword [rbp - 0x29]
cmp rdx, 0x10
jb 0x140051fb7
inc rdx
mov rcx, qword [rbp - 0x41]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140051fb2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140051fb2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400bbea0
mov qword [rbp - 0x31], rsi
mov qword [rbp - 0x29], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x41], 0
mov rdx, qword [rbp - 9]
cmp rdx, 8
jb 0x14005200b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x21]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140052005
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140052005
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400bbea0
nop
mov rcx, qword [rbp - 1]
xor rcx, rsp
call fcn.1400bbe80
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
call fcn.140001d50
int3