Function at 0x442030
Capabilities:
Check if file exists
Enumerate files on windows
Get disk information
Read file on windows

Disassembly:
push ebp
mov eax, 0x114c
mov ebp, esp
push edi
push esi
push ebx
call fcn.005d4d10
sub esp, eax
mov ebx, dword [0x8531c0]
and ebx, 0x4000
je 0x442060
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], 0
lea esi, [ebp - 0x1018]
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
sub esp, 4
cmp eax, 5
mov dword [ebp - 0x113c], eax
je 0x4420af
mov eax, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov dword [esp], 0x727f36
lea esi, [ebp - 0x1018]
mov dword [ebp - 0x1140], eax
call eax
sub esp, 4
test eax, eax
jne 0x442242
cmp dword [ebp - 0x113c], 2
je 0x442115
mov dword [esp + 4], esi
mov dword [esp], 0x72805c
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
sub esp, 8
mov edi, eax
mov dword [esp], edi
call dword [sym.imp.KERNEL32.dll_FindClose]
sub esp, 4
test ebx, ebx
je 0x442050
mov ecx, dword [0x70c368]
call fcn.0042f1d0
mov eax, dword [0x853238]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x10
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [sym.imp.USER32.dll_SetTimer]
sub esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], str.RECYCLER
call dword [ebp - 0x1140]
sub esp, 4
test eax, eax
jne 0x4422e6
mov dword [esp + 4], esi
mov dword [esp], 0x72805c
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
sub esp, 8
mov edi, eax
mov dword [esp + 4], esi
mov dword [esp], edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
sub esp, 8
test eax, eax
je 0x4420c5
test byte [ebp - 0x1018], 0x10
je 0x442143
lea eax, [ebp - 0xfec]
mov dword [esp + 4], 0x727928
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
sub esp, 8
test eax, eax
je 0x442143
lea eax, [ebp - 0xfec]
mov dword [esp + 4], str.System_Volume_Information
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
sub esp, 8
test eax, eax
je 0x442143
test byte [ebp - 0x1018], 2
je 0x442143
lea edx, [ebp - 0x111a]
lea eax, [ebp - 0x112c]
mov dword [esp + 4], str._ws_not_a_virus.txt
mov dword [ebp - 0x1128], 0
mov dword [ebp - 0x1120], pe_nt_image_headers32
mov dword [ebp - 0x1124], edx
xor edx, edx
mov dword [esp], eax
mov word [ebp - 0x111a], dx
lea edx, [ebp - 0xfec]
mov byte [ebp - 0x111c], 0
mov dword [ebp - 0x112c], 0x75d6e8
mov dword [esp + 8], edx
call fcn.00403910
mov eax, dword [ebp - 0x1124]
mov dword [esp], eax
call dword [ebp - 0x1140]
sub esp, 4
test eax, eax
je 0x442360
mov eax, dword [ebp - 0x1128]
mov dword [ebp - method.nInst.virtual_0], vtable.nInst.0
test eax, eax
je 0x442143
mov dword [esp], eax
call fcn.006eb310
jmp 0x442143
mov dword [esp + 4], 0x727870
mov dword [esp], 0x727f36
call dword [sym.imp.msvcrt.dll__wfopen]
test eax, eax
mov edi, eax
je 0x44233b
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0x1000
mov dword [esp], esi
call sub.msvcrt.dll_fread
mov dword [esp], edi
call sub.msvcrt.dll_fclose
mov byte [ebp - 0x19], 0
mov dword [esp + 4], str._NOT_A_VIRUS_
mov dword [esp], esi
mov edi, dword [sym.imp.SHELL32.dll_StrStrIA]
call edi
sub esp, 8
test eax, eax
jne 0x4420a6
mov dword [esp + 4], 0x727f5e
mov dword [esp], esi
call edi
sub esp, 8
test eax, eax
je 0x4420a6
mov ecx, dword [0x70c368]
mov dword [esp + 4], 1
mov ebx, 1
mov dword [esp], 1
call fcn.0042efe0
sub esp, 8
jmp 0x4420a6
mov dword [esp], str.RECYCLER_not_a_virus.txt
call dword [ebp - 0x1140]
sub esp, 4
test eax, eax
jne 0x44212d
mov ecx, dword [0x70c368]
mov dword [esp + 4], 1
mov dword [esp], 2
call fcn.0042efe0
sub esp, 8
mov dword [esp + 4], esi
mov dword [esp], 0x72805c
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
sub esp, 8
mov edi, eax
mov ebx, 1
jmp 0x442143
call dword [sym.imp.msvcrt.dll__errno]
mov eax, dword [eax]
mov dword [esp + 4], str.NOTE:_cannot_open_autorun.inf__error:__d__n
mov dword [esp], 0x835180
mov dword [esp + 8], eax
call fcn.0041eed0
jmp 0x4420a6
lea eax, [ebp - 0xfec]
mov dword [esp + 4], str.VIRUS_WARNING:_hidden_folder__S_n
mov dword [esp], 0x835180
mov dword [esp + 8], eax
call fcn.0041eed0
mov ecx, dword [0x70c368]
mov dword [esp + 4], 1
mov dword [esp], 3
call fcn.0042efe0
mov eax, dword [ebp - 0x1128]
sub esp, 8
mov dword [ebp - method.nInst.virtual_0], vtable.nInst.0
test eax, eax
je 0x442331
mov dword [esp], eax
call fcn.006eb310
jmp 0x442331