Function at 0x407a59
Capabilities:
Delete file
Move file

Disassembly:
mov eax, 0x41cc6f
call fcn.00416014
sub esp, 0x460
push ebx
push esi
push edi
mov esi, ecx
call fcn.00407cb4
mov edi, eax
xor ebx, ebx
cmp edi, ebx
jne 0x407a92
push 0xc1
lea ecx, [esi + 0xae8]
call fcn.00414fb0
xor eax, eax
jmp 0x407c88
push 0x104
lea eax, [ebp - 0x120]
push ebx
push eax
call fcn.004160d0
add esp, 0xc
lea eax, [esi + 0xd38]
push eax
lea eax, [ebp - 0x120]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x120]
push 0x4211c8
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea ecx, [ebp - 0x368]
call fcn.004146e0
push ebx
lea eax, [ebp - 0x120]
push edi
push eax
lea ecx, [ebp - 0x368]
mov dword [ebp - 4], ebx
call fcn.00414990
cmp eax, ebx
je 0x407afa
mov esi, eax
jmp 0x407c77
mov edi, 0xc1
lea ecx, [ebp - 0x368]
push edi
push dword [esi + 0xbfc]
push ebx
call fcn.00414e70
cmp eax, ebx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], edi
jne 0x407c97
cmp dword [esi + 0x1174c], ebx
mov dword [ebp - 0x10], ebx
jbe 0x407ba2
lea eax, [esi + 0xf51]
mov dword [ebp - 0x18], eax
cmp word [eax - 0x105], 1
jne 0x407b8a
mov edi, dword [eax - 0x103]
mov ebx, dword [eax]
add edi, dword [esi + 0xd34]
add ebx, 0x10f
push ebx
add edi, dword [esi + 0xbfc]
push edi
call fcn.0040ebed
pop ecx
test eax, eax
pop ecx
jne 0x407c97
push ebx
push edi
push dword [ebp - 0x14]
lea ecx, [ebp - 0x368]
call fcn.00414e70
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x407c97
add dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x18]
inc dword [ebp - 0x10]
add eax, 0x109
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
cmp ecx, dword [esi + 0x1174c]
jb 0x407b34
xor ebx, ebx
cmp dword [esi + 0x50], ebx
mov dword [ebp - 0x10], ebx
jbe 0x407c24
lea eax, [esi + 0x5c]
mov dword [ebp - 0x18], eax
cmp dword [eax - 4], 1
jne 0x407c0c
mov edi, dword [esi + 0xd34]
mov ecx, esi
add edi, dword [eax]
mov ax, word [eax - 8]
push eax
add edi, dword [esi + 0xbfc]
call fcn.0040acab
mov ebx, eax
add ebx, 0xc
cmp ebx, 0xffffffff
je 0x407c17
push ebx
push edi
call fcn.0040ebed
pop ecx
test eax, eax
pop ecx
jne 0x407c97
push ebx
push edi
push dword [ebp - 0x14]
lea ecx, [ebp - 0x368]
call fcn.00414e70
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x407c97
add dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x18]
inc dword [ebp - 0x10]
add eax, 0xc
mov dword [ebp - 0x18], eax
jmp 0x407c1a
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [esi + 0x50]
jb 0x407bb0
xor ebx, ebx
lea ecx, [ebp - 0x368]
call fcn.00414bf0
lea eax, [esi + 0xd38]
push eax
lea eax, [ebp - 0x46c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [esi + 0xae8]
add esi, 0xae8
mov ecx, esi
call dword [eax + 0x30]
lea eax, [ebp - 0x46c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp - 0x46c]
push eax
lea eax, [ebp - 0x120]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileA]
xor esi, esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x368]
call fcn.00414770
mov eax, esi
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret
lea ecx, [ebp - 0x368]
call fcn.00414bf0
lea eax, [ebp - 0x120]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov esi, dword [ebp - 0x1c]
jmp 0x407c77