Function at 0x41f13c
Capabilities:
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
mov ebx, eax
and al, 1
push esi
movzx eax, al
push edi
push eax
call fcn.0044500b
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
shr ebx, 1
mov dword [ebp - 0x10], eax
and bl, 1
movzx eax, bl
push eax
call fcn.0044500b
mov ecx, dword [ebp - 0x10]
xor edi, edi
xor ebx, ebx
inc edi
mov dword [ebp - 0x18], eax
mov dword [ebp + 0xc], ebx
mov esi, 0x48e94c
cmp dword [ebp - 0x10], ebx
jne 0x41f183
mov ecx, esi
call fcn.004458fa
test al, al
jne 0x41f1a5
mov ecx, dword [ebp - 0x18]
call fcn.00444521
mov ecx, dword [ebp - 0x10]
call fcn.00444521
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 0xc
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], ebx
cmp eax, ebx
jne 0x41f1b7
mov eax, esi
push edi
push eax
lea eax, [ebp - 0x24]
push str._s._d
push eax
call fcn.00444067
add esp, 0x10
lea ecx, [ebp - 0x24]
call fcn.0044403f
mov ecx, eax
call fcn.004458fa
test al, al
jne 0x41f205
lea ecx, [ebp - 0x24]
call fcn.0044403f
mov ecx, eax
call fcn.004436c8
mov ecx, dword [ebp + 8]
mov ebx, eax
call fcn.004436c8
push ebx
push eax
call sub.MSVCRT.dll__wcsicmp
pop ecx
pop ecx
test eax, eax
jne 0x41f210
xor ebx, ebx
mov ecx, dword [ebp - 0x24]
call fcn.00444521
inc edi
jmp 0x41f1a5
lea ecx, [ebp - 0x24]
call fcn.0044403f
push eax
lea ecx, [ebp - 8]
call fcn.0040532f
mov ecx, dword [ebp - 0x24]
call fcn.00444521
and dword [ebp - 0x1c], 0
cmp dword [ebp - 8], 0
mov ecx, dword [ebp - 8]
jne 0x41f238
mov ecx, esi
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x41f241
mov eax, esi
mov edi, dword [sym.imp.KERNEL32.DLL_MoveFileW]
push ecx
push eax
call edi
test eax, eax
jne 0x41f275
cmp byte [ebp - 4], al
je 0x41f25c
mov ecx, dword [ebp - 8]
call fcn.00444521
xor esi, esi
mov ecx, dword [ebp - 0x18]
call fcn.00444521
mov ecx, dword [ebp - 0x10]
call fcn.00444521
mov eax, esi
jmp 0x41f19e
cmp byte [ebp + 0x10], 0
mov ebx, dword [ebp - 0x18]
je 0x41f2d0
mov ecx, ebx
test ebx, ebx
jne 0x41f286
mov ecx, esi
call fcn.004458fa
test al, al
je 0x41f2d0
mov eax, ebx
test ebx, ebx
jne 0x41f297
mov eax, esi
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteFileW]
test eax, eax
jne 0x41f2d0
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x41f2ab
mov eax, esi
cmp dword [ebp - 8], 0
je 0x41f2b4
mov esi, dword [ebp - 8]
push eax
push esi
call edi
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp byte [ebp - 4], 0
mov esi, eax
je 0x41f25e
mov ecx, dword [ebp - 8]
call fcn.00444521
jmp 0x41f25e
mov ecx, ebx
test ebx, ebx
jne 0x41f2d8
mov ecx, esi
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x41f2e1
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41f307
test dx, dx
je 0x41f303
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41f307
add eax, 4
add ecx, 4
test dx, dx
jne 0x41f2e1
xor eax, eax
jmp 0x41f30c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x41f37c
mov ecx, ebx
test ebx, ebx
jne 0x41f318
mov ecx, esi
mov eax, dword [ebp - 8]
test eax, eax
jne 0x41f321
mov eax, esi
push ecx
push eax
call edi
test eax, eax
jne 0x41f392
mov edi, dword [sym.imp.KERNEL32.DLL_GetLastError]
call edi
mov dword [ebp + 0xc], eax
cmp eax, 3
jne 0x41f370
and dword [ebp + 0xc], 0
mov ecx, ebx
test ebx, ebx
jne 0x41f345
mov ecx, esi
call fcn.0044631c
test al, al
je 0x41f36b
mov ecx, ebx
test ebx, ebx
jne 0x41f356
mov ecx, esi
mov eax, dword [ebp - 8]
test eax, eax
jne 0x41f35f
mov eax, esi
push ecx
push eax
call dword [sym.imp.KERNEL32.DLL_MoveFileW]
test eax, eax
jne 0x41f392
call edi
mov dword [ebp + 0xc], eax
cmp dword [ebp + 0xc], 0
je 0x41f392
mov edi, dword [sym.imp.KERNEL32.DLL_MoveFileW]
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x41f385
mov eax, esi
cmp dword [ebp - 8], 0
je 0x41f38e
mov esi, dword [ebp - 8]
push eax
push esi
call edi
cmp byte [ebp - 4], 0
je 0x41f3a0
mov ecx, dword [ebp - 8]
call fcn.00444521
mov esi, dword [ebp + 0xc]
jmp 0x41f25e