Function at 0x424050
Capabilities:
Delete file

Disassembly:
sub esp, 0x3c
push ebx
push ebp
push esi
xor ebp, ebp
push edi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], ebp
call fcn.00402ff0
mov esi, eax
cmp esi, ebp
jne 0x424077
pop edi
pop esi
pop ebp
xor ax, ax
pop ebx
add esp, 0x3c
ret
mov eax, dword [0x45396c]
mov ecx, eax
inc eax
mov dword [0x45396c], eax
push ecx
lea eax, [esp + 0x24]
push str.Mid_d.mid
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
push 1
push 0x104
call dword [sym.imp.MSVCRT.dll_calloc]
mov ebx, eax
add esp, 0x14
cmp ebx, ebp
jne 0x4240b6
pop edi
pop esi
pop ebp
xor ax, ax
pop ebx
add esp, 0x3c
ret
mov edx, ebx
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4240bc
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, ebp
jle 0x4240f1
cmp byte [ecx + ebx - 1], 0x5c
je 0x4240f1
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov cx, word [0x451918]
mov word [edi - 1], cx
lea edi, [esp + 0x20]
or ecx, 0xffffffff
xor eax, eax
push ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call dword [0x453524]
mov edi, eax
cmp edi, 0xffffffff
mov dword [esp + 0x18], edi
jne 0x424148
push ebx
call dword [sym.imp.MSVCRT.dll_remove]
push ebx
call dword [sym.imp.MSVCRT.dll_free]
add esp, 8
xor ax, ax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
mov eax, dword [0x453a0c]
mov esi, dword [esp + 0x50]
test byte [eax + 0x15], 0x80
je 0x42422c
lea ecx, [esp + 0x50]
push 4
push ecx
push esi
mov dword [esp + 0x1c], ebp
call dword [0x453470]
mov ebp, eax
test ebp, ebp
jne 0x42428e
mov eax, dword [esp + 0x50]
lea edx, [esp + 0x10]
add eax, 0x10
push edx
push eax
call fcn.0041df20
add esp, 8
test eax, eax
jne 0x42419a
mov ebp, 8
jmp 0x42428e
mov ecx, dword [esp + 0x10]
push esi
push ecx
call fcn.004053b0
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x42421d
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x50]
mov eax, dword [ecx + 0x14]
sub edx, eax
sub edx, 0x18
lea eax, [eax + ecx + 0x18]
push edx
push eax
push edi
call dword [0x453520]
mov edx, dword [esp + 0x10]
mov ebp, eax
lea ecx, [esp + 0x14]
mov eax, dword [edx + 0x14]
push ecx
add eax, 4
push eax
call fcn.0041df20
add esp, 8
test eax, eax
je 0x424218
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov ecx, dword [eax + 0x14]
lea esi, [eax + 0x18]
mov edx, ecx
lea eax, [esp + 0x10]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x1c]
call fcn.0041dfb0
add esp, 4
jmp 0x42428e
mov ebp, 8
lea eax, [esp + 0x10]
push eax
call fcn.0041dfb0
add esp, 4
jmp 0x42428e
lea ecx, [esp + 0x34]
push 0x18
push ecx
push esi
call dword [0x453470]
mov ebp, eax
test ebp, ebp
jne 0x42428e
mov eax, dword [esp + 0x48]
lea edx, [esp + 0x14]
add eax, 4
push edx
push eax
call fcn.0041df20
add esp, 8
test eax, eax
jne 0x424260
mov ebp, 8
jmp 0x42428e
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x14]
push ecx
push edx
push esi
call dword [0x453470]
mov ebp, eax
test ebp, ebp
jne 0x42428e
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x48]
sub eax, edx
push eax
push esi
push edi
call fcn.004174b0
add esp, 0xc
mov ebp, eax
push edi
call dword [0x453468]
test ebp, ebp
jne 0x4242c8
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x453a0c]
repne scasb al, byte es:[edi]
mov eax, dword [edx + 0x1c4]
not ecx
push ecx
mov ecx, dword [esp + 0x18]
push ebx
push ecx
push 2
push eax
call fcn.0044c1c4
mov esi, eax
test si, si
jne 0x4242d6
jmp 0x4242cc
mov esi, dword [esp + 0x1c]
push ebx
call dword [sym.imp.MSVCRT.dll_remove]
add esp, 4
lea ecx, [esp + 0x14]
push ecx
call fcn.0041dfb0
push ebx
call dword [sym.imp.MSVCRT.dll_free]
add esp, 8
mov ax, si
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret