Function at 0x41f164
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.00444fb6
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.00444fb6
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, 0x4945b8
cmp dword [ebp - 0x10], ebx
jne 0x41f1ab
mov ecx, esi
call fcn.004458a5
test al, al
jne 0x41f1cd
mov ecx, dword [ebp - 0x18]
call fcn.004444cc
mov ecx, dword [ebp - 0x10]
call fcn.004444cc
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 0x41f1df
mov eax, esi
push edi
push eax
lea eax, [ebp - 0x24]
push str._s._d
push eax
call fcn.00444012
add esp, 0x10
lea ecx, [ebp - 0x24]
call fcn.00443fea
mov ecx, eax
call fcn.004458a5
test al, al
jne 0x41f22d
lea ecx, [ebp - 0x24]
call fcn.00443fea
mov ecx, eax
call fcn.00443673
mov ecx, dword [ebp + 8]
mov ebx, eax
call fcn.00443673
push ebx
push eax
call sub.MSVCRT.dll__wcsicmp
pop ecx
pop ecx
test eax, eax
jne 0x41f238
xor ebx, ebx
mov ecx, dword [ebp - 0x24]
call fcn.004444cc
inc edi
jmp 0x41f1cd
lea ecx, [ebp - 0x24]
call fcn.00443fea
push eax
lea ecx, [ebp - 8]
call fcn.0040534e
mov ecx, dword [ebp - 0x24]
call fcn.004444cc
and dword [ebp - 0x1c], 0
cmp dword [ebp - 8], 0
mov ecx, dword [ebp - 8]
jne 0x41f260
mov ecx, esi
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x41f269
mov eax, esi
mov edi, dword [sym.imp.KERNEL32.DLL_MoveFileW]
push ecx
push eax
call edi
test eax, eax
jne 0x41f29d
cmp byte [ebp - 4], al
je 0x41f284
mov ecx, dword [ebp - 8]
call fcn.004444cc
xor esi, esi
mov ecx, dword [ebp - 0x18]
call fcn.004444cc
mov ecx, dword [ebp - 0x10]
call fcn.004444cc
mov eax, esi
jmp 0x41f1c6
cmp byte [ebp + 0x10], 0
mov ebx, dword [ebp - 0x18]
je 0x41f2f8
mov ecx, ebx
test ebx, ebx
jne 0x41f2ae
mov ecx, esi
call fcn.004458a5
test al, al
je 0x41f2f8
mov eax, ebx
test ebx, ebx
jne 0x41f2bf
mov eax, esi
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteFileW]
test eax, eax
jne 0x41f2f8
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x41f2d3
mov eax, esi
cmp dword [ebp - 8], 0
je 0x41f2dc
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 0x41f286
mov ecx, dword [ebp - 8]
call fcn.004444cc
jmp 0x41f286
mov ecx, ebx
test ebx, ebx
jne 0x41f300
mov ecx, esi
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x41f309
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41f32f
test dx, dx
je 0x41f32b
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41f32f
add eax, 4
add ecx, 4
test dx, dx
jne 0x41f309
xor eax, eax
jmp 0x41f334
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x41f3a4
mov ecx, ebx
test ebx, ebx
jne 0x41f340
mov ecx, esi
mov eax, dword [ebp - 8]
test eax, eax
jne 0x41f349
mov eax, esi
push ecx
push eax
call edi
test eax, eax
jne 0x41f3ba
mov edi, dword [sym.imp.KERNEL32.DLL_GetLastError]
call edi
mov dword [ebp + 0xc], eax
cmp eax, 3
jne 0x41f398
and dword [ebp + 0xc], 0
mov ecx, ebx
test ebx, ebx
jne 0x41f36d
mov ecx, esi
call fcn.004462c7
test al, al
je 0x41f393
mov ecx, ebx
test ebx, ebx
jne 0x41f37e
mov ecx, esi
mov eax, dword [ebp - 8]
test eax, eax
jne 0x41f387
mov eax, esi
push ecx
push eax
call dword [sym.imp.KERNEL32.DLL_MoveFileW]
test eax, eax
jne 0x41f3ba
call edi
mov dword [ebp + 0xc], eax
cmp dword [ebp + 0xc], 0
je 0x41f3ba
mov edi, dword [sym.imp.KERNEL32.DLL_MoveFileW]
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x41f3ad
mov eax, esi
cmp dword [ebp - 8], 0
je 0x41f3b6
mov esi, dword [ebp - 8]
push eax
push esi
call edi
cmp byte [ebp - 4], 0
je 0x41f3c8
mov ecx, dword [ebp - 8]
call fcn.004444cc
mov esi, dword [ebp + 0xc]
jmp 0x41f286