Function at 0x40c1e4
Capabilities:
Create directory
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x134
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, ecx
test byte [eax + 0x28], 3
push edi
mov dword [ebp - 0xc], esi
je 0x40c279
xor ebx, ebx
inc ebx
push ebx
push 0x486080
call sym.Dismx86.exe_DismMultiLanguage
push eax
push str.S_MR_j
call sym.Dismx86.exe_DismMultiLanguage
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, ebx
jne 0x40c26f
xor edi, edi
lea ecx, [ebp - 0xa8]
push edi
call fcn.00403206
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0xa4], edi
jne 0x40c247
mov eax, dword [esi + 4]
mov dword [ebp - 0xa4], eax
push edi
push edi
push edi
lea eax, [ebp - 0xa8]
push eax
call dword [sym.imp.COMCTL32.dll_Ordinal_345]
cmp dword [ebp - 0x28], edi
jne 0x40c264
push 2
pop ecx
call fcn.0042c14b
lea ecx, [ebp - 0xa8]
call fcn.00405afd
mov eax, 0x80004002
jmp 0x40c745
push str.ck_WM
call sym.Dismx86.exe_DismMultiLanguage
mov ecx, dword [ebp + 8]
push eax
call fcn.0047de44
push 0xffffffffffffffff
lea ecx, [ebp - 0x130]
call fcn.00403206
xor ebx, ebx
inc ebx
cmp dword [ebp - 0x12c], 0
mov dword [ebp - 0xbc], ebx
jne 0x40c2b4
mov eax, dword [esi + 4]
mov dword [ebp - 0x12c], eax
xor edi, edi
lea eax, [ebp - 0x130]
push edi
push edi
push edi
push eax
call dword [sym.imp.COMCTL32.dll_Ordinal_345]
mov edx, str.BCD00000000Objects9dea862c_5cdd_4e70_acc1_f32b344d4795Elements24000002
mov ecx, 0x80000002
call fcn.0044cfe3
cmp dword [ebp - 0xb0], edi
je 0x40c309
push 0x30
push 0x486080
call sym.Dismx86.exe_DismMultiLanguage
push eax
push 0x490304
call sym.Dismx86.exe_DismMultiLanguage
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ebx, dword [ebp - 0xb0]
jmp 0x40c738
push 0x490338
call sym.Dismx86.exe_DismMultiLanguage
mov esi, dword [ebp + 8]
mov ecx, esi
push eax
call fcn.0047de44
mov eax, dword [esi + 0x22c]
lea ecx, [ebp - 8]
add eax, 0x870
push eax
call fcn.0043b487
push 0x49034c
lea edx, [ebp - 8]
lea ecx, [ebp - 0x10]
call fcn.0043ab55
pop ecx
mov ecx, dword [ebp - 0x10]
call fcn.0044c9a8
test eax, eax
je 0x40c486
push ebx
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], ebx
push 0x491494
push eax
call fcn.00449eea
add esp, 0xc
lea edx, [ebp - 0x10]
lea ecx, [ebp - 4]
push eax
call fcn.00431007
pop ecx
mov ecx, dword [eax]
call fcn.0044c9a8
mov ecx, dword [ebp - 4]
mov esi, eax
add ecx, 0xfffffff0
call fcn.0043c924
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.0043c924
test esi, esi
je 0x40c3e2
mov edi, ebx
inc edi
lea eax, [ebp - 0x18]
push edi
push 0x491494
push eax
call fcn.00449eea
add esp, 0xc
lea edx, [ebp - 0x10]
lea ecx, [ebp - 4]
push eax
call fcn.00431007
pop ecx
mov ecx, dword [eax]
call fcn.0044c9a8
mov ecx, dword [ebp - 4]
mov esi, eax
add ecx, 0xfffffff0
call fcn.0043c924
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.0043c924
test esi, esi
jne 0x40c39a
mov dword [ebp - 0x14], edi
xor edi, edi
push dword [ebp - 0x14]
lea eax, [ebp - 0x18]
push 0x491494
push eax
call fcn.00449eea
add esp, 0xc
lea edx, [ebp - 0x10]
lea ecx, [ebp - 0x14]
push eax
call fcn.00431007
pop ecx
push dword [eax]
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_MoveFileW]
mov ecx, dword [ebp - 0x14]
mov esi, eax
add ecx, 0xfffffff0
call fcn.0043c924
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.0043c924
test esi, esi
jne 0x40c486
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea eax, [ebp + 0xc]
push ebx
push 0x490368
push eax
call fcn.00449eea
add esp, 0xc
push dword [eax]
push 0x490398
push 1
call dword [sym.imp.CBSHost.dll_DismWriteLog]
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.0043c924
push edi
push 0x486080
call sym.Dismx86.exe_DismMultiLanguage
push eax
push str.Sorry
call sym.Dismx86.exe_DismMultiLanguage
push eax
mov eax, dword [ebp - 0xc]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x40c722
mov esi, str._windows.bt_
push esi
call dword [sym.imp.msvcrt.dll_wcslen]
pop ecx
push eax
push esi
lea ecx, [ebp - 8]
call fcn.0043b96c
mov esi, dword [ebp - 8]
mov ecx, esi
call fcn.0044c9a8
test eax, eax
je 0x40c512
mov edx, ebx
mov ecx, esi
call fcn.0044bfcd
mov ebx, eax
test ebx, ebx
je 0x40c50f
push ebx
push esi
lea eax, [ebp + 0xc]
push 0x4903e4
push eax
call fcn.00449eea
add esp, 0x10
push dword [eax]
push 0x490398
push 1
call dword [sym.imp.CBSHost.dll_DismWriteLog]
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.0043c924
push edi
push 0x486080
call sym.Dismx86.exe_DismMultiLanguage
push eax
push str.Sorry
call sym.Dismx86.exe_DismMultiLanguage
push eax
mov eax, dword [ebp - 0xc]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x40c725
xor ebx, ebx
inc ebx
lea eax, [ebp - 4]
mov dword [ebp - 4], edi
push eax
mov eax, dword [ebp + 0xc]
push dword [eax + 0x24]
call sym.Dismx86.exe_DismGetImageFileInfo
mov eax, dword [ebp - 4]
test eax, eax
je 0x40c630
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax + 0x1c]
cmp eax, dword [ecx + 0x34]
jbe 0x40c627
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x22c]
add ecx, 0x870
call fcn.0044c1fd
mov esi, dword [ebp + 0xc]
push 0
imul ecx, dword [esi + 0x34], 0xe1c
mov esi, dword [ebp - 4]
mov edi, dword [ecx + esi + 0x2c]
mov ecx, dword [ecx + esi + 0x30]
add edi, 0x40000000
mov esi, dword [ebp - 8]
mov dword [ebp - 0x14], edi
pop edi
adc ecx, edi
cmp ecx, edx
jb 0x40c627
ja 0x40c58b
cmp dword [ebp - 0x14], eax
jb 0x40c627
push ebx
push 0x486080
call sym.Dismx86.exe_DismMultiLanguage
push eax
push str.S_MRlx
call sym.Dismx86.exe_DismMultiLanguage
push eax
mov eax, dword [ebp - 0xc]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, ebx
jne 0x40c614
push edi
lea ecx, [ebp - 0xa8]
call fcn.00403206
cmp dword [ebp - 0xa4], 0
mov dword [ebp - 0x34], ebx
jne 0x40c5d6
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 4]
mov dword [ebp - 0xa4], eax
push edi
push edi
push edi
lea eax, [ebp - 0xa8]
push eax
call dword [sym.imp.COMCTL32.dll_Ordinal_345]
cmp dword [ebp - 0x28], 0
jne 0x40c609
push 2
pop ecx
call fcn.0042c14b
lea ecx, [ebp - 0xa8]
call fcn.00405afd
mov ebx, 0x80004005
jmp 0x40c725
lea ecx, [ebp - 0xa8]
call fcn.00405afd
push dword [ebp - 4]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov ebx, 0x80004002
jmp 0x40c725
push dword [ebp - 4]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push edi
push esi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0x49043c
call sym.Dismx86.exe_DismMultiLanguage
mov ebx, dword [ebp + 8]
mov ecx, ebx
push eax
call fcn.0047de44
mov eax, dword [ebp + 0xc]
push ebx
push ecx
push esi
push dword [eax + 0x28]
mov edx, dword [eax + 0x34]
mov ecx, dword [eax + 0x24]
call fcn.0040c74c
mov esi, dword [ebp + 8]
mov ebx, eax
cmp dword [esi + 0x238], edi
je 0x40c678
mov ebx, 0x4c7
jmp 0x40c722
test ebx, ebx
je 0x40c6b0
mov edx, ebx
lea ecx, [ebp + 0xc]
call fcn.0043b4b9
push 0x10
push 0x486308
mov esi, eax
call sym.Dismx86.exe_DismMultiLanguage
push eax
mov eax, dword [ebp - 0xc]
push dword [esi]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.0043c924
jmp 0x40c722
xor ebx, ebx
lea ecx, [ebp - 0xa8]
inc ebx
push ebx
call fcn.00403206
cmp dword [ebp - 0xa4], 0
mov dword [ebp - 0x34], ebx
jne 0x40c6d7
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 4]
mov dword [ebp - 0xa4], eax
push edi
push edi
push edi
lea eax, [ebp - 0xa8]
push eax
call dword [sym.imp.COMCTL32.dll_Ordinal_345]
lea ecx, [ebp - 0xa8]
call fcn.00405afd
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [esi + 0x22c]
add eax, 0x870
push eax
call sym.Dismx86.exe_DismGetSystemInfoByPath
mov ecx, dword [esi + 0x22c]
mov eax, dword [ebp - 0x1c]
push ecx
mov dword [esi + 0x22c], eax
mov dword [ebp - 0x1c], ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov ebx, edi
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.0043c924
lea ecx, [esi - 0x10]
call fcn.0043c924
lea ecx, [ebp - 0x130]
call fcn.00405afd
mov eax, ebx
pop edi
pop esi
pop ebx
leave
ret 8