Function at 0x401840
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x114
mov eax, dword [0x419014]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [ebp + 8], 2
push esi
mov esi, dword [ebp + 0xc]
jge 0x40187e
push str.Usage:_Ecc__es_file_name__n________line_n
call fcn.00401b50
add esp, 4
mov eax, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040e5d6
mov esp, ebp
pop ebp
ret
push ebx
mov ebx, 1
jle 0x4018c5
mov ecx, dword [esi + 8]
mov eax, str._line
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x4018b0
test dl, dl
je 0x4018ac
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x4018b0
add ecx, 2
add eax, 2
test dl, dl
jne 0x401890
xor ecx, ecx
jmp 0x4018b4
sbb ecx, ecx
or ecx, ebx
movzx eax, byte [0x41905c]
test ecx, ecx
cmove eax, ebx
mov byte [0x41905c], al
push edi
push 0x410230
push dword [esi + 4]
call fcn.00401320
mov dword [0x419038], eax
push str..cpp_tmp
push dword [esi + 4]
call fcn.00401290
push str..cpp
push dword [esi + 4]
mov edi, eax
call fcn.00401290
push str..h_tmp
push dword [esi + 4]
mov dword [ebp - 0x10c], eax
call fcn.00401290
push 0x410284
push dword [esi + 4]
mov ebx, eax
call fcn.00401290
push str._tables.h_tmp
push dword [esi + 4]
mov dword [ebp - 0x110], eax
call fcn.00401290
push str._tables.h
push dword [esi + 4]
mov dword [ebp - 0x108], eax
call fcn.00401290
push 0x4102a4
push edi
mov dword [ebp - 0x114], eax
call fcn.00401320
add esp, 0x40
mov dword [0x419044], eax
push 0x4102a4
push ebx
call fcn.00401320
push 0x4102a4
push dword [ebp - 0x108]
mov dword [0x419048], eax
call fcn.00401320
mov dword [0x41904c], eax
push 0x410180
push dword [esi + 4]
call fcn.00401290
push eax
mov dword [0x419054], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
push 0x2f
push eax
mov dword [0x419058], eax
call sub.VCRUNTIME140.dll_strchr
add esp, 0x24
test eax, eax
je 0x4019b9
push 0x2f
push eax
mov byte [eax], 0x5f
call sub.VCRUNTIME140.dll_strchr
add esp, 8
test eax, eax
jne 0x4019a7
push 0x5c
push dword [0x419058]
call sub.VCRUNTIME140.dll_strchr
add esp, 8
test eax, eax
je 0x4019e2
nop dword [eax]
push 0x5c
push eax
mov byte [eax], 0x5f
call sub.VCRUNTIME140.dll_strchr
add esp, 8
test eax, eax
jne 0x4019d0
push dword [0x419044]
call fcn.00401ad0
push dword [0x419048]
call fcn.00401ad0
push dword [0x41904c]
call fcn.00401ad0
push pe_nt_image_headers32
push dword [esi + 4]
lea eax, [ebp - 0x104]
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__fullpath]
lea eax, [ebp - 0x104]
push eax
mov dword [0x419040], eax
call fcn.00401370
mov eax, dword [0x419038]
mov dword [0x419b5c], eax
call fcn.00401bc0
push dword [0x419044]
mov esi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
call esi
push dword [0x419048]
call esi
push dword [0x41904c]
call esi
add esp, 0x28
cmp dword [0x419060], 0
push edi
jne 0x401aa1
push dword [ebp - 0x10c]
call fcn.00401600
push ebx
push dword [ebp - 0x110]
call fcn.00401630
push dword [ebp - 0x108]
push dword [ebp - 0x114]
call fcn.00401630
add esp, 0x18
xor eax, eax
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040e5d6
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
call esi
push ebx
call esi
push dword [ebp - 0x108]
call esi
mov ecx, dword [ebp - 4]
add esp, 0xc
xor ecx, ebp
mov eax, 1
pop edi
pop ebx
pop esi
call fcn.0040e5d6
mov esp, ebp
pop ebp
ret