Function at 0x401710
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, dword [esp + 8]
cmp dword [ebp], 1
push esi
mov esi, eax
jne 0x40172b
call fcn.00401130
push 0
call dword [sym.imp.MSVCR90.dll_exit]
push esi
push ebp
push 0x499e18
push 0x484bb4
call fcn.0040c500
add esp, 0x10
test eax, eax
jne 0x401993
push 0x401270
push 0x499008
push esi
push ebp
call fcn.0040a510
add esp, 0x10
test eax, eax
jne 0x401993
push edi
mov edi, dword [0x786558]
cmp dword [0x784454], eax
jne 0x401858
mov eax, edi
lea edx, [eax + 1]
jmp 0x401780
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x401780
sub eax, edx
cmp eax, 6
jae 0x40179d
mov dword [0x784454], 1
jmp 0x401858
lea edx, [edi + eax - 6]
mov ecx, str.repair
push ebx
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x4017c7
test bl, bl
je 0x4017c3
mov bl, byte [ecx + 1]
cmp bl, byte [edx + 1]
jne 0x4017c7
add ecx, 2
add edx, 2
test bl, bl
jne 0x4017a7
xor ecx, ecx
jmp 0x4017cc
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x4017dc
mov dword [0x784454], 2
jmp 0x401857
lea edx, [edi + eax - 7]
mov ecx, str.analyze
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x401805
test bl, bl
je 0x401801
mov bl, byte [ecx + 1]
cmp bl, byte [edx + 1]
jne 0x401805
add ecx, 2
add edx, 2
test bl, bl
jne 0x4017e5
xor ecx, ecx
jmp 0x40180a
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x40181a
mov dword [0x784454], 3
jmp 0x401857
lea ecx, [edi + eax - 8]
mov eax, str.optimize
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401843
test dl, dl
je 0x40183f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401843
add eax, 2
add ecx, 2
test dl, dl
jne 0x401823
xor eax, eax
jmp 0x401848
sbb eax, eax
sbb eax, 0xffffffff
neg eax
sbb eax, eax
and eax, 0xfffffffd
add eax, 4
mov dword [0x784454], eax
pop ebx
mov esi, dword [0x784438]
test esi, esi
jne 0x401884
cmp byte [0x78441b], 0
jne 0x401879
cmp byte [0x78441a], 0
mov esi, str.auto
je 0x40187e
mov esi, str.utf8
mov dword [0x784438], esi
mov ecx, str.auto
mov eax, esi
jmp 0x401890
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4018b0
test dl, dl
je 0x4018ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4018b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x401890
xor eax, eax
jmp 0x4018b5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4018ed
push 0x10
push 0x20
push esi
call fcn.004040c0
add esp, 0xc
test eax, eax
jne 0x4018e7
mov eax, dword [0x784438]
push eax
push str.Unsupported_character_set:__s_n
call dword [sym.imp.MSVCR90.dll_printf]
add esp, 8
pop edi
pop esi
mov eax, 1
pop ebp
ret
mov edi, dword [0x786558]
mov eax, dword [ebp]
mov cl, byte [0x7843ee]
test eax, eax
jle 0x401925
test cl, cl
je 0x401925
mov esi, dword [sym.imp.MSVCR90.dll_printf]
push str.You_should_give_only_options__no_arguments_at_all__with_option_n
call esi
mov ecx, dword [0x786558]
push ecx
push str.__all_databases._Please_see__s___help_for_more_information._n
call esi
add esp, 0xc
pop edi
pop esi
mov eax, 1
pop ebp
ret
cmp eax, 1
jge 0x40194f
test cl, cl
jne 0x40194f
mov esi, dword [sym.imp.MSVCR90.dll_printf]
push edi
push str.You_forgot_to_give_the_arguments__Please_see__s___help_n
call esi
push str.for_more_information._n
call esi
add esp, 0xc
pop edi
pop esi
mov eax, 1
pop ebp
ret
cmp byte [0x784416], 0
je 0x401967
push 0
call fcn.0040d050
add esp, 4
mov dword [0x784430], eax
cmp byte [0x784418], 0
je 0x40197a
mov dword [0x7843e8], 3
cmp byte [0x784419], 0
je 0x40198d
mov dword [0x7843e8], 1
pop edi
pop esi
xor eax, eax
pop ebp
ret
push eax
call dword [sym.imp.MSVCR90.dll_exit]
int3