Function at 0x140003c10
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 - 0xc920]
mov eax, 0xca20
call fcn.14007fbb0
sub rsp, rax
movaps xmmword [rsp + 0xca10], xmm6
mov rax, qword [0x1400a8080]
xor rax, rsp
mov qword [rbp + 0xc900], rax
mov rax, qword [0x1400e4168]
test rax, rax
je 0x140005146
cmp dword [rax + 8], 3
je 0x140003c90
call qword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
cmp rax, qword [0x1400af810]
je 0x140003c81
jl 0x140005146
call fcn.140003b40
call fcn.140006c60
jmp 0x140005146
xor edx, edx
mov r8d, 0x88a0
lea rcx, [rbp + 0x4060]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rbp + 0x4060]
call fcn.140003980
nop
lea rdx, [rbp + 0x4060]
mov rcx, qword [0x1400e4168]
call fcn.140007190
xor esi, esi
test al, al
je 0x140004f9c
movabs r12, 0xffffffffffff
mov r13d, 0x1000
lea rdi, [0x1400e4170]
mov r14d, dword [reloc.WS2_32.dll_accept]
nop dword [rax]
mov eax, dword [str.WE_5SEUAWE8]
mov dword [rbp - 0x7c], eax
cmp byte [0x1400914d7], 0
je 0x140003dbf
cmp r14d, 2
jl 0x140003d89
movdqa xmm3, xmmword [0x14009bd90]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x14009be00]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x14009be00]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 1
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x14009bdc0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14009bdf0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x14009be10]
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rbp - 0x7c], xmm2
jmp 0x140003dbf
lea r9, [rbp - 0x7c]
mov r8d, esi
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x140003d90
mov qword [rbp + 0x20], rsi
lea r8, [rbp - 0x7c]
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x4060]
call fcn.140006770
mov eax, dword [rbp + 0x4060]
shl rax, 5
mov rcx, qword [rbp + 0x4068]
and rcx, r12
add rax, rcx
mov rcx, qword [rbp + 0x20]
cmp rcx, rax
je 0x140003e17
movzx eax, word [rcx + 0x1e]
shr ax, 0xa
test al, 1
je 0x140003e17
lea rbx, [rcx + 0x10]
test word [rbx + 0xe], r13w
jne 0x140003e1a
mov rbx, qword [rbx + 8]
and rbx, r12
jmp 0x140003e1a
mov rbx, rsi
mov eax, dword [str.ZVS7]
mov dword [rsp + 0x20], eax
movzx eax, word [0x14009157c]
mov word [rsp + 0x24], ax
mov byte [rsp + 0x20], WSASetLastError
xor byte [rsp + 0x21], 0x33
xor byte [rsp + 0x22], 0x34
xor byte [rsp + 0x23], 0x35
xor byte [rsp + 0x24], 0x36
xor byte [rsp + 0x25], 0x37
mov qword [rbp + 0x28], rsi
lea r8, [rsp + 0x20]
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x4060]
call fcn.140006770
mov eax, dword [rbp + 0x4060]
shl rax, 5
mov rcx, qword [rbp + 0x4068]
and rcx, r12
add rax, rcx
mov rcx, qword [rbp + 0x28]
cmp rcx, rax
je 0x14000418d
movzx eax, word [rcx + 0x1e]
shr ax, 0xa
test al, 1
je 0x14000418d
add rcx, 0x10
test word [rcx + 0xe], r13w
jne 0x140003ead
mov rcx, qword [rcx + 8]
and rcx, r12
test rcx, rcx
je 0x14000418d
test rbx, rbx
je 0x140004f07
mov eax, dword [str.wafzd7]
mov dword [rsp + 0x3c], eax
movzx eax, word [0x14009152c]
mov word [rsp + 0x40], ax
mov byte [rsp + 0x3c], 0x45
xor byte [rsp + 0x3d], 0x33
xor byte [rsp + 0x3e], 0x34
xor byte [rsp + 0x3f], 0x35
xor al, 0x36
mov byte [rsp + 0x40], al
xor byte [rsp + 0x41], 0x37
lea rdx, [rsp + 0x3c]
sub rdx, rbx
nop dword [rax]
movzx ecx, byte [rbx]
movzx eax, byte [rbx + rdx]
sub ecx, eax
jne 0x140003f12
inc rbx
test eax, eax
jne 0x140003f00
test ecx, ecx
jne 0x140004f07
mov eax, dword [str.VR_T6]
mov dword [rsp + 0x5c], eax
movzx eax, byte [0x1400914e8]
mov byte [rsp + 0x5c], 0x64
xor byte [rsp + 0x5d], 0x33
xor byte [rsp + 0x5e], 0x34
xor byte [rsp + 0x5f], 0x35
xor al, 0x36
mov byte [rsp + 0x60], al
mov qword [rbp + 0x30], rsi
lea r8, [rsp + 0x5c]
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x4060]
call fcn.140006770
mov eax, dword [rbp + 0x4060]
shl rax, 5
mov rcx, qword [rbp + 0x4068]
and rcx, r12
add rax, rcx
mov rcx, qword [rbp + 0x30]
cmp rcx, rax
je 0x140003f89
cmp word [rcx + 0x1e], 3
lea rbx, [rcx + 0x10]
je 0x140003f8c
mov rbx, rsi
mov eax, dword [str.QPP6]
mov dword [rsp + 0x34], eax
movzx eax, byte [0x14009151c]
mov byte [rsp + 0x34], 0x63
xor byte [rsp + 0x35], 0x33
xor byte [rsp + 0x36], 0x34
xor byte [rsp + 0x37], 0x35
xor al, 0x36
mov byte [rsp + 0x38], al
test rbx, rbx
je 0x140003fe0
mov qword [rbp + 0x48], rsi
lea r8, [rsp + 0x34]
lea rdx, [rbp + 0x48]
mov rcx, rbx
call fcn.140006770
nop dword [rax]
nop word [rax + rax]
mov byte [rsp + 0x58], 0
mov rax, qword [str._VGFWP_9AVWGSC8]
mov qword [rbp - 0x78], rax
cmp byte [reloc.WS2_32.dll_gethostname], 0
je 0x14000412f
cmp r14d, 2
jl 0x1400040f9
movdqa xmm4, xmmword [0x14009be00]
movdqa xmm2, xmmword [0x14009bd90]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14009bdc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14009bdf0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x14009be10]
movd xmm0, dword [rbp - 0x78]
xorps xmm2, xmm0
movd dword [rbp - 0x78], xmm2
movdqa xmm3, xmmword [0x14009bda0]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14009bdc0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14009bdf0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x14009be10]
movd xmm0, dword [rbp - 0x74]
xorps xmm2, xmm0
movd dword [rbp - 0x74], xmm2
jmp 0x14000412f
lea r9, [rbp - 0x78]
mov r8d, esi
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x37
movzx eax, r8b
sub al, dl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 8
jl 0x140004100
lea r8, [rsp + 0x58]
lea rdx, [rbp - 0x78]
mov rcx, rbx
call fcn.140003a80
mov r8, rax
test rax, rax
je 0x14000417d
mov rcx, rdi
movzx edx, byte [rax]
test dl, dl
je 0x14000417a
mov r9d, 1
sub r9, rdi
sub r8, rdi
nop
lea rax, [rcx + r9]
cmp rax, 0x100
jae 0x14000417a
mov byte [rcx], dl
inc rcx
movzx edx, byte [rcx + r8]
test dl, dl
jne 0x140004160
mov byte [rcx], 0
mov eax, 1
xchg byte [0x1400ae758], al
jmp 0x140004f07
test rbx, rbx
jne 0x1400041d0
mov rax, qword [rbp + 0xc0c8]
test rax, rax
je 0x140004f43
cmp rax, qword [rbp + 0xc0d8]
je 0x140004f3a
mov rbx, qword [rax + 0x10]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, rbx
mov qword [rbp + 0xc0c8], rbx
test rbx, rbx
jne 0x1400041a2
jmp 0x140004f43
mov eax, dword [str.VR_T6]
mov dword [rsp + 0x64], eax
movzx eax, byte [0x1400914e8]
mov byte [rsp + 0x64], 0x64
xor byte [rsp + 0x65], 0x33
xor byte [rsp + 0x66], 0x34
xor byte [rsp + 0x67], 0x35
xor al, 0x36
mov byte [rsp + 0x68], al
mov qword [rbp + 0x38], rsi
lea r8, [rsp + 0x64]
lea rdx, [rbp + 0x38]
lea rcx, [rbp + 0x4060]
call fcn.140006770
mov eax, dword [rbp + 0x4060]
shl rax, 5
mov rcx, qword [rbp + 0x4068]
and rcx, r12
add rax, rcx
mov rcx, qword [rbp + 0x38]
cmp rcx, rax
je 0x14000423f
cmp word [rcx + 0x1e], 3
lea rdi, [rcx + 0x10]
je 0x140004242
mov rdi, rsi
movsd xmm0, qword [str.sp__l_eqstp_]
movsd qword [rbp - 0x60], xmm0
mov eax, dword [0x140091550]
mov dword [rbp - 0x58], eax
movzx eax, word [0x140091554]
mov word [rbp - 0x54], ax
mov r9, rbx
cmp byte [0x140091555], 0
je 0x1400043bf
mov r8d, esi
cmp r14d, 2
jl 0x14000437f
movdqa xmm4, xmmword [0x14009be00]
movdqa xmm2, xmmword [0x14009bd90]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14009bdc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14009bdf0]
packuswb xmm2, xmm2
mov eax, dword [0x14009be10]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.sp__l_eqstp_]
xorps xmm2, xmm0
movd dword [rbp - 0x60], xmm2
movdqa xmm3, xmmword [0x14009bda0]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14009bdc0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14009bdf0]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x5c]
xorps xmm2, xmm1
movd dword [rbp - 0x5c], xmm2
mov r8d, 8
movsxd rax, r8d
lea r10, [rbp - 0x60]
add r10, rax
nop dword [rax]
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r10], al
inc r8d
lea r10, [r10 + 1]
cmp r8d, 0xe
jl 0x140004390
mov rax, r9
lea r8, [rbp - 0x60]
sub r8, r9
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1400043e3
inc rax
test ecx, ecx
jne 0x1400043d0
test edx, edx
jne 0x1400044df
mov eax, dword [0x1400914f8]
mov dword [rsp + 0x74], eax
movzx ecx, word [0x1400914fc]
mov word [rsp + 0x78], cx
movzx eax, byte [0x1400914fe]
mov byte [rsp + 0x74], reloc.WS2_32.dll_WSAStartup
xor byte [rsp + 0x75], 0x33
xor byte [rsp + 0x76], 0x34
xor byte [rsp + 0x77], 0x35
xor cl, 0x36
mov byte [rsp + 0x78], cl
xor byte [rsp + 0x79], 0x37
xor al, 0x38
mov byte [rsp + 0x7a], al
test rdi, rdi
je 0x140004f00
mov qword [rbp + 0x40], rsi
lea r8, [rsp + 0x74]
lea rdx, [rbp + 0x40]
mov rcx, rdi
call fcn.140006770
mov eax, dword [rdi]
shl rax, 5
mov rcx, qword [rdi + 8]
and rcx, r12
add rax, rcx
mov rcx, qword [rbp + 0x40]
cmp rcx, rax
je 0x140004f00
movzx eax, word [rcx + 0x1e]
shr ax, 0xa
test al, 1
je 0x140004f00
add rcx, 0x10
test word [rcx + 0xe], r13w
jne 0x14000448b
mov rcx, qword [rcx + 8]
and rcx, r12
test rcx, rcx
je 0x140004f00
lea rdx, [0x1400dff30]
cmp byte [rcx], 0
je 0x1400044cc
mov r8d, 1
sub r8, rcx
nop dword [rax]
lea rax, [r8 + rcx]
cmp rax, 0x100
jae 0x1400044cc
movzx eax, byte [rcx]
mov byte [rdx], al
inc rdx
inc rcx
cmp byte [rcx], 0
jne 0x1400044b0
mov byte [rdx], 0
mov eax, 1
xchg byte [0x1400ae755], al
jmp 0x140004f00
movups xmm0, xmmword [str.sp__l_ehlxk]
movups xmmword [rbp - 0x40], xmm0
movzx eax, word [0x140091540]
mov word [rbp - 0x30], ax
cmp byte [0x140091541], 0
je 0x14000467f
mov r8d, esi
cmp r14d, 2
jl 0x140004645
movdqa xmm5, xmmword [0x14009bd90]
movdqa xmm4, xmmword [0x14009be00]
movdqa xmm6, xmmword [0x14009bdc0]
movdqa xmm0, xmmword [0x14009be10]
movdqa xmmword [rbp - 0x70], xmm0
lea rcx, [rbp - 0x3c]
mov edx, dword [rbp - 0x70]
nop dword [rax + rax]
movd xmm2, r8d
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, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14009bdf0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 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, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14009bdf0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140004540
cmp r8d, 0x12
jge 0x14000467f
movsxd rax, r8d
lea r10, [rbp - 0x40]
add r10, rax
nop
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r10], al
inc r8d
lea r10, [r10 + 1]
cmp r8d, 0x12
jl 0x140004650
mov rax, r9
lea r8, [rbp - 0x40]
sub r8, r9
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1400046a3
inc rax
test ecx, ecx
jne 0x140004690
test edx, edx
jne 0x14000479f
mov eax, dword [0x1400914f8]
mov dword [rsp + 0x7c], eax
movzx ecx, word [0x1400914fc]
mov word [rbp - 0x80], cx
movzx eax, byte [0x1400914fe]
mov byte [rsp + 0x7c], reloc.WS2_32.dll_WSAStartup
xor byte [rsp + 0x7d], 0x33
xor byte [rsp + 0x7e], 0x34
xor byte [rsp + 0x7f], 0x35
xor cl, 0x36
mov byte [rbp - 0x80], cl
xor byte [rbp - 0x7f], 0x37
xor al, 0x38
mov byte [rbp - 0x7e], al
test rdi, rdi
je 0x140004f00
mov qword [rbp - 0x10], rsi
lea r8, [rsp + 0x7c]
lea rdx, [rbp - 0x10]
mov rcx, rdi
call fcn.140006770
mov eax, dword [rdi]
shl rax, 5
mov rcx, qword [rdi + 8]
and rcx, r12
add rax, rcx
mov rcx, qword [rbp - 0x10]
cmp rcx, rax
je 0x140004f00
movzx eax, word [rcx + 0x1e]
shr ax, 0xa
test al, 1
je 0x140004f00
add rcx, 0x10
test word [rcx + 0xe], r13w
jne 0x140004747
mov rcx, qword [rcx + 8]
and rcx, r12
test rcx, rcx
je 0x140004f00
lea rdx, [0x1400e4270]
cmp byte [rcx], 0
je 0x14000478c
mov r8d, 1
sub r8, rcx
nop word [rax + rax]
lea rax, [r8 + rcx]
cmp rax, 0x100
jae 0x14000478c
movzx eax, byte [rcx]
mov byte [rdx], al
inc rdx
inc rcx
cmp byte [rcx], 0
jne 0x140004770
mov byte [rdx], 0
mov eax, 1
xchg byte [0x1400ae757], al
jmp 0x140004f00
movups xmm0, xmmword [0x140091500]
movups xmmword [rbp - 0x28], xmm0
mov eax, dword [0x140091510]
mov dword [rbp - 0x18], eax
movzx eax, word [0x140091514]
mov word [rbp - 0x14], ax
cmp byte [0x140091515], 0
je 0x14000494f
mov r8d, esi
cmp r14d, 2
jl 0x140004915
movdqa xmm5, xmmword [0x14009bd90]
movdqa xmm4, xmmword [0x14009be00]
movdqa xmm6, xmmword [0x14009bdc0]
movdqa xmm0, xmmword [0x14009be10]
movdqa xmmword [rbp - 0x70], xmm0
lea rcx, [rbp - 0x24]
mov edx, dword [rbp - 0x70]
nop dword [rax]
nop dword [rax + rax]
movd xmm2, r8d
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, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14009bdf0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 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, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14009bdf0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140004810
cmp r8d, 0x16
jge 0x14000494f
movsxd rax, r8d
lea r10, [rbp - 0x28]
add r10, rax
nop
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r10], al
inc r8d
lea r10, [r10 + 1]
cmp r8d, 0x16
jl 0x140004920
lea rdx, [rbp - 0x28]
sub rdx, r9
nop word [rax + rax]
movzx ecx, byte [r9]
movzx eax, byte [r9 + rdx]
sub ecx, eax
jne 0x140004974
inc r9
test eax, eax
jne 0x140004960
test ecx, ecx
jne 0x140004f00
mov eax, dword [str.G_QG6]
mov dword [rsp + 0x6c], eax
movzx eax, byte [0x140091524]
mov byte [rsp + 0x6c], 0x75
xor byte [rsp + 0x6d], 0x33
xor byte [rsp + 0x6e], 0x34
xor byte [rsp + 0x6f], 0x35
xor al, 0x36
mov byte [rsp + 0x70], al
test rdi, rdi
je 0x1400049ea
mov qword [rbp - 8], rsi
lea r8, [rsp + 0x6c]
lea rdx, [rbp - 8]
mov rcx, rdi
call fcn.140006770
mov eax, dword [rdi]
shl rax, 5
mov rcx, qword [rdi + 8]
and rcx, r12
add rax, rcx
mov rcx, qword [rbp - 8]
cmp rcx, rax
je 0x1400049ea
cmp word [rcx + 0x1e], 3
jne 0x1400049ea
lea r15, [rcx + 0x10]
mov rdi, r15
jmp 0x1400049f0
mov r15, rsi
mov rdi, rsi
movzx eax, word [0x1400914e0]
mov word [rsp + 0x30], ax
movzx eax, byte [0x1400914e2]
mov byte [rsp + 0x30], 0x69
xor byte [rsp + 0x31], 0x33
xor al, 0x34
mov byte [rsp + 0x32], al
test r15, r15
je 0x140004a6e
mov qword [rbp], rsi
lea r8, [rsp + 0x30]
lea rdx, [rbp]
mov rcx, r15
call fcn.140006770
lea rdx, [r15 + 8]
mov qword [rbp - 0x70], rdx
mov eax, dword [r15]
shl rax, 5
mov rcx, qword [rdx]
and rcx, r12
add rax, rcx
mov rcx, qword [rbp]
cmp rcx, rax
je 0x140004a6e
movzx eax, word [rcx + 0x1e]
shr ax, 0xa
test al, 1
je 0x140004a6e
lea rbx, [rcx + 0x10]
test word [rbx + 0xe], r13w
jne 0x140004a79
mov rbx, qword [rbx + 8]
and rbx, r12
jmp 0x140004a79
mov rbx, rsi
lea rdx, [rdi + 8]
mov qword [rbp - 0x70], rdx
movsd xmm0, qword [str.G_QGXVU:]
movzx ecx, byte [0x140091560]
movsd qword [rsp + 0x48], xmm0
mov byte [rsp + 0x48], 0x75
xor byte [rsp + 0x49], 0x33
xor byte [rsp + 0x4a], 0x34
xor byte [rsp + 0x4b], 0x35
xor byte [rsp + 0x4c], 0x36
xor byte [rsp + 0x4d], 0x37
xor byte [rsp + 0x4e], 0x38
xor byte [rsp + 0x4f], 0x39
xor cl, 0x3a
mov byte [rsp + 0x50], cl
test r15, r15
je 0x140004b1c
mov qword [rbp + 8], rsi
lea r8, [rsp + 0x48]
lea rdx, [rbp + 8]
mov rcx, r15
call fcn.140006770
mov eax, dword [r15]
shl rax, 5
mov rdx, qword [rbp - 0x70]
mov rcx, qword [rdx]
and rcx, r12
add rax, rcx
mov rcx, qword [rbp + 8]
cmp rcx, rax
je 0x140004b1c
movzx eax, word [rcx + 0x1e]
shr ax, 0xa
test al, 1
je 0x140004b1c
lea r13, [rcx + 0x10]
mov eax, 0x1000
test word [r13 + 0xe], ax
jne 0x140004b17
mov r13, qword [r13 + 8]
and r13, r12
mov r14, r13
jmp 0x140004b26
mov r13, rsi
mov r14, rsi
mov qword [rbp - 0x70], rdx
mov eax, dword [0x1400914d8]
mov dword [rsp + 0x28], eax
movzx eax, word [0x1400914dc]
mov word [rsp + 0x2c], ax
movzx eax, byte [0x1400914de]
mov byte [rsp + 0x28], 0x61
xor byte [rsp + 0x29], 0x33
xor byte [rsp + 0x2a], 0x34
xor byte [rsp + 0x2b], 0x35
xor byte [rsp + 0x2c], 0x36
xor byte [rsp + 0x2d], 0x37
xor al, 0x38
mov byte [rsp + 0x2e], al
test r15, r15
je 0x140004bc2
mov qword [rbp + 0x10], rsi
lea r8, [rsp + 0x28]
lea rdx, [rbp + 0x10]
mov rcx, r15
call fcn.140006770
mov eax, dword [r15]
shl rax, 5
mov rdx, qword [rbp - 0x70]
mov rcx, qword [rdx]
and rcx, r12
add rax, rcx
mov rcx, qword [rbp + 0x10]
cmp rcx, rax
je 0x140004bc2
movzx eax, word [rcx + 0x1e]
shr ax, 0xa
test al, 1
je 0x140004bc2
lea rdi, [rcx + 0x10]
mov eax, 0x1000
test word [rdi + 0xe], ax
jne 0x140004bc5
mov rdi, qword [rdi + 8]
and rdi, r12
jmp 0x140004bc5
mov rdi, rsi
mov eax, dword [0x1400af7b8]
cmp eax, 8
jb 0x140004bd5
mov r12, rsi
jmp 0x140004bf6
mov r12d, 1
lock xadd dword [0x1400af7b0], r12d
and r12d, 7
shl r12, 9
lea rax, [0x1400ae7b0]
add r12, rax
test rbx, rbx
je 0x140004ee9
test r13, r13
je 0x140004ee9
test r12, r12
je 0x140004ee9
mov rcx, r12
cmp byte [rbx], 0
je 0x140004c40
mov r8d, 1
sub r8, rbx
mov qword [rbp - 0x70], rdx
lea rax, [r8 + rbx]
cmp rax, 0x20
jae 0x140004c40
movzx eax, byte [rbx]
mov byte [rcx], al
inc rcx
inc rbx
cmp byte [rbx], 0
jne 0x140004c26
mov byte [rcx], 0
lea rcx, [r12 + 0x20]
cmp byte [r13], 0
je 0x140004c7e
mov edx, 1
sub rdx, r13
nop word [rax + rax]
lea rax, [rdx + r14]
cmp rax, 0x158
jae 0x140004c7e
movzx eax, byte [r14]
mov byte [rcx], al
inc rcx
inc r14
cmp byte [r14], 0
jne 0x140004c60
mov byte [rcx], 0
movsd xmm0, qword [str.VZGVDUPTZHRL_]
movsd qword [rbp - 0x50], xmm0
mov eax, dword [0x140091570]
mov dword [rbp - 0x48], eax
movzx eax, word [0x140091574]
mov word [rbp - 0x44], ax
mov r14d, dword [reloc.WS2_32.dll_accept]
cmp byte [0x140091575], 0
je 0x140004dff
mov r8d, esi
cmp r14d, 2
jl 0x140004dc2
movdqa xmm4, xmmword [0x14009be00]
movdqa xmm2, xmmword [0x14009bd90]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14009bdc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14009bdf0]
packuswb xmm2, xmm2
mov eax, dword [0x14009be10]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.VZGVDUPTZHRL_]
xorps xmm2, xmm0
movd dword [rbp - 0x50], xmm2
movdqa xmm3, xmmword [0x14009bda0]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14009bdc0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14009bdf0]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x4c]
xorps xmm2, xmm1
movd dword [rbp - 0x4c], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rbp - 0x50]
add r9, rax
nop dword [rax]
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xe
jl 0x140004dd0
test r15, r15
je 0x140004ea1
mov qword [rbp + 0x18], rsi
lea r8, [rbp - 0x50]
lea rdx, [rbp + 0x18]
mov rcx, r15
call fcn.140006770
mov eax, dword [r15]
shl rax, 5
mov rcx, qword [rbp - 0x70]
mov rcx, qword [rcx]
movabs rdx, 0xffffffffffff
and rcx, rdx
add rax, rcx
mov rcx, qword [rbp + 0x18]
cmp rcx, rax
je 0x140004ea1
movzx eax, word [rcx + 0x1e]
shr ax, 0xa
mov r13d, 0x1000
test al, 1
je 0x140004ea7
add rcx, 0x10
test word [rcx + 0xe], r13w
jne 0x140004e67
mov rcx, qword [rcx + 8]
and rcx, rdx
test rcx, rcx
je 0x140004ea7
lea rdx, [r12 + 0x178]
cmp byte [rcx], 0
je 0x140004e9c
mov r8d, 1
sub r8, rcx
lea rax, [r8 + rcx]
cmp rax, 8
jae 0x140004e9c
movzx eax, byte [rcx]
mov byte [rdx], al
inc rdx
inc rcx
cmp byte [rcx], 0
jne 0x140004e82
mov byte [rdx], 0
jmp 0x140004ea7
mov r13d, 0x1000
lea rcx, [r12 + 0x180]
test rdi, rdi
je 0x140004edd
cmp byte [rdi], 0
je 0x140004edd
mov edx, 1
sub rdx, rdi
lea rax, [rdx + rdi]
cmp rax, 0x80
jae 0x140004edd
movzx eax, byte [rdi]
mov byte [rcx], al
inc rcx
inc rdi
cmp byte [rdi], 0
jne 0x140004ec1
mov byte [rcx], 0
lock inc dword [0x1400af7b8]
jmp 0x140004ef6
mov r13d, 0x1000
mov r14d, dword [reloc.WS2_32.dll_accept]
movabs r12, 0xffffffffffff
lea rdi, [0x1400e4170]
mov rax, qword [rbp + 0xc0c8]
test rax, rax
je 0x140004f43
cmp rax, qword [rbp + 0xc0d8]
je 0x140004f3a
mov rbx, qword [rax + 0x10]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, rbx
mov qword [rbp + 0xc0c8], rbx
test rbx, rbx
jne 0x140004f13
jmp 0x140004f43
test rax, rax
je 0x140004f43
mov qword [rax + 8], rsi
mov edx, 1
mov rcx, qword [rbp + 0xc0e8]
call fcn.14007f3a0
lea rcx, [rbp + 0x4060]
call fcn.1400066e0
xor edx, edx
mov r8d, 0x88a0
lea rcx, [rbp + 0x4060]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rbp + 0x4060]
call fcn.140003980
nop
lea rdx, [rbp + 0x4060]
mov rcx, qword [0x1400e4168]
call fcn.140007190
test al, al
jne 0x140003cf0
mov rax, qword [rbp + 0xc0c8]
test rax, rax
je 0x140004fea
mov rbx, rax
mov r8, rax
mov rdx, rax
mov rcx, qword [rbp + 0xc0d8]
cmp rbx, rcx
je 0x140004fe1
mov rbx, qword [rdx + 0x10]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, rbx
mov qword [rbp + 0xc0c8], rbx
mov r8, rbx
mov rdx, rbx
test rbx, rbx
jne 0x140004fb1
jmp 0x140004fea
cmp r8, rcx
jne 0x140004fea
mov qword [r8 + 8], rsi
mov edx, 1
mov rcx, qword [rbp + 0xc0e8]
call fcn.14007f3a0
lea rcx, [rbp + 0x4060]
call fcn.1400066e0
xchg byte [0x1400ae756], sil
test sil, sil
je 0x1400050f9
cmp qword [0x1400e0160], 0
je 0x1400050f9
lea rcx, [0x1400af7c0]
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
jne 0x14000517b
cmp dword [0x1400af80c], 0x7fffffff
je 0x1400050ab
mov rbx, qword [0x1400e0160]
mov qword [rbp + 0x50], rbx
test rbx, rbx
je 0x14000506d
mov r8, rbx
lea rdx, [0x1400e0168]
lea rcx, [rbp + 0x58]
call sub.VCRUNTIME140.dll_memcpy
mov rbx, qword [rbp + 0x50]
lea rcx, [0x1400af7c0]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov r8, rbx
lea rdx, [rbp + 0x58]
call fcn.140007090
test al, al
jne 0x1400050f9
lea rcx, [0x1400af7c0]
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
jne 0x14000517b
cmp dword [0x1400af80c], 0x7fffffff
jne 0x1400050c1
mov dword [0x1400af80c], 0x7ffffffe
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov r8, qword [rbp + 0x50]
mov qword [0x1400e0160], r8
test r8, r8
je 0x1400050e1
lea rdx, [rbp + 0x58]
lea rcx, [0x1400e0168]
call sub.VCRUNTIME140.dll_memcpy
mov eax, 1
xchg byte [0x1400ae756], al
lea rcx, [0x1400af7c0]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov eax, dword [0x1400cf868]
test eax, eax
je 0x140005146
lea rbx, [0x1400af820]
nop word [rax + rax]
mov eax, 1
lock xadd dword [0x1400cf864], eax
and eax, 7
imul r8, rax, 0x4008
lea rdx, [rbx + 8]
add rdx, r8
mov r8, qword [r8 + rbx]
call fcn.140007090
lock dec dword [0x1400cf868]
mov eax, dword [0x1400cf868]
jne 0x140005110
mov rcx, qword [rbp + 0xc900]
xor rcx, rsp
call fcn.14007f0f0
lea r11, [rsp + 0xca20]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3