Function at 0x410e56
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2048
cmp dword [ebp + 8], 1
push ebx
push esi
push edi
jne 0x410f92
xor edi, edi
cmp dword [0x41a5f4], edi
mov byte [ebp + 0xb], 1
mov byte [ebp - 1], 1
mov dword [ebp - 0x10], 6
mov dword [ebp - 0xc], edi
jbe 0x410f73
mov dword [ebp - 8], edi
mov eax, dword [0x41a5ec]
mov ecx, dword [ebp - 8]
add ecx, eax
push ecx
call fcn.00410b8c
and byte [ebp + 0xb], al
test al, al
pop ecx
jne 0x410f50
push 0x417238
push 0x415a38
lea eax, [ebp - 0x848]
push 0x40cc84
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
cmp byte [ebp - 1], 0
je 0x410ef7
call fcn.0040d29e
cmp byte [eax + 3], 0
jne 0x410ef3
push 4
push 0x415b38
lea eax, [ebp - 0x848]
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [ebp - 0x10], eax
mov byte [ebp - 1], 0
cmp dword [ebp - 0x10], 6
jne 0x410f50
mov ecx, dword [ebp - 8]
lea eax, [ebp - 0x20]
push eax
mov eax, dword [0x41a5ec]
add ecx, eax
push ecx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x20], edi
call fcn.00410a82
mov eax, dword [ebp - 0x14]
cmp eax, edi
pop ecx
pop ecx
jbe 0x410f48
mov ecx, dword [ebp - 0x1c]
lea esi, [ecx + eax*4 - 4]
mov ebx, eax
push 4
push edi
push dword [esi]
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
push dword [esi]
call fcn.0040ffe4
sub esi, 4
dec ebx
pop ecx
jne 0x410f2f
lea ecx, [ebp - 0x20]
call fcn.004107ac
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
add dword [ebp - 8], 0x2000
cmp eax, dword [0x41a5f4]
jb 0x410e8f
cmp byte [ebp + 0xb], 0
je 0x411479
call fcn.0040d29e
cmp byte [eax + 3], 0
jne 0x411479
push edi
push 0x415d38
push 0x415c38
jmp 0x411472
cmp dword [ebp + 8], 2
jne 0x411223
mov ebx, 0x4195c8
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x410fbb
call fcn.0040d29e
cmp byte [eax + 3], 0
je 0x411479
and dword [ebp - 0x48], 0
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
push 6
pop ecx
push dword [0x41a5ec]
xor eax, eax
lea edi, [ebp - 0x44]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov edi, 0x40cba0
lea eax, [ebp - 0x1048]
push edi
push eax
call esi
add esp, 0xc
call fcn.0040d29e
cmp byte [eax + 3], 0
lea eax, [ebp - 0x1848]
je 0x411009
push dword [0x41a5cc]
push edi
push eax
call esi
add esp, 0xc
jmp 0x41101a
push ebx
push 0x418da0
push 0x40cbb8
push eax
call esi
add esp, 0x10
mov edi, dword [sym.imp.SHELL32.dll_SHFileOperationW]
lea eax, [ebp - 0x1048]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x1848]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x48]
push eax
mov dword [ebp - 0x44], 4
mov word [ebp - 0x38], 0x450
call edi
test eax, eax
je 0x411201
push dword [0x41a5ec]
lea eax, [ebp - 0x1048]
push 0x40cba8
push eax
call esi
push ebx
push 0x418da0
lea eax, [ebp - 0x1848]
push 0x40cc6c
push eax
call esi
add esp, 0x1c
lea eax, [ebp - 0x48]
push eax
call edi
test eax, eax
je 0x411201
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x1048]
push eax
lea eax, [ebp - 0x848]
push eax
call ebx
push 0x400
lea eax, [ebp - 0x1048]
push eax
lea eax, [ebp - 0x848]
push eax
call dword [sym.imp.KERNEL32.dll_GetShortPathNameW]
lea eax, [ebp - 0x1848]
push eax
lea eax, [ebp - 0x848]
push eax
call ebx
push 0x400
lea eax, [ebp - 0x1848]
push eax
lea eax, [ebp - 0x848]
push eax
call dword [sym.imp.KERNEL32.dll_GetShortPathNameW]
and word [ebp - 0x38], 0
lea eax, [ebp - 0x48]
push eax
call edi
test eax, eax
je 0x411201
push 0x417338
push 0x416b38
lea eax, [ebp - 0x2048]
push 0x40cc84
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
call fcn.0040d29e
xor edi, edi
cmp byte [eax + 3], 0
jne 0x41113b
push 4
push 0x415b38
lea eax, [ebp - 0x2048]
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 6
jne 0x411479
lea eax, [ebp - 0x20]
push eax
push dword [0x41a5ec]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x20], edi
call fcn.00410a82
mov eax, dword [ebp - 0x14]
cmp eax, edi
pop ecx
pop ecx
mov dword [ebp + 8], eax
jbe 0x4111f4
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + 8]
push dword [0x41a5ec]
lea edi, [eax + ecx*4 - 4]
push dword [edi]
call dword [sym.imp.SHLWAPI.dll_StrStrW]
mov ebx, eax
test ebx, ebx
je 0x4111e3
cmp dword [ebp + 8], 1
je 0x4111b7
push dword [0x41a5ec]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [ebx + eax*2]
push eax
push 0x4195c8
push 0x418da0
lea eax, [ebp - 0x848]
push 0x40cc58
push eax
call esi
add esp, 0x14
jmp 0x4111d2
push 0x4195c8
push 0x418da0
lea eax, [ebp - 0x848]
push 0x40cb90
push eax
call esi
add esp, 0x10
push 4
lea eax, [ebp - 0x848]
push eax
push dword [edi]
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
push dword [edi]
call fcn.0040ffe4
dec dword [ebp + 8]
pop ecx
jne 0x411166
lea ecx, [ebp - 0x20]
call fcn.004107ac
jmp 0x411479
call fcn.0040d29e
cmp byte [eax + 3], 0
jne 0x411479
push 0
push 0x415d38
push 0x416a38
push 0
jmp 0x411473
cmp dword [ebp + 8], 3
jne 0x411479
push 0x419dc8
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x41124b
call fcn.0040d29e
cmp byte [eax + 3], 0
je 0x411479
xor edi, edi
cmp dword [0x41a5f4], edi
mov byte [ebp + 0xb], 1
mov byte [ebp - 1], 1
mov dword [ebp - 0x24], 6
mov dword [ebp - 0x10], edi
jbe 0x41145c
xor esi, esi
mov eax, dword [0x41a5ec]
add eax, esi
lea ecx, [eax + 0x1000]
push ecx
add eax, 0x800
push eax
lea eax, [ebp - 0x2048]
push eax
call fcn.0040fa5f
add esp, 0xc
call fcn.0040d29e
cmp byte [eax + 3], 0
je 0x4112a7
mov eax, dword [0x41a5cc]
add eax, esi
mov dword [ebp - 8], eax
jmp 0x4112ae
mov dword [ebp - 8], 0x419dc8
lea eax, [ebp - 0x2048]
push eax
mov eax, dword [0x41a5ec]
push dword [ebp - 8]
add eax, esi
push eax
call fcn.00410332
and byte [ebp + 0xb], al
add esp, 0xc
test al, al
jne 0x41143e
push 0x417438
push 0x416d38
lea eax, [ebp - 0x1848]
push 0x40cc84
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
cmp byte [ebp - 1], 0
je 0x41131f
call fcn.0040d29e
cmp byte [eax + 3], 0
jne 0x41131b
push 4
push 0x415b38
lea eax, [ebp - 0x1848]
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [ebp - 0x24], eax
mov byte [ebp - 1], 0
cmp dword [ebp - 0x24], 6
jne 0x41143e
lea eax, [ebp - 0x20]
push eax
mov eax, dword [0x41a5ec]
add eax, esi
push eax
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x20], edi
call fcn.00410a82
mov eax, dword [ebp - 0x14]
cmp eax, edi
pop ecx
pop ecx
mov dword [ebp - 0xc], eax
jbe 0x411436
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
lea ebx, [eax + ecx*4 - 4]
mov eax, dword [0x41a5ec]
add eax, esi
push eax
push dword [ebx]
call dword [sym.imp.SHLWAPI.dll_StrStrW]
cmp eax, edi
mov dword [ebp - 0x28], eax
je 0x411425
mov word [ebp - 0x1048], di
xor eax, eax
mov ecx, 0x1ff
lea edi, [ebp - 0x1046]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [0x41a5ec]
lea ecx, [esi + eax + 0x1000]
push ecx
lea eax, [esi + eax + 0x800]
push eax
lea eax, [ebp - 0x1048]
push eax
call fcn.0040fa5f
add esp, 0xc
cmp dword [ebp - 0xc], 1
je 0x4113f3
mov eax, dword [0x41a5ec]
add eax, esi
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [ebp - 0x28]
lea eax, [ecx + eax*2]
push eax
lea eax, [ebp - 0x1048]
push eax
push dword [ebp - 8]
lea eax, [ebp - 0x848]
push 0x40cc58
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x14
jmp 0x411412
lea eax, [ebp - 0x1048]
push eax
push dword [ebp - 8]
lea eax, [ebp - 0x848]
push 0x40cb90
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
push 4
lea eax, [ebp - 0x848]
push eax
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
xor edi, edi
push dword [ebx]
call fcn.0040ffe4
dec dword [ebp - 0xc]
pop ecx
jne 0x411356
lea ecx, [ebp - 0x20]
call fcn.004107ac
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
add esi, 0x2000
cmp eax, dword [0x41a5f4]
jb 0x41126d
cmp byte [ebp + 0xb], 0
je 0x411479
call fcn.0040d29e
cmp byte [eax + 3], 0
jne 0x411479
push edi
push 0x415d38
push 0x416c38
push edi
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebx
leave
ret