Function at 0x40f010
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov dword [ebp - 8], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 4], 4
mov dword [ebp - 0x18], 0
mov eax, dword [0x4c7eac]
shl eax, 0xc
push eax
mov ecx, dword [0x4d4ddc]
push ecx
call fcn.00419880
add esp, 8
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x24], 1
jmp 0x40f05f
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp + 8]
jge 0x40f38b
push 0x4c7eb0
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
push eax
mov ecx, dword [0x4d4ddc]
push ecx
call fcn.00419ac0
add esp, 0xc
test eax, eax
je 0x40f154
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp + 8]
jl 0x40f0a7
jmp 0x40f38b
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp + 0xc]
cmp dword [edx + ecx*4], 0
je 0x40f0e7
mov eax, 0x4c7eb4
test eax, eax
je 0x40f0e7
push 0x4c7eb8
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
push eax
call fcn.004aee90
add esp, 8
test eax, eax
jne 0x40f0e7
mov dword [ebp - 8], 0x4d2ba0
mov dword [ebp - 0x1c], str.stdin
jmp 0x40f14f
push 0x4c7ec4
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
push eax
mov ecx, dword [0x4d4ddc]
push ecx
call fcn.00443030
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x40f143
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
push str.Cant_open__s:
push 0x4d2be0
call fcn.004aefac
add esp, 0xc
push 0x4d4df8
call fcn.004b06ea
add esp, 4
call fcn.0040e382
push 1
call fcn.004afc62
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x1c], ecx
jmp 0x40f386
push str._odecimal
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
mov edx, dword [0x4d4ddc]
push edx
call fcn.00419ac0
add esp, 0xc
test eax, eax
je 0x40f183
mov eax, dword [ebp - 4]
or al, 0x20
mov dword [ebp - 4], eax
jmp 0x40f386
push str._help
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
push eax
mov ecx, dword [0x4d4ddc]
push ecx
call fcn.00419ac0
add esp, 0xc
test eax, eax
je 0x40f1b1
call fcn.0040e382
push 0
call fcn.004afc62
push str._maxlen
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
mov edx, dword [0x4d4ddc]
push edx
call fcn.00419ac0
add esp, 0xc
test eax, eax
je 0x40f249
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp + 8]
jl 0x40f1f0
jmp 0x40f38b
lea edx, [ebp - 0x28]
push edx
push 0x4c7ef4
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
push edx
call fcn.004aef78
add esp, 0xc
cmp dword [ebp - 0x28], 0
jne 0x40f22f
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
push edx
push str.Error:__maxlen__s_Invalid_line_length_n
push 0x4d2be0
call fcn.004aefac
add esp, 0xc
jmp 0x40f244
mov eax, dword [ebp - 0x28]
push eax
push 0x48
mov ecx, dword [0x4d4ddc]
push ecx
call fcn.0041dd70
add esp, 0xc
jmp 0x40f386
push str._overfmt
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
mov edx, dword [0x4d4ddc]
push edx
call fcn.00419ac0
add esp, 0xc
test eax, eax
je 0x40f35f
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp + 8]
jl 0x40f285
jmp 0x40f38b
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
movsx edx, byte [ecx]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
sub eax, 0x32
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 4
ja case.default.0x40f2aa
mov ecx, dword [ebp - 0x38]
jmp dword [ecx*4 + 0x40f534]
push 0x4c7f2c
push 0x46
mov edx, dword [0x4d4ddc]
push edx
call fcn.0041dd70
add esp, 0xc
jmp case.default.0x40f2aa
push 0x4c7f34
push 0x46
mov eax, dword [0x4d4ddc]
push eax
call fcn.0041dd70
add esp, 0xc
jmp case.default.0x40f2aa
push 0x4c7f3c
push 0x46
mov ecx, dword [0x4d4ddc]
push ecx
call fcn.0041dd70
add esp, 0xc
jmp case.default.0x40f2aa
push 3
push 0x4c7f44
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.004af7d0
add esp, 0xc
test eax, eax
jne 0x40f330
push 0x4c7f48
push 0x46
mov edx, dword [0x4d4ddc]
push edx
call fcn.0041dd70
add esp, 0xc
jmp 0x40f345
push 0x4c7f50
push 0x46
mov eax, dword [0x4d4ddc]
push eax
call fcn.0041dd70
add esp, 0xc
jmp case.default.0x40f2aa
push 0x4c7f58
push 0x46
mov ecx, dword [0x4d4ddc]
push ecx
call fcn.0041dd70
add esp, 0xc
jmp 0x40f386
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
push str.Unknown_argument__s_n
mov edx, dword [0x4dc70c]
push edx
call fcn.004aefac
add esp, 0xc
mov eax, dword [ebp - 0x18]
add eax, 1
mov dword [ebp - 0x18], eax
jmp 0x40f056
cmp dword [ebp - 0x18], 0
je 0x40f39d
call fcn.0040e382
push 1
call fcn.004afc62
cmp dword [ebp - 8], 0
jne 0x40f3b4
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.0040f643
add esp, 4
jmp 0x40f471
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 8]
push eax
push 0x1000
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.004af246
add esp, 0xc
test eax, eax
je 0x40f471
mov edx, dword [ebp - 0x10]
push edx
call fcn.004aee10
add esp, 4
mov ecx, dword [ebp - 0x10]
add ecx, eax
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
cmp eax, dword [0x4c7eac]
jl 0x40f46c
mov ecx, dword [0x4c7eac]
shl ecx, 1
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x34]
shl edx, 0xc
push edx
mov eax, dword [0x4d4ddc]
push eax
call fcn.00419880
add esp, 8
mov dword [ebp - 0x30], eax
mov ecx, dword [0x4c7eac]
shl ecx, 0xc
push ecx
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x30]
push eax
call fcn.004af900
add esp, 0xc
mov ecx, dword [ebp - 0x34]
mov dword [0x4c7eac], ecx
mov edx, dword [ebp - 0x10]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
add eax, edx
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00419aae
add esp, 4
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x14], edx
jmp 0x40f3c1
mov eax, dword [ebp - 0x14]
movsx ecx, byte [eax]
test ecx, ecx
jne 0x40f494
push str.No_input__exiting_n
push 0x4d2be0
call fcn.004aefac
add esp, 8
push 1
call fcn.004afc62
lea edx, [ebp - 0xc]
push edx
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 4]
push ecx
push 0x4c7c30
lea edx, [ebp - 0x20]
push edx
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [0x4d4ddc]
push ecx
call fcn.00420740
add esp, 0x1c
test eax, eax
je 0x40f4e7
mov edx, dword [ebp - 0xc]
push edx
push str.Errors_found:__s_n
push 0x4d2be0
call fcn.004aefac
add esp, 0xc
mov eax, dword [0x4d4ddc]
mov ecx, dword [eax + 0x80]
push ecx
call fcn.004afc62
cmp dword [ebp - 0xc], 0
je 0x40f50a
push 0x4d2be0
mov edx, dword [ebp - 0xc]
push edx
call fcn.004b069c
add esp, 8
mov eax, dword [ebp - 0xc]
push eax
call fcn.00419aae
add esp, 4
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.0040f548
add esp, 4
mov edx, dword [0x4dc70c]
push edx
mov eax, dword [ebp - 0x20]
push eax
call fcn.004b069c
add esp, 8
push 0
call fcn.004afc62
mov esp, ebp
pop ebp
ret