Function at 0x402b00
Capabilities:
Copy file
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x234
push esi
push edi
push 0x104
lea eax, [ebp - 0x214]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [ebp - 0x10c]
push ecx
call fcn.00401a40
add esp, 4
push 0
lea edx, [ebp - 0x10c]
push edx
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov dword [ebp - 0x21c], 0
lea ecx, [ebp - 0x21c]
push ecx
lea edx, [ebp - 0x10c]
push edx
call fcn.00402580
add esp, 8
mov dword [ebp - 0x218], eax
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp dword [ebp - 0x21c], 0
je 0x402b89
cmp dword [ebp - 0x218], 0
jne 0x402b9f
push 0x401418
push 4
call fcn.00401c00
add esp, 8
xor eax, eax
jmp 0x402d92
push 0x40140c
push 0
call fcn.00401c00
add esp, 8
mov dword [ebp - 8], 8
mov eax, dword [ebp - 0x218]
xor edx, edx
div dword [ebp - 8]
mov ecx, eax
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x218]
lea eax, [eax + edx - 1]
xor edx, edx
div dword [ebp - 8]
cmp ecx, eax
jne 0x402beb
mov eax, dword [ebp - 0x218]
xor edx, edx
div dword [ebp - 8]
mov dword [ebp - 0x22c], eax
jmp 0x402bff
mov eax, dword [ebp - 0x218]
xor edx, edx
div dword [ebp - 8]
add eax, 1
mov dword [ebp - 0x22c], eax
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
imul edx, dword [ebp - 8]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0x218]
cmp eax, dword [ebp - 0x110]
je 0x402d19
mov ecx, dword [ebp - 0x110]
push ecx
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [ebp - 0x224], eax
mov edx, dword [ebp - 0x224]
mov dword [ebp - 0x220], edx
mov ecx, dword [ebp - 8]
xor eax, eax
mov edx, dword [ebp - 4]
sub edx, 1
imul edx, dword [ebp - 8]
mov edi, dword [ebp - 0x220]
add edi, edx
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov ecx, dword [ebp - 0x218]
mov esi, dword [ebp - 0x21c]
mov edi, dword [ebp - 0x220]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x21c]
mov dword [ebp - 0x228], ecx
mov edx, dword [ebp - 0x228]
push edx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [ebp - 0x110]
shr eax, 2
mov ecx, dword [ebp - 0x110]
add ecx, 3
shr ecx, 2
cmp eax, ecx
jne 0x402cd2
mov edx, dword [ebp - 0x110]
shr edx, 2
mov dword [ebp - 0x230], edx
jmp 0x402ce4
mov eax, dword [ebp - 0x110]
shr eax, 2
add eax, 1
mov dword [ebp - 0x230], eax
push 0x401140
mov ecx, dword [ebp - 0x230]
push ecx
mov edx, dword [ebp - 0x220]
push edx
call fcn.004018d0
add esp, 0xc
mov eax, dword [ebp - 0x220]
mov dword [ebp - 0x21c], eax
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x218], ecx
jmp 0x402d70
mov edx, dword [ebp - 0x110]
shr edx, 2
mov eax, dword [ebp - 0x110]
add eax, 3
shr eax, 2
cmp edx, eax
jne 0x402d43
mov ecx, dword [ebp - 0x110]
shr ecx, 2
mov dword [ebp - 0x234], ecx
jmp 0x402d55
mov edx, dword [ebp - 0x110]
shr edx, 2
add edx, 1
mov dword [ebp - 0x234], edx
push 0x401140
mov eax, dword [ebp - 0x234]
push eax
mov ecx, dword [ebp - 0x21c]
push ecx
call fcn.004018d0
add esp, 0xc
push 0x4013f0
push 0
call fcn.00401c00
add esp, 8
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x21c]
push eax
call fcn.00402230
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret