Function at 0x401850
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x114
mov eax, dword [0x41a014]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [ebp + 8], 2
push esi
mov esi, dword [ebp + 0xc]
jge 0x40188e
push str.Usage:_Ecc__es_file_name__n________line_n
call fcn.00401b60
add esp, 4
mov eax, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040e3c6
mov esp, ebp
pop ebp
ret
push ebx
mov ebx, 1
jle 0x4018d5
mov ecx, dword [esi + 8]
mov eax, str._line
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x4018c0
test dl, dl
je 0x4018bc
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x4018c0
add ecx, 2
add eax, 2
test dl, dl
jne 0x4018a0
xor ecx, ecx
jmp 0x4018c4
sbb ecx, ecx
or ecx, ebx
movzx eax, byte [0x41a04c]
test ecx, ecx
cmove eax, ebx
mov byte [0x41a04c], al
push edi
push 0x410220
push dword [esi + 4]
call fcn.00401320
mov dword [0x41a028], 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 0x410274
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 0x410294
push edi
mov dword [ebp - 0x114], eax
call fcn.00401320
add esp, 0x40
mov dword [0x41a034], eax
push 0x410294
push ebx
call fcn.00401320
push 0x410294
push dword [ebp - 0x108]
mov dword [0x41a038], eax
call fcn.00401320
mov dword [0x41a03c], eax
push 0x410170
push dword [esi + 4]
call fcn.00401290
push eax
mov dword [0x41a044], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
push 0x2f
push eax
mov dword [0x41a048], eax
call sub.VCRUNTIME140.dll_strchr
add esp, 0x24
test eax, eax
je 0x4019c9
push 0x2f
push eax
mov byte [eax], 0x5f
call sub.VCRUNTIME140.dll_strchr
add esp, 8
test eax, eax
jne 0x4019b7
push 0x5c
push dword [0x41a048]
call sub.VCRUNTIME140.dll_strchr
add esp, 8
test eax, eax
je 0x4019f2
nop dword [eax]
push 0x5c
push eax
mov byte [eax], 0x5f
call sub.VCRUNTIME140.dll_strchr
add esp, 8
test eax, eax
jne 0x4019e0
push dword [0x41a034]
call fcn.00401ae0
push dword [0x41a038]
call fcn.00401ae0
push dword [0x41a03c]
call fcn.00401ae0
push 0x100
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 [0x41a030], eax
call fcn.00401370
mov eax, dword [0x41a028]
mov dword [0x41ab60], eax
call fcn.00401bf0
push dword [0x41a034]
mov esi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
call esi
push dword [0x41a038]
call esi
push dword [0x41a03c]
call esi
add esp, 0x28
cmp dword [0x41a050], 0
push edi
jne 0x401ab1
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.0040e3c6
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.0040e3c6
mov esp, ebp
pop ebp
ret