Function at 0x403b30
Capabilities:
Create process on windows
Hide graphical window

Disassembly:
mov eax, 0x1f58
call fcn.0040a6d0
mov dl, byte [0x418f7c]
push ebx
push ebp
push esi
push edi
mov ecx, 0x4a
xor eax, eax
lea edi, [esp + 0x9ed]
mov byte [esp + 0x9ec], dl
mov byte [esp + 0xf64], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xc7
xor eax, eax
lea edi, [esp + 0xf65]
mov byte [esp + 0x1734], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xc7
xor eax, eax
lea edi, [esp + 0x1735]
xor ebx, ebx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [0x41af74]
mov dword [0x41adc0], ebx
cmp eax, ebx
mov dword [0x41af5c], ebx
je 0x403bc0
mov edi, 0x41af7c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0xaf0
jbe 0x403be5
mov edi, 0x418f7c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x41af7c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x418f7c
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xf64]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 1
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x1738]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x418f7c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov ebp, dword [esp + 0x1f6c]
mov dword [0x41af6c], ebx
cmp byte [ebp], 0x30
je 0x404916
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
mov ebx, dword [esp + 0x1f70]
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xfffffffe
cmp ecx, 1
mov dword [esp + 0x10], ecx
jl 0x404509
mov ecx, dword [esp + 0x10]
mov dl, byte [ecx + ebp]
cmp dl, 0x41
je 0x4044ee
mov al, byte [0x418f7c]
mov ecx, 0x4a
mov byte [esp + 0xb18], al
xor eax, eax
lea edi, [esp + 0xb19]
rep stosd dword es:[edi], eax
movsx ecx, dl
stosw word es:[edi], ax
push ecx
lea edx, [esp + 0xb1c]
push str.Scan__c:_for_virus
push edx
stosb byte es:[edi], al
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0xb24]
push eax
call fcn.00404e20
mov edi, 0x418f7c
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x6cc]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x6cc]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
movsx edx, byte [ecx + ebp]
push edx
push 0x415994
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov edi, str.:_autorun.inf
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x6d8]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push eax
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [esp + 0x6dc]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.00411fd6
add esp, 0x14
test eax, eax
jne 0x4044ee
lea ecx, [esp + 0x6cc]
push 0x415200
push ecx
call fcn.0040a6b6
mov esi, eax
add esp, 8
test esi, esi
je 0x4044ee
push 2
push 0
push esi
call fcn.0040ac97
push esi
call fcn.0040ab3f
push esi
mov dword [esp + 0x28], eax
call fcn.0040aaeb
push esi
push 1
lea edx, [esp + 0x12a0]
push 0x4af
push edx
call fcn.0040aa03
push esi
call fcn.0040a640
mov eax, dword [0x41af70]
add esp, 0x28
test eax, eax
jne 0x403dd0
lea eax, [esp + 0x6cc]
push 1
push eax
push ebx
call fcn.00402450
add esp, 0xc
mov edi, 0x418f7c
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x28]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [0x41af70]
and ecx, 3
test eax, eax
rep movsb byte es:[edi], byte [esi]
jne 0x403e0f
mov ecx, dword [esp + 0x10]
mov dl, byte [ecx + ebp]
push edx
call fcn.00402f40
add esp, 4
lea eax, [esp + 0x6cc]
lea ecx, [esp + 0x28]
push eax
push str.Kill:__s_n
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
lea edi, [esp + 0x34]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xf70]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x20]
mov ecx, edx
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1294]
push ecx
push ebx
call fcn.004024a0
lea edi, [esp + 0x129c]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x18
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, 7
cmp ecx, esi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], esi
jle 0x404442
mov eax, dword [0x4150b0]
test eax, eax
mov dword [esp + 0x24], 0
jle 0x404435
mov dword [esp + 0x18], str.open
mov edx, dword [esp + 0x18]
push esi
lea eax, [esp + 0x1288]
push edx
push eax
call fcn.00403310
add esp, 0xc
test eax, eax
je 0x404410
mov ecx, dword [esp + 0x1c]
mov edi, 0x418f7c
xor eax, eax
xor ebp, ebp
lea ebx, [ecx + 1]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x28]
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0xc44]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x418f7c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, byte [esp + ebx + 0x1284]
and ecx, 3
cmp al, 0xa
rep movsb byte es:[edi], byte [esi]
je 0x403fc8
cmp ebx, dword [esp + 0x14]
jge 0x403fc8
lea ecx, [esp + 0x1284]
push ebx
push ecx
call fcn.004033a0
add esp, 8
test eax, eax
jle 0x403f79
sub ebp, eax
lea edx, [esp + 0x28]
push 0x31f
lea eax, [esp + 0xc48]
push edx
push eax
mov byte [esp + ebp + 0x35], 0
call fcn.0040a320
add esp, 0xc
xor ebp, ebp
jmp 0x403fb8
cmp byte [esp + ebx + 0x1284], 0x20
jne 0x403fa4
lea ecx, [esp + 0x28]
push 0x31f
lea edx, [esp + 0xc48]
push ecx
push edx
mov byte [esp + ebp + 0x34], 0
call fcn.0040a320
add esp, 0xc
xor ebp, ebp
mov al, byte [esp + ebx + 0x1284]
cmp al, 0x20
je 0x403fb8
cmp al, 0x3d
je 0x403fb8
mov byte [esp + ebp + 0x28], al
inc ebp
mov al, byte [esp + ebx + 0x1285]
inc ebx
cmp al, 0xa
jne 0x403f35
mov edi, 0x418f7c
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x348]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov byte [esp + ebp + 0x28], 0
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x28]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x4043d8
lea edi, [esp + 0x28]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
lea edx, [esp + 0x28]
dec ecx
sub edx, 3
movsx eax, byte [ecx + edx]
push eax
call fcn.0040a6ff
add esp, 4
cmp eax, 0x65
jne 0x404080
lea edi, [esp + 0x28]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x28]
repne scasb al, byte es:[edi]
not ecx
dec ecx
sub edx, 2
movsx eax, byte [ecx + edx]
push eax
call fcn.0040a6ff
add esp, 4
cmp eax, 0x78
jne 0x404080
mov eax, dword [0x41adc0]
lea edx, [esp + 0x28]
mov ecx, eax
push 0x100
shl ecx, 8
push edx
lea ecx, [ecx + eax + 0x419054]
inc eax
push ecx
mov dword [0x41adc0], eax
call fcn.0040a320
add esp, 0xc
mov edi, 0x418f7c
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x348]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov ebp, dword [esp + 0x10]
mov eax, ecx
mov esi, edi
mov edi, edx
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x348]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x1f6c]
movsx edx, byte [ecx + ebp]
push edx
push 0x415994
push eax
call ebx
mov edi, 0x415974
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x354]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x100
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [esp + 0x38]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x35c]
push ecx
call fcn.0040a8e0
lea edx, [esp + 0x360]
push edx
call fcn.004020c0
mov eax, dword [0x41af70]
add esp, 0x1c
test eax, eax
jne 0x404149
mov ecx, dword [esp + 0x1f70]
lea eax, [esp + 0x348]
push 0
push eax
push ecx
call fcn.00402450
add esp, 0xc
mov edi, 0x418f7c
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x28]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x348]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x4041b6
lea ecx, [esp + 0x348]
push 0x12b
lea edx, [esp + 0x9f0]
push ecx
push edx
call fcn.0040a320
add esp, 0xc
lea eax, [esp + 0x348]
lea ecx, [esp + 0x28]
push eax
push str.Kill:__s_n
push ecx
call ebx
add esp, 0xc
lea edi, [esp + 0xc44]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x404360
lea edi, [esp + 0xc44]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
lea edx, [esp + 0xc44]
dec ecx
sub edx, 3
movsx eax, byte [ecx + edx]
push eax
call fcn.0040a6ff
add esp, 4
cmp eax, 0x65
jne 0x404252
lea edi, [esp + 0xc44]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xc44]
repne scasb al, byte es:[edi]
not ecx
dec ecx
sub edx, 2
movsx eax, byte [ecx + edx]
push eax
call fcn.0040a6ff
add esp, 4
cmp eax, 0x78
jne 0x404252
mov eax, dword [0x41adc0]
lea edx, [esp + 0xc44]
mov ecx, eax
push 0x100
shl ecx, 8
push edx
lea ecx, [ecx + eax + 0x419054]
inc eax
push ecx
mov dword [0x41adc0], eax
call fcn.0040a320
add esp, 0xc
mov edi, 0x418f7c
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x348]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x348]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x1f6c]
movsx edx, byte [ecx + ebp]
push edx
push 0x415994
push eax
call ebx
mov edi, 0x415974
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x354]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x100
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea eax, [esp + 0xc54]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x35c]
push ecx
call fcn.0040a8e0
lea edx, [esp + 0x360]
push edx
call fcn.004020c0
mov eax, dword [0x41af70]
add esp, 0x1c
test eax, eax
jne 0x404314
mov ecx, dword [esp + 0x1f70]
lea eax, [esp + 0x348]
push 0
push eax
push ecx
call fcn.00402450
add esp, 0xc
lea edi, [esp + 0x348]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x404360
lea edx, [esp + 0x348]
push 0x12b
lea eax, [esp + 0x9f0]
push edx
push eax
call fcn.0040a320
add esp, 0xc
lea ecx, [esp + 0x348]
lea edx, [esp + 0x28]
lea eax, [esp + 0x28]
push ecx
push edx
push str._sKill:__s_n
push eax
call ebx
add esp, 0x10
mov esi, str.checked
mov eax, 0x4150e4
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x404392
test cl, cl
je 0x40438e
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x404392
add eax, 2
add esi, 2
test cl, cl
jne 0x40436a
xor eax, eax
jmp 0x404397
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4043a8
push 0x32
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Beep]
lea edi, [esp + 0x28]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xf64]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x418f7c
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x28]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov ebp, dword [esp + 0x1f6c]
mov eax, ecx
mov esi, edi
mov edi, edx
mov ebx, dword [esp + 0x1f70]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x18]
mov eax, dword [0x4150b0]
inc ecx
add edi, 0x14
cmp ecx, eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], edi
jl 0x403eb0
mov ecx, dword [esp + 0x14]
inc esi
cmp esi, ecx
mov dword [esp + 0x1c], esi
jl 0x403e98
mov edi, 0x418f7c
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x28]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x28]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
movsx edx, byte [ecx + ebp]
push edx
push str.Infected__c:_cleaned__n
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [esp + 0x1c]
lea edi, [esp + 0x34]
xor eax, eax
add esp, 0xc
mov dl, byte [ecx + ebp]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
mov byte [esp + 0x20], dl
sub edi, ecx
lea edx, [esp + 0x1734]
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x28]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x418f7c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [0x41af6c]
and ecx, 3
inc eax
rep movsb byte es:[edi], byte [esi]
mov dword [0x41af6c], eax
mov eax, dword [esp + 0x10]
dec eax
cmp eax, 1
mov dword [esp + 0x10], eax
jge 0x403c78
mov eax, dword [0x41af6c]
test eax, eax
jne 0x40457d
mov eax, dword [0x41af74]
test eax, eax
jle 0x40486c
push 0
push ebx
call dword [sym.imp.USER32.dll_ShowWindow]
mov esi, dword [sym.imp.USER32.dll_KillTimer]
push 0x378
push ebx
mov dword [0x4150b4], 1
call esi
cmp dword [0x41af74], 2
jne 0x404549
push ebx
call fcn.00403990
add esp, 4
push 0x1f3
push str.Your_drive_is_now_clean__nbut_some_virus_may_still_in_your_computer__please_check_it_
push 0x41a698
call fcn.0040a320
push ebx
call fcn.00403a90
add esp, 0x10
mov dword [0x41af74], 0
push 0x309
push ebx
call esi
jmp 0x404900
mov eax, dword [0x41af70]
test eax, eax
je 0x404659
push ebx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push ebx
call dword [sym.imp.USER32.dll_SetActiveWindow]
push 3
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push ebx
call dword [sym.imp.USER32.dll_SetWindowPos]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
lea ecx, [esp + 0x9ec]
push ecx
lea edx, [esp + 0x1d78]
push str.WARNING____Autorun_file_has_been_DETECT_in_your_CD_DVD.__nat___s__n___________________________________________________________________nWhat_do_you_want_to_do__n___________________________________________________________________nYes__Direct_Open_explorer__protect_from_virus__nNo__Eject_this_CD_nCancel__Close_this_message_only
push edx
call esi
add esp, 0xc
push 0x41ab4c
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
push 0
push 0
push 0x202
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x33
lea eax, [esp + 0x1d78]
push 0x41ab4c
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 6
jne 0x404636
movsx ecx, byte [esp + 0x20]
push ecx
lea edx, [esp + 0x66c]
push str.explorer___n__e__c:_
push edx
call esi
add esp, 0xc
lea eax, [esp + 0x668]
push 5
push eax
call dword [sym.imp.KERNEL32.dll_WinExec]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1f58
ret
cmp eax, 7
jne 0x404916
lea ecx, [esp + 0x20]
push ecx
push 1
call fcn.00408ee0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1f58
ret
mov edi, str.checked
mov esi, 0x415120
mov dl, byte [esi]
mov cl, byte [edi]
mov al, dl
cmp dl, cl
jne 0x40468b
test al, al
je 0x404687
mov cl, byte [esi + 1]
mov dl, byte [edi + 1]
mov al, cl
cmp cl, dl
jne 0x40468b
add esi, 2
add edi, 2
test al, al
jne 0x404663
xor eax, eax
jmp 0x404690
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4046bc
push 0x1f3
push str.Please_wait_while_we_deep_check_your_drive...
push 0x41a698
call fcn.0040a320
push ebx
call fcn.00403a90
mov edx, dword [esp + 0x30]
push edx
push ebx
call fcn.00404ec0
add esp, 0x18
mov eax, dword [0x41af74]
cmp eax, 1
jne 0x404765
mov eax, dword [0x41adc0]
xor edi, edi
test eax, eax
jle 0x40472e
mov ebp, dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, 0x419054
push esi
lea eax, [esp + 0x6d0]
push str.Trying_to_delete_and_kill..._s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea ecx, [esp + 0x6d8]
push 0x1f3
push ecx
push 0x41a698
call fcn.0040a320
push ebx
call fcn.00403a90
push esi
call fcn.00407f60
add esp, 0x20
push 0x1e
call ebp
mov eax, dword [0x41adc0]
inc edi
add esi, 0x101
cmp edi, eax
jl 0x4046e0
push 0x378
push ebx
mov dword [0x41af74], 2
call dword [sym.imp.USER32.dll_KillTimer]
push 0x4019f0
push 0xd6d8
push 0x378
push ebx
call dword [sym.imp.USER32.dll_SetTimer]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1f58
ret
cmp eax, 2
jne 0x4047b2
mov esi, dword [sym.imp.USER32.dll_KillTimer]
push 0x309
push ebx
call esi
push 0x1f3
push str.WARNING____This_COMPUTER_is_INFECTED_with_some_virus_nWe_try_to_kill_and_remove_it_but_failed_nSo_you_must_find_and_kill_it_manually_n
push 0x41a698
call fcn.0040a320
push ebx
call fcn.00403a90
add esp, 0x10
push 0x378
push ebx
call esi
pop edi
pop esi
pop ebp
mov dword [0x41af74], 0
pop ebx
add esp, 0x1f58
ret
mov ebp, dword [sym.imp.USER32.dll_KillTimer]
test eax, eax
jne 0x4047e4
push 0x378
push ebx
mov dword [0x41af74], 1
call ebp
push 0x4019f0
push 0xd6d8
push 0x378
push ebx
call dword [sym.imp.USER32.dll_SetTimer]
push ebx
call fcn.00403990
mov edi, 0x418f7c
or ecx, 0xffffffff
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x6cc]
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0xf64]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x6cc]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1734]
push ecx
push edx
push str._s_s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea ecx, [esp + 0x6dc]
push 0x1f3
push ecx
push 0x41a698
call fcn.0040a320
push ebx
call fcn.00403a90
push ebx
call fcn.00405450
add esp, 0x24
push 0x309
push ebx
call ebp
jmp 0x404900
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
xor esi, esi
repne scasb al, byte es:[edi]
not ecx
mov edx, 1
dec ecx
cmp ecx, edx
jbe 0x4048b1
mov al, byte [edx + ebp]
mov edi, ebp
mov byte [esp + esi + 0x1a54], al
inc esi
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + esi + 0x1a54], 0x3a
inc esi
mov byte [esp + esi + 0x1a54], 0x2c
inc esi
inc edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jb 0x404883
lea ecx, [esp + 0x1a54]
lea edx, [esp + 0x6cc]
push ecx
push str.Your__s_drives_is_Clean_
push edx
mov byte [esp + esi + 0x1a5f], 0
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x6d8]
push 0x1f3
push eax
push 0x41a698
call fcn.0040a320
push ebx
call fcn.00403a90
add esp, 0x1c
push 0x309
push ebx
call dword [sym.imp.USER32.dll_KillTimer]
push 0x401c10
push 0x1f4
push 0x309
push ebx
call dword [sym.imp.USER32.dll_SetTimer]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1f58
ret