Function at 0x1800297b0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rdi
sub rsp, 0x160
vmovaps xmmword [rax - 0x18], xmm6
vmovaps xmmword [rax - 0x28], xmm7
vmovaps xmmword [rax - 0x38], xmm8
vmovaps xmmword [rax - 0x48], xmm9
mov rax, qword [0x180279b80]
xor rax, rsp
mov qword [rsp + 0x110], rax
xor edi, edi
cmp byte [0x180b5eaed], dil
je 0x18002a2e9
vmovups xmm0, xmmword [str.q_ZEC_KiHIWQ2]
vmovups xmmword [rsp + 0x40], xmm0
mov eax, dword [0x180238f30]
mov dword [rsp + 0x50], eax
movzx edx, word [0x180238f34]
mov word [rsp + 0x54], dx
movzx ecx, byte [0x180238f36]
mov byte [rsp + 0x40], 0x42
xor byte [rsp + 0x41], 0x34
xor byte [rsp + 0x42], 0x35
xor byte [rsp + 0x43], 0x36
xor byte [rsp + 0x44], 0x37
xor byte [rsp + 0x45], 0x38
xor byte [rsp + 0x46], 0x39
xor byte [rsp + 0x47], 0x3a
xor byte [rsp + 0x48], 0x3b
xor byte [rsp + 0x49], 0x3c
xor byte [rsp + 0x4a], 0x3d
xor byte [rsp + 0x4b], 0x3e
xor byte [rsp + 0x4c], 0x3f
xor byte [rsp + 0x4d], 0x40
xor byte [rsp + 0x4e], 0x41
xor byte [rsp + 0x4f], 0x42
xor al, 0x43
mov byte [rsp + 0x50], al
xor byte [rsp + 0x51], 0x44
xor byte [rsp + 0x52], 0x45
xor byte [rsp + 0x53], 0x46
xor dl, 0x47
mov byte [rsp + 0x54], dl
xor byte [rsp + 0x55], 0x48
xor cl, 0x49
mov byte [rsp + 0x56], cl
lea r8d, [rdi + 0x6b]
lea rdx, reloc.WS2_32.dll_accept
lea rcx, [rsp + 0x40]
call fcn.1800a6b60
vmovups xmm0, xmmword [str.q_ZEC_K]
vmovups xmmword [rsp + 0x40], xmm0
vpextrb eax, xmm0, 0xf
test al, al
je 0x180029914
mov byte [rsp + 0x40], 0x42
xor byte [rsp + 0x41], 0x34
xor byte [rsp + 0x42], 0x35
xor byte [rsp + 0x43], 0x36
xor byte [rsp + 0x44], 0x37
xor byte [rsp + 0x45], 0x38
xor byte [rsp + 0x46], 0x39
xor byte [rsp + 0x47], 0x3a
xor byte [rsp + 0x48], 0x3b
xor byte [rsp + 0x49], 0x3c
xor byte [rsp + 0x4a], 0x3d
xor byte [rsp + 0x4b], 0x3e
xor byte [rsp + 0x4c], 0x3f
xor byte [rsp + 0x4d], 0x40
xor byte [rsp + 0x4e], 0x41
xor byte [rsp + 0x4f], 0x42
lea rcx, [rsp + 0x40]
call fcn.1800ce5a0
vmovups xmm0, xmmword [str.rWA_AYM_elXLL___d]
vmovups xmmword [rsp + 0x40], xmm0
vmovsd xmm0, qword [0x180238f10]
vmovsd qword [rsp + 0x50], xmm0
movzx ecx, word [0x180238f18]
mov word [rsp + 0x58], cx
movzx eax, byte [0x180238f1a]
mov byte [rsp + 0x40], 0x41
xor byte [rsp + 0x41], 0x34
xor byte [rsp + 0x42], 0x35
xor byte [rsp + 0x43], 0x36
xor byte [rsp + 0x44], 0x37
xor byte [rsp + 0x45], 0x38
xor byte [rsp + 0x46], 0x39
xor byte [rsp + 0x47], 0x3a
xor byte [rsp + 0x48], 0x3b
xor byte [rsp + 0x49], 0x3c
xor byte [rsp + 0x4a], 0x3d
xor byte [rsp + 0x4b], 0x3e
xor byte [rsp + 0x4c], 0x3f
xor byte [rsp + 0x4d], 0x40
xor byte [rsp + 0x4e], 0x41
xor byte [rsp + 0x4f], 0x42
xor byte [rsp + 0x50], 0x43
xor byte [rsp + 0x51], 0x44
xor byte [rsp + 0x52], 0x45
xor byte [rsp + 0x53], 0x46
xor byte [rsp + 0x54], 0x47
xor byte [rsp + 0x55], 0x48
xor byte [rsp + 0x56], 0x49
xor byte [rsp + 0x57], 0x4a
xor cl, 0x4b
mov byte [rsp + 0x58], cl
xor byte [rsp + 0x59], 0x4c
xor al, 0x4d
mov byte [rsp + 0x5a], al
lea rdx, [0x180a5ea65]
lea rcx, [rsp + 0x40]
call fcn.1800d0580
vxorps xmm9, xmm9, xmm9
vmovss dword [rsp + 0x60], xmm9
vmovss dword [rsp + 0x64], xmm9
vmovups xmm0, xmmword [0x180238e70]
vmovups xmmword [rsp + 0x40], xmm0
movzx ecx, word [0x180238e80]
mov word [rsp + 0x50], cx
movzx eax, byte [0x180238e82]
mov byte [rsp + 0x40], reloc.WLDAP32.dll_Ordinal_35
xor byte [rsp + 0x41], 0x34
xor byte [rsp + 0x42], 0x35
xor byte [rsp + 0x43], 0x36
xor byte [rsp + 0x44], 0x37
xor byte [rsp + 0x45], 0x38
xor byte [rsp + 0x46], 0x39
xor byte [rsp + 0x47], 0x3a
xor byte [rsp + 0x48], 0x3b
xor byte [rsp + 0x49], 0x3c
xor byte [rsp + 0x4a], 0x3d
xor byte [rsp + 0x4b], 0x3e
xor byte [rsp + 0x4c], 0x3f
xor byte [rsp + 0x4d], 0x40
xor byte [rsp + 0x4e], 0x41
xor byte [rsp + 0x4f], 0x42
xor cl, 0x43
mov byte [rsp + 0x50], cl
xor byte [rsp + 0x51], 0x44
xor al, 0x45
mov byte [rsp + 0x52], al
lea rcx, [rsp + 0x40]
call fcn.1800a9e80
vmovss dword [rsp + 0x28], xmm9
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x20], rcx
mov r9d, 0x77c0
mov r8d, 4
mov edx, eax
lea rcx, [rsp + 0x40]
call fcn.1800c5660
mov eax, dword [str.gMES7]
mov dword [rsp + 0x60], eax
movzx eax, byte [0x180238eb4]
mov byte [rsp + 0x60], 0x54
xor byte [rsp + 0x61], 0x34
xor byte [rsp + 0x62], 0x35
xor byte [rsp + 0x63], 0x36
xor al, 0x37
mov byte [rsp + 0x64], al
vmovss xmm2, dword [0x1802491d8]
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rsp + 0x60]
call fcn.1800c8790
mov rax, qword [0x180238e98]
mov qword [rsp + 0x60], rax
vmovss xmm2, dword [0x18024919c]
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rsp + 0x60]
cmp byte [0x180238e9f], dil
je 0x180029b3f
mov byte [rsp + 0x60], Ordinal_79
xor byte [rsp + 0x61], 0x34
xor byte [rsp + 0x62], 0x35
xor byte [rsp + 0x63], 0x36
xor byte [rsp + 0x64], 0x37
xor byte [rsp + 0x65], 0x38
xor byte [rsp + 0x66], 0x39
xor byte [rsp + 0x67], 0x3a
call fcn.1800c8790
vmovsd xmm0, qword [0x180238ee8]
movzx eax, byte [0x180238ef0]
vmovsd qword [rsp + 0x100], xmm0
mov byte [rsp + 0x100], Ordinal_79
xor byte [rsp + 0x101], 0x34
xor byte [rsp + 0x102], 0x35
xor byte [rsp + 0x103], 0x36
xor byte [rsp + 0x104], 0x37
xor byte [rsp + 0x105], 0x38
xor byte [rsp + 0x106], 0x39
xor byte [rsp + 0x107], 0x3a
xor al, 0x3b
mov byte [rsp + 0x108], al
vmovss xmm2, dword [0x180249198]
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rsp + 0x100]
call fcn.1800c8790
mov eax, dword [str.fGPR7]
mov dword [rsp + 0x60], eax
movzx eax, byte [0x180238ef8]
mov byte [rsp + 0x60], 0x55
xor byte [rsp + 0x61], 0x34
xor byte [rsp + 0x62], 0x35
xor byte [rsp + 0x63], 0x36
xor al, 0x37
mov byte [rsp + 0x64], al
vmovss xmm2, dword [0x180249190]
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rsp + 0x60]
call fcn.1800c8790
call fcn.1800caf60
call fcn.1800c9300
mov rbx, qword [0x180b5f078]
mov rbx, qword [rbx]
mov qword [rsp + 0x100], rbx
cmp byte [rbx + 0x19], dil
jne 0x18002a2df
nop word [rax + rax]
mov ecx, dword [rbx + 0x28]
sub ecx, 0x1d8a8
je 0x18002a026
sub ecx, 1
je 0x180029f9d
sub ecx, 1
je 0x180029e4d
sub ecx, 2
je 0x180029d07
cmp ecx, 1
jne 0x18002a0aa
vmovsd xmm0, qword [0x180238ea0]
vmovsd qword [rsp + 0x88], xmm0
mov eax, dword [0x180238ea8]
mov dword [rsp + 0x90], eax
movzx ecx, byte [0x180238eac]
mov byte [rsp + 0x88], Ordinal_50
xor byte [rsp + 0x89], 0x34
xor byte [rsp + 0x8a], 0x35
xor byte [rsp + 0x8b], 0x36
xor byte [rsp + 0x8c], 0x37
xor byte [rsp + 0x8d], 0x38
xor byte [rsp + 0x8e], 0x39
xor byte [rsp + 0x8f], 0x3a
xor al, 0x3b
mov byte [rsp + 0x90], al
xor byte [rsp + 0x91], 0x3c
xor byte [rsp + 0x92], 0x3d
xor byte [rsp + 0x93], 0x3e
xor cl, 0x3f
mov byte [rsp + 0x94], cl
lea rdx, [0x180a5ea62]
lea rcx, [rsp + 0x88]
jmp 0x18002a0a5
vmovsd xmm0, qword [0x180238ec8]
vmovsd qword [rsp + 0x98], xmm0
mov eax, dword [0x180238ed0]
mov dword [rsp + 0xa0], eax
cmp byte [0x180238ed3], 0
je 0x180029e39
vmovdqu xmm6, xmmword [0x1802498c0]
vmovdqu xmm5, xmmword [0x1802493c0]
vpunpckldq xmm0, xmm5, xmm5
vpmuldq xmm3, xmm0, xmm6
vpunpckhdq xmm1, xmm5, xmm5
vpmuldq xmm2, xmm1, xmm6
vshufps xmm0, xmm3, xmm2, 0xdd
vpsrad xmm4, xmm0, 4
vpsrld xmm1, xmm4, 0x1f
vpaddd xmm0, xmm1, xmm4
vpmulld xmm2, xmm0, xmmword [0x180249420]
vpsubd xmm3, xmm5, xmm2
vpshufb xmm0, xmm3, xmmword [0x180249360]
vpaddb xmm2, xmm0, xmmword [0x180249580]
vmovd xmm0, dword [0x180238ec8]
vpxor xmm1, xmm2, xmm0
vmovd dword [rsp + 0x98], xmm1
vmovdqu xmm5, xmmword [0x180249400]
vpunpckldq xmm0, xmm5, xmm5
vpmuldq xmm3, xmm0, xmm6
vpunpckhdq xmm1, xmm5, xmm5
vpmuldq xmm2, xmm1, xmm6
vshufps xmm0, xmm3, xmm2, 0xdd
vpsrad xmm4, xmm0, 4
vpsrld xmm1, xmm4, 0x1f
vpaddd xmm0, xmm1, xmm4
vpmulld xmm2, xmm0, xmmword [0x180249420]
vpsubd xmm3, xmm5, xmm2
vpshufb xmm0, xmm3, xmmword [0x180249360]
vpaddb xmm2, xmm0, xmmword [0x180249580]
vmovd xmm1, dword [rsp + 0x9c]
vpxor xmm0, xmm2, xmm1
vmovd dword [rsp + 0x9c], xmm0
mov r8d, 8
lea r9, [rsp + 0xa0]
nop dword [rax]
mov eax, 0x51eb851f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xc
jl 0x180029e10
lea rdx, [0x180a5ea67]
lea rcx, [rsp + 0x98]
jmp 0x18002a0a5
vmovsd xmm0, qword [0x180238ed8]
vmovsd qword [rsp + 0xa8], xmm0
mov eax, dword [0x180238ee0]
mov dword [rsp + 0xb0], eax
cmp byte [0x180238ee3], 0
je 0x180029f89
vmovdqu xmm7, xmmword [0x1802498c0]
vmovdqu xmm5, xmmword [0x1802493c0]
vpunpckldq xmm0, xmm5, xmm5
vpmuldq xmm3, xmm0, xmm7
vpunpckhdq xmm1, xmm5, xmm5
vpmuldq xmm2, xmm1, xmm7
vshufps xmm0, xmm3, xmm2, 0xdd
vpsrad xmm4, xmm0, 4
vpsrld xmm1, xmm4, 0x1f
vpaddd xmm0, xmm1, xmm4
vpmulld xmm2, xmm0, xmmword [0x180249420]
vpsubd xmm3, xmm5, xmm2
vpshufb xmm4, xmm3, xmmword [0x180249360]
mov eax, dword [0x180249580]
vmovd xmm0, eax
vpaddb xmm1, xmm4, xmm0
vmovd xmm0, dword [0x180238ed8]
vpxor xmm1, xmm1, xmm0
vmovd dword [rsp + 0xa8], xmm1
vmovdqu xmm5, xmmword [0x180249400]
vpunpckldq xmm0, xmm5, xmm5
vpmuldq xmm3, xmm0, xmm7
vpunpckhdq xmm1, xmm5, xmm5
vpmuldq xmm2, xmm1, xmm7
vshufps xmm0, xmm3, xmm2, 0xdd
vpsrad xmm4, xmm0, 4
vpsrld xmm1, xmm4, 0x1f
vpaddd xmm0, xmm1, xmm4
vpmulld xmm2, xmm0, xmmword [0x180249420]
vpsubd xmm3, xmm5, xmm2
vpshufb xmm4, xmm3, xmmword [0x180249360]
vmovd xmm0, eax
vpaddb xmm2, xmm4, xmm0
vmovd xmm1, dword [rsp + 0xac]
vpxor xmm0, xmm2, xmm1
vmovd dword [rsp + 0xac], xmm0
mov r8d, 8
lea r9, [rsp + 0xb0]
nop word [rax + rax]
mov eax, 0x51eb851f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xc
jl 0x180029f60
lea rdx, [0x180a5ea66]
lea rcx, [rsp + 0xa8]
jmp 0x18002a0a5
vmovsd xmm0, qword [0x180238e88]
vmovsd qword [rsp + 0x40], xmm0
mov eax, dword [0x180238e90]
mov dword [rsp + 0x48], eax
movzx edx, word [0x180238e94]
mov word [rsp + 0x4c], dx
movzx ecx, byte [0x180238e96]
mov byte [rsp + 0x40], Ordinal_50
xor byte [rsp + 0x41], 0x34
xor byte [rsp + 0x42], 0x35
xor byte [rsp + 0x43], 0x36
xor byte [rsp + 0x44], 0x37
xor byte [rsp + 0x45], 0x38
xor byte [rsp + 0x46], 0x39
xor byte [rsp + 0x47], 0x3a
xor al, 0x3b
mov byte [rsp + 0x48], al
xor byte [rsp + 0x49], 0x3c
xor byte [rsp + 0x4a], 0x3d
xor byte [rsp + 0x4b], 0x3e
xor dl, 0x3f
mov byte [rsp + 0x4c], dl
xor byte [rsp + 0x4d], 0x40
xor cl, 0x41
mov byte [rsp + 0x4e], cl
lea rdx, [0x180a5ea64]
lea rcx, [rsp + 0x40]
jmp 0x18002a0a5
vmovsd xmm0, qword [0x180238eb8]
vmovsd qword [rsp + 0x68], xmm0
mov eax, dword [0x180238ec0]
mov dword [rsp + 0x70], eax
movzx eax, word [0x180238ec4]
mov word [rsp + 0x74], ax
cmp byte [0x180238ec5], 0
je 0x18002a099
mov byte [rsp + 0x68], gethostname
xor byte [rsp + 0x69], 0x34
xor byte [rsp + 0x6a], 0x35
xor byte [rsp + 0x6b], 0x36
xor byte [rsp + 0x6c], 0x37
xor byte [rsp + 0x6d], 0x38
xor byte [rsp + 0x6e], 0x39
xor byte [rsp + 0x6f], 0x3a
xor byte [rsp + 0x70], 0x3b
xor byte [rsp + 0x71], 0x3c
xor byte [rsp + 0x72], 0x3d
xor byte [rsp + 0x73], 0x3e
xor byte [rsp + 0x74], 0x3f
xor byte [rsp + 0x75], 0x40
lea rdx, [0x180a5ea63]
lea rcx, [rsp + 0x68]
call fcn.1800d0580
call fcn.1800c9300
mov rax, qword [0x180b5ee10]
or dword [rax + 0x4758], 1
mov dword [rax + 0x475c], 0x42820000
movzx eax, word [0x180238f58]
mov word [rsp + 0x60], ax
movzx eax, byte [0x180238f5a]
mov byte [rsp + 0x60], Ordinal_41
xor byte [rsp + 0x61], 0x34
xor al, 0x35
mov byte [rsp + 0x62], al
mov r9d, dword [rbx + 0x40]
lea r8, [rsp + 0x60]
mov edx, reloc.WLDAP32.dll_Ordinal_32
lea rcx, [0x180b60960]
call fcn.1800066a0
mov edx, dword [rbx + 0x20]
lea rcx, [rsp + 0xe0]
call fcn.1800067e0
nop
vmovsd xmm0, qword [0x180238f38]
vmovsd qword [rsp + 0x78], xmm0
movzx ecx, byte [0x180238f40]
mov byte [rsp + 0x78], reloc.WLDAP32.dll_Ordinal_35
xor byte [rsp + 0x79], 0x34
xor byte [rsp + 0x7a], 0x35
xor byte [rsp + 0x7b], 0x36
xor byte [rsp + 0x7c], 0x37
xor byte [rsp + 0x7d], 0x38
xor byte [rsp + 0x7e], 0x39
xor byte [rsp + 0x7f], 0x3a
xor cl, 0x3b
mov byte [rsp + 0x80], cl
lea rcx, [rsp + 0x78]
mov r9, 0xffffffffffffffff
nop dword [rax + rax]
inc r9
cmp byte [rcx + r9], 0
jne 0x18002a170
lea r8, [rsp + 0x78]
xor edx, edx
mov rcx, rax
call fcn.180009ec0
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], rdi
mov qword [rsp + 0xd8], rdi
vmovups ymm0, ymmword [rax]
vmovups ymmword [rsp + 0xc0], ymm0
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
lea rcx, [rsp + 0xc0]
cmp qword [rsp + 0xd8], 0xf
cmova rcx, qword [rsp + 0xc0]
vmovss dword [rsp + 0xb8], xmm9
vmovss dword [rsp + 0xbc], xmm9
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 1
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x20], rax
mov r9d, reloc.WLDAP32.dll_Ordinal_32
lea r8, [0x180b60960]
xor edx, edx
vzeroupper
call fcn.1800d6060
nop
lea rcx, [rsp + 0xc0]
call fcn.180005050
nop
lea rcx, [rsp + 0xe0]
call fcn.180005050
lea rcx, [0x180b60960]
call fcn.1801d4204
mov dword [rbx + 0x40], eax
call fcn.1800c9300
mov edx, dword [rbx + 0x2c]
lea rcx, [rsp + 0xe0]
call fcn.1800067e0
nop
cmp qword [rax + 0x18], 0xf
jbe 0x18002a26f
mov rax, qword [rax]
mov rcx, rax
call fcn.1800ce5a0
nop
lea rcx, [rsp + 0xe0]
call fcn.180005050
call fcn.1800c9300
mov edx, dword [rbx + 0x44]
lea rcx, [rsp + 0xe0]
call fcn.1800067e0
nop
cmp qword [rax + 0x18], 0xf
jbe 0x18002a2a5
mov rax, qword [rax]
mov rcx, rax
call fcn.1800ce5a0
nop
lea rcx, [rsp + 0xe0]
call fcn.180005050
call fcn.1800c9300
lea rcx, [rsp + 0x100]
call fcn.180019a60
mov rbx, qword [rsp + 0x100]
cmp byte [rbx + 0x19], 0
je 0x180029c30
call fcn.1800c7e50
call fcn.1800a8d80
mov rcx, qword [rsp + 0x110]
xor rcx, rsp
call fcn.1801be920
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x10]
vmovaps xmm6, xmmword [r11 - 0x10]
vmovaps xmm7, xmmword [r11 - 0x20]
vmovaps xmm8, xmmword [r11 - 0x30]
vmovaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop rdi
ret