Function at 0x401820
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x114
mov eax, dword [0x41c040]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [ebp + 8], 2
push esi
mov esi, dword [ebp + 0xc]
jge 0x40185e
push str.Usage:_Ecc__es_file_name__n________line_n
call fcn.00401b30
add esp, 4
mov eax, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040fe54
mov esp, ebp
pop ebp
ret
jle 0x401898
mov ecx, dword [esi + 8]
mov eax, str._line
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x401888
test dl, dl
je 0x401884
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x401888
add ecx, 2
add eax, 2
test dl, dl
jne 0x401868
xor eax, eax
jmp 0x40188d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401898
mov byte [0x41c0bc], 1
push ebx
push edi
push 0x412230
push dword [esi + 4]
call fcn.00401320
mov dword [0x41c098], 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 0x412280
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 0x4122a0
push edi
mov dword [ebp - 0x114], eax
call fcn.00401320
add esp, 0x40
mov dword [0x41c0a4], eax
push 0x4122a0
push ebx
call fcn.00401320
push 0x4122a0
push dword [ebp - 0x108]
mov dword [0x41c0a8], eax
call fcn.00401320
mov dword [0x41c0ac], eax
push 0x412180
push dword [esi + 4]
call fcn.00401290
push eax
mov dword [0x41c0b4], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
push 0x2f
push eax
mov dword [0x41c0b8], eax
call sub.VCRUNTIME140.dll_strchr
add esp, 0x24
test eax, eax
je 0x401992
nop dword [eax + eax]
push 0x2f
push eax
mov byte [eax], 0x5f
call sub.VCRUNTIME140.dll_strchr
add esp, 8
test eax, eax
jne 0x401980
push 0x5c
push dword [0x41c0b8]
call sub.VCRUNTIME140.dll_strchr
add esp, 8
test eax, eax
je 0x4019b8
push 0x5c
push eax
mov byte [eax], 0x5f
call sub.VCRUNTIME140.dll_strchr
add esp, 8
test eax, eax
jne 0x4019a6
push dword [0x41c0a4]
call fcn.00401ab0
push dword [0x41c0a8]
call fcn.00401ab0
push dword [0x41c0ac]
call fcn.00401ab0
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 [0x41c0a0], eax
call fcn.00401370
mov eax, dword [0x41c098]
mov dword [0x41cbd0], eax
call fcn.00401ba0
push dword [0x41c0a4]
mov esi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
call esi
push dword [0x41c0a8]
call esi
push dword [0x41c0ac]
call esi
add esp, 0x28
cmp dword [0x41c0c0], 0
push edi
jne 0x401a77
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.0040fe54
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.0040fe54
mov esp, ebp
pop ebp
ret