Function at 0x18000d7a0
Capabilities:
Encode data using xor
Terminate process

Disassembly:
mov rax, rsp
sub rsp, 0x128
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
mov rax, qword [0x180056060]
xor rax, rsp
mov qword [rsp + 0xe0], rax
mov edx, 0xc4a9fbe
mov dword [rsp + 0xa0], 0xc4a9fbe
lea rax, [rsp + 0x90]
mov dword [rsp + 0xa4], 5
mov qword [rsp + 0x40], rax
mov ecx, edx
lea rax, [rsp + 0xa0]
mov r9d, ecx
mov qword [rsp + 0x38], rax
mov r8d, edx
mov byte [rsp + 0x30], 0
mov qword [rsp + 0x28], 0xc4a9fbe
mov qword [rsp + 0x20], 0xc4a9fbe
call qword [0x18005ab98]
cmp dword [rsp + 0x90], 0
je 0x18000da2b
lea rdx, [rsp + 0x50]
call fcn.18000dea0
mov r10, rax
movzx eax, byte [rax + 5]
test al, al
je 0x18000d864
xor byte [r10], 0x38
xor byte [r10 + 1], 0x39
xor byte [r10 + 2], 0x3a
xor byte [r10 + 3], 0x3b
xor byte [r10 + 4], 0x3c
xor al, 0x3d
mov byte [r10 + 5], al
lea rdx, [rsp + 0x70]
call fcn.18000de80
mov r11, rax
cmp byte [rax + 0x1f], 0
je 0x18000da0e
xor ecx, ecx
cmp dword [0x180056070], 2
jl 0x18000d9d3
movdqa xmm0, xmmword [str.8888888888888888]
mov edx, 4
movdqa xmm5, xmmword [0x18004ff20]
mov eax, 0x1f
movdqa xmm4, xmmword [0x18004ff60]
movdqa xmm7, xmmword [str.6666]
movdqa xmmword [rsp + 0x60], xmm0
mov r8d, dword [rsp + 0x60]
movd xmm6, edx
mov rdx, r11
movd xmm8, eax
nop dword [rax + rax]
movd xmm2, ecx
lea eax, [rcx + 4]
pshufd xmm2, xmm2, 0
lea rdx, [rdx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add ecx, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x18004ff40]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 8]
pxor xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rdx - 8], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, r8d
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x18004ff40]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rdx - 4]
pxor xmm2, xmm0
movd dword [rdx - 4], xmm2
cmp ecx, 0x20
jl 0x18000d8d0
jmp 0x18000da0e
mov r8, r11
nop word [rax + rax]
mov eax, 0x2f684bdb
lea r8, [r8 + 1]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul edx, eax, 0x36
movzx eax, cl
inc ecx
sub al, dl
add al, 0x38
xor byte [r8 - 1], al
cmp ecx, 0x20
jl 0x18000d9e0
mov r9d, 0x10
mov r8, r10
mov rdx, r11
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov rdx, qword [0x18005ab78]
mov rcx, qword [0x18005ab80]
call fcn.180002f50
test al, al
jne 0x18000dc3a
lea rdx, [rsp + 0x50]
call fcn.18000dea0
mov r10, rax
movzx eax, byte [rax + 5]
test al, al
je 0x18000da79
xor byte [r10], 0x38
xor byte [r10 + 1], 0x39
xor byte [r10 + 2], 0x3a
xor byte [r10 + 3], 0x3b
xor byte [r10 + 4], 0x3c
xor al, 0x3d
mov byte [r10 + 5], al
lea rdx, [rsp + 0x70]
call fcn.18000dec0
mov r11, rax
cmp byte [rax + 0x14], 0
je 0x18000dc1d
xor ecx, ecx
cmp dword [0x180056070], 2
jl 0x18000dbe6
movdqa xmm0, xmmword [str.8888888888888888]
mov edx, 4
movdqa xmm5, xmmword [0x18004ff20]
mov eax, 0x1f
movdqa xmm4, xmmword [0x18004ff60]
movdqa xmm7, xmmword [str.6666]
movdqa xmmword [rsp + 0x60], xmm0
mov r8d, dword [rsp + 0x60]
movd xmm6, edx
mov rdx, r11
movd xmm8, eax
movd xmm2, ecx
lea eax, [rcx + 4]
pshufd xmm2, xmm2, 0
lea rdx, [rdx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add ecx, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x18004ff40]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 8]
pxor xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rdx - 8], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, r8d
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x18004ff40]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rdx - 4]
pxor xmm2, xmm0
movd dword [rdx - 4], xmm2
cmp ecx, 0x10
jl 0x18000dae0
cmp ecx, 0x15
jge 0x18000dc1d
movsxd r8, ecx
add r8, r11
nop dword [rax]
mov eax, 0x4bda12f7
lea r8, [r8 + 1]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x36
movzx eax, cl
inc ecx
sub al, dl
add al, 0x38
xor byte [r8 - 1], al
cmp ecx, 0x15
jl 0x18000dbf0
mov r9d, 0x10
mov r8, r10
mov rdx, r11
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov rcx, qword [0x18005ab80]
call fcn.180002970
test al, al
jne 0x18000de4a
lea rdx, [rsp + 0x50]
call fcn.18000dea0
mov r10, rax
movzx eax, byte [rax + 5]
test al, al
je 0x18000dc81
xor byte [r10], 0x38
xor byte [r10 + 1], 0x39
xor byte [r10 + 2], 0x3a
xor byte [r10 + 3], 0x3b
xor byte [r10 + 4], 0x3c
xor al, 0x3d
mov byte [r10 + 5], al
lea rdx, [rsp + 0x70]
call fcn.18000def0
mov r11, rax
cmp byte [rax + 0x1e], 0
je 0x18000de2d
xor ecx, ecx
cmp dword [0x180056070], 2
jl 0x18000ddf6
movdqa xmm0, xmmword [str.8888888888888888]
mov edx, 4
movdqa xmm5, xmmword [0x18004ff20]
mov eax, 0x1f
movdqa xmm4, xmmword [0x18004ff60]
movdqa xmm7, xmmword [str.6666]
movdqa xmmword [rsp + 0x60], xmm0
mov r8d, dword [rsp + 0x60]
movd xmm6, edx
mov rdx, r11
movd xmm8, eax
nop dword [rax + rax]
movd xmm2, ecx
lea eax, [rcx + 4]
pshufd xmm2, xmm2, 0
lea rdx, [rdx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add ecx, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x18004ff40]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 8]
pxor xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rdx - 8], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, r8d
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x18004ff40]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rdx - 4]
pxor xmm2, xmm0
movd dword [rdx - 4], xmm2
cmp ecx, 0x18
jl 0x18000dcf0
cmp ecx, 0x1f
jge 0x18000de2d
movsxd r8, ecx
add r8, r11
nop dword [rax]
mov eax, 0x4bda12f7
lea r8, [r8 + 1]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x36
movzx eax, cl
inc ecx
sub al, dl
add al, 0x38
xor byte [r8 - 1], al
cmp ecx, 0x1f
jl 0x18000de00
mov r9d, 0x10
mov r8, r10
mov rdx, r11
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.18000f960
lea r11, [rsp + 0x128]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
mov rsp, r11
ret