Function at 0x4c3f2b
Capabilities:
Delete file

Disassembly:
mov eax, 0x4eec39
call fcn.004eadec
sub esp, 0x480
mov eax, dword [0x516ad4]
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, dword [edi + 0x4c]
mov edx, dword [edi + 0x48]
mov ecx, dword [edi + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [edi + 0xc]
cmp esi, eax
mov dword [ebp - 0x488], esi
ja 0x4c3f7d
jb 0x4c3f64
cmp edx, ecx
jae 0x4c3f7d
sub ecx, edx
sbb eax, esi
xor edx, edx
cmp eax, edx
jb 0x4c3f7d
ja 0x4c3f75
cmp ecx, dword [ebp + 0xc]
jbe 0x4c3f7d
xor eax, eax
inc eax
jmp 0x4c4248
xor eax, eax
push ebx
mov word [ebp - 0x1c], 0x5c
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov word [ebp - 0x224], ax
mov dword [ebp - 4], eax
push str..tmp
lea eax, [edi + 0x10]
push eax
lea eax, [ebp - 0x47c]
push eax
call fcn.004033e6
mov eax, dword [eax]
lea ebx, [ebp - 0x474]
call fcn.0040e51d
mov esi, eax
mov eax, dword [ebp - 0x47c]
add eax, 0xfffffff4
cmp eax, dword [0x51a43c]
je 0x4c3fd1
push eax
call fcn.004013aa
test esi, esi
je 0x4c4015
lea eax, [ebp - 0x47c]
push eax
lea eax, [ebp - 0x474]
call fcn.0040e489
push dword [eax]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [ebp - 0x47c]
add eax, 0xfffffff4
cmp eax, dword [0x51a43c]
je 0x4c4006
push eax
call fcn.004013aa
lea eax, [ebp - 0x474]
call fcn.0040e5d3
test eax, eax
jne 0x4c3fd5
mov eax, dword [edi + 0x3c]
dec eax
mov dword [ebp - 0x478], eax
js 0x4c410b
lea eax, [edi + 0x38]
mov dword [ebp - 0x484], eax
mov eax, dword [ebp - 0x478]
mov ecx, dword [ebp - 0x484]
call fcn.0045d964
mov eax, dword [eax]
lea ecx, [eax + 8]
lea esi, [ebp - 0x47c]
call fcn.0040318a
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x47c]
lea ebx, [ebp - 0x474]
call fcn.0040e51d
test eax, eax
je 0x4c40a0
mov ecx, ebx
call fcn.0043c62e
mov esi, dword [ebp - 0x484]
mov edi, eax
mov eax, dword [ebp - 0x478]
call fcn.004c3120
mov eax, dword [ebp - 0x478]
mov ecx, esi
call fcn.0045d964
mov eax, dword [eax]
lea ecx, [eax + 0x14]
mov eax, ebx
call fcn.004c3067
mov edi, dword [ebp + 8]
jmp 0x4c40e4
push dword [ebp - 0x47c]
lea eax, [ebp - 0x488]
push eax
call fcn.004c3d8a
push eax
lea eax, [edi + 0x50]
push eax
call fcn.004c4ab6
mov eax, dword [ebp - 0x488]
add eax, 0xfffffff4
cmp eax, dword [0x51a43c]
je 0x4c40d3
push eax
call fcn.004013aa
push dword [ebp - 0x478]
mov eax, dword [ebp - 0x484]
call fcn.004c30f7
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x47c]
add eax, 0xfffffff4
cmp eax, dword [0x51a43c]
je 0x4c40ff
push eax
call fcn.004013aa
dec dword [ebp - 0x478]
jns 0x4c402e
mov esi, dword [edi + 0x4c]
mov eax, dword [edi + 0xc]
cmp esi, eax
mov edx, dword [edi + 0x48]
mov ecx, dword [edi + 8]
ja 0x4c413c
jb 0x4c4123
mov ebx, edx
cmp ebx, ecx
jae 0x4c413c
sub ecx, edx
sbb eax, esi
xor edx, edx
cmp eax, edx
jb 0x4c413c
ja 0x4c4134
cmp ecx, dword [ebp + 0xc]
jbe 0x4c413c
xor esi, esi
inc esi
jmp 0x4c423a
lea ecx, [edi + 0x38]
call fcn.004c3144
mov eax, dword [edi + 0x3c]
mov edx, dword [ebp + 0xc]
mov ecx, dword [edi + 0x4c]
lea ebx, [eax - 1]
mov eax, dword [edi + 0x48]
add edx, 0x1400000
xor esi, esi
add eax, edx
adc ecx, esi
cmp ecx, dword [edi + 0xc]
mov dword [ebp - 0x480], edx
jb 0x4c421a
ja 0x4c4179
cmp eax, dword [edi + 8]
jbe 0x4c421a
test ebx, ebx
jl 0x4c421a
mov eax, ebx
lea ecx, [edi + 0x38]
call fcn.0045d964
mov eax, dword [eax]
lea ecx, [eax + 8]
lea esi, [ebp + 8]
call fcn.0040318a
mov byte [ebp - 4], 2
mov esi, dword [ebp + 8]
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x4c41e1
push esi
lea eax, [ebp - 0x488]
push eax
call fcn.004c3d8a
push eax
lea eax, [edi + 0x50]
push eax
call fcn.004c4ab6
mov eax, dword [ebp - 0x488]
add eax, 0xfffffff4
cmp eax, dword [0x51a43c]
je 0x4c41d8
push eax
call fcn.004013aa
push ebx
lea eax, [edi + 0x38]
call fcn.004c30f7
lea eax, [esi - 0xc]
dec ebx
mov byte [ebp - 4], 0
cmp eax, dword [0x51a43c]
je 0x4c41f7
push eax
call fcn.004013aa
mov ecx, dword [ebp - 0x480]
add ecx, dword [edi + 0x48]
push 0
pop eax
adc eax, dword [edi + 0x4c]
cmp eax, dword [edi + 0xc]
ja 0x4c4179
jb 0x4c421a
cmp ecx, dword [edi + 8]
ja 0x4c4179
mov ecx, dword [ebp + 0xc]
xor eax, eax
add ecx, dword [edi + 0x48]
adc eax, dword [edi + 0x4c]
cmp eax, dword [edi + 0xc]
ja 0x4c4236
jb 0x4c4231
cmp ecx, dword [edi + 8]
jae 0x4c4236
xor eax, eax
inc eax
jmp 0x4c4238
xor eax, eax
mov esi, eax
lea eax, [ebp - 0x474]
call fcn.0040e5fc
mov eax, esi
pop ebx
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop esi
call fcn.004eae3c
leave
ret 8