Function at 0x41f140
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.00444fe8
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.00444fe8
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, 0x48f94c
cmp dword [ebp - 0x10], ebx
jne 0x41f187
mov ecx, esi
call fcn.004458d7
test al, al
jne 0x41f1a9
mov ecx, dword [ebp - 0x18]
call fcn.004444fe
mov ecx, dword [ebp - 0x10]
call fcn.004444fe
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 0x41f1bb
mov eax, esi
push edi
push eax
lea eax, [ebp - 0x24]
push str._s._d
push eax
call fcn.00444044
add esp, 0x10
lea ecx, [ebp - 0x24]
call fcn.0044401c
mov ecx, eax
call fcn.004458d7
test al, al
jne 0x41f209
lea ecx, [ebp - 0x24]
call fcn.0044401c
mov ecx, eax
call fcn.004436a5
mov ecx, dword [ebp + 8]
mov ebx, eax
call fcn.004436a5
push ebx
push eax
call sub.MSVCRT.dll__wcsicmp
pop ecx
pop ecx
test eax, eax
jne 0x41f214
xor ebx, ebx
mov ecx, dword [ebp - 0x24]
call fcn.004444fe
inc edi
jmp 0x41f1a9
lea ecx, [ebp - 0x24]
call fcn.0044401c
push eax
lea ecx, [ebp - 8]
call fcn.004053a8
mov ecx, dword [ebp - 0x24]
call fcn.004444fe
and dword [ebp - 0x1c], 0
cmp dword [ebp - 8], 0
mov ecx, dword [ebp - 8]
jne 0x41f23c
mov ecx, esi
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x41f245
mov eax, esi
mov edi, dword [sym.imp.KERNEL32.DLL_MoveFileW]
push ecx
push eax
call edi
test eax, eax
jne 0x41f279
cmp byte [ebp - 4], al
je 0x41f260
mov ecx, dword [ebp - 8]
call fcn.004444fe
xor esi, esi
mov ecx, dword [ebp - 0x18]
call fcn.004444fe
mov ecx, dword [ebp - 0x10]
call fcn.004444fe
mov eax, esi
jmp 0x41f1a2
cmp byte [ebp + 0x10], 0
mov ebx, dword [ebp - 0x18]
je 0x41f2d4
mov ecx, ebx
test ebx, ebx
jne 0x41f28a
mov ecx, esi
call fcn.004458d7
test al, al
je 0x41f2d4
mov eax, ebx
test ebx, ebx
jne 0x41f29b
mov eax, esi
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteFileW]
test eax, eax
jne 0x41f2d4
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x41f2af
mov eax, esi
cmp dword [ebp - 8], 0
je 0x41f2b8
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 0x41f262
mov ecx, dword [ebp - 8]
call fcn.004444fe
jmp 0x41f262
mov ecx, ebx
test ebx, ebx
jne 0x41f2dc
mov ecx, esi
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x41f2e5
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41f30b
test dx, dx
je 0x41f307
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41f30b
add eax, 4
add ecx, 4
test dx, dx
jne 0x41f2e5
xor eax, eax
jmp 0x41f310
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x41f380
mov ecx, ebx
test ebx, ebx
jne 0x41f31c
mov ecx, esi
mov eax, dword [ebp - 8]
test eax, eax
jne 0x41f325
mov eax, esi
push ecx
push eax
call edi
test eax, eax
jne 0x41f396
mov edi, dword [sym.imp.KERNEL32.DLL_GetLastError]
call edi
mov dword [ebp + 0xc], eax
cmp eax, 3
jne 0x41f374
and dword [ebp + 0xc], 0
mov ecx, ebx
test ebx, ebx
jne 0x41f349
mov ecx, esi
call fcn.004462f9
test al, al
je 0x41f36f
mov ecx, ebx
test ebx, ebx
jne 0x41f35a
mov ecx, esi
mov eax, dword [ebp - 8]
test eax, eax
jne 0x41f363
mov eax, esi
push ecx
push eax
call dword [sym.imp.KERNEL32.DLL_MoveFileW]
test eax, eax
jne 0x41f396
call edi
mov dword [ebp + 0xc], eax
cmp dword [ebp + 0xc], 0
je 0x41f396
mov edi, dword [sym.imp.KERNEL32.DLL_MoveFileW]
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x41f389
mov eax, esi
cmp dword [ebp - 8], 0
je 0x41f392
mov esi, dword [ebp - 8]
push eax
push esi
call edi
cmp byte [ebp - 4], 0
je 0x41f3a4
mov ecx, dword [ebp - 8]
call fcn.004444fe
mov esi, dword [ebp + 0xc]
jmp 0x41f262