Function at 0x407be0
Capabilities:
Accept command line arguments

Disassembly:
mov eax, 0x2014
call fcn.0041e190
push ebx
mov ebx, ecx
push ebp
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push edi
lea ebp, [ebx + 0x14c4]
push 0
push ebp
call esi
push eax
call fcn.004176c0
mov edi, eax
add esp, 0xc
test edi, edi
mov dword [esp + 0x10], edi
mov byte [ebx + 0x408], 1
jne 0x407c4a
call fcn.00413240
test eax, eax
je 0x407c34
call esi
push eax
push str.INIT__:_Failed___Invalid_path__s
call fcn.00413250
add esp, 8
pop edi
pop esi
mov byte [ebx + 0x408], 0
pop ebp
xor eax, eax
pop ebx
add esp, 0x2014
ret 0x18
push ebp
call fcn.00414e90
mov eax, dword [esp + 0x202c]
add esp, 4
lea ecx, [esp + 0x418]
push eax
push str.Cfg_s.ini
push ecx
call fcn.00415a10
lea edx, [esp + 0x424]
push edx
call fcn.004148e0
add esp, 0x10
test al, al
jne 0x407ca6
lea eax, [esp + 0x418]
lea ecx, [esp + 0x1024]
push eax
push ecx
call fcn.004124b0
lea edx, [esp + 0x102c]
push edx
call fcn.00414930
add esp, 0xc
lea eax, [esp + 0x418]
push 0
push eax
call fcn.004171b0
add esp, 8
lea ecx, [esp + 0x418]
lea ebp, [ebx + 4]
push ecx
mov ecx, ebp
call fcn.0040b330
mov ecx, ebp
call fcn.0040b4d0
test al, al
je 0x407cf3
call fcn.00413240
test eax, eax
je 0x407cf3
lea edx, [esp + 0x418]
push edx
push str.INIT__:_Inifile_is_readonly__s.
call fcn.00413250
add esp, 8
mov byte [ebx + 0x540], 0
mov eax, dword [0x42b01c]
test eax, eax
je 0x407e39
mov edi, dword [eax + 0xac8]
mov esi, 0x42481c
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x407d38
test cl, cl
je 0x407d34
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x407d38
add eax, 2
add esi, 2
test cl, cl
jne 0x407d14
xor eax, eax
jmp 0x407d3d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x407d79
mov esi, 0x424818
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x407d6c
test cl, cl
je 0x407d68
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x407d6c
add eax, 2
add esi, 2
test cl, cl
jne 0x407d48
xor eax, eax
jmp 0x407d71
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x407e35
mov eax, dword [0x42b01c]
or ecx, 0xffffffff
mov edi, dword [eax + 0x4e0]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
lea edi, [ebx + 0x540]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x540]
mov ecx, ebp
push eax
push str.LANGUAGE
push str.GLOBAL
call fcn.0040b8f0
mov edi, dword [esp + 0x2030]
mov esi, edi
lea eax, [edi - 0x1301]
cmp eax, 0xc
ja case.0x407dd5.4868
jmp dword [eax*4 + 0x4081fc]
mov al, byte [0x42b006]
test al, al
jne 0x407f9e
mov al, byte [0x42b007]
test al, al
jne 0x407f9e
push 0
push str.DISABLEBACKPLOT
push str.SYSTEM
mov ecx, ebp
call fcn.0040b830
test al, al
je 0x407e28
push 0
push str.DISABLEMATHFUNC
push str.SYSTEM
mov ecx, ebp
call fcn.0040b830
test al, al
jne 0x407f9e
mov esi, edi
or esi, 0x200000
jmp 0x407fa6
mov edi, dword [esp + 0x10]
push str._lang
push edi
call fcn.004121d0
add esp, 8
test eax, eax
je 0x407e7d
push 0xa
push str._lang
push edi
call fcn.004121d0
add esp, 8
add eax, 6
lea esi, [ebx + 0x540]
push eax
push esi
call fcn.00411fe0
push eax
call fcn.00412070
add esp, 0x10
mov byte [ebx + 0x542], 0
jmp 0x407ea2
lea esi, [ebx + 0x540]
push 0
push esi
call fcn.00414360
add esp, 8
mov ecx, ebp
push 3
push esi
push str.LANGUAGE
push str.GLOBAL
call fcn.0040b550
lea edi, [ebx + 0x14c4]
push esi
mov esi, dword [sym.imp.MSVCRT.dll_sprintf]
push edi
lea eax, [esp + 0x824]
push str._smsgmsg__s.bin
push eax
call esi
lea ecx, [esp + 0x82c]
push ecx
call fcn.004148e0
add esp, 0x14
test al, al
jne 0x407f4c
push edi
lea edx, [esp + 0x820]
push str._smsgmsg_us.bin
push edx
call esi
lea eax, [esp + 0x828]
push eax
call fcn.004148e0
add esp, 0x10
test al, al
jne 0x407f26
call fcn.00413240
test eax, eax
je 0x407f0d
push str.INIT__:_Default_language_not_found
call fcn.00413250
add esp, 4
pop edi
pop esi
mov byte [ebx + 0x408], 0
pop ebp
mov eax, 1
pop ebx
add esp, 0x2014
ret 0x18
mov edi, 0x424394
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
lea edi, [ebx + 0x540]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [esp + 0x81c]
push 0
push eax
call fcn.00411090
add esp, 8
cmp eax, 1
jge 0x407da5
call fcn.00413240
test eax, eax
je 0x407f85
lea ecx, [esp + 0x81c]
push ecx
push str.INIT__:_Error_loading_msg_file:__s
call fcn.00413250
add esp, 8
pop edi
pop esi
mov byte [ebx + 0x408], 0
pop ebp
mov eax, 1
pop ebx
add esp, 0x2014
ret 0x18
mov esi, edi
or esi, 0x10000
mov al, byte [0x42b004]
test al, al
jne 0x407fcc
push 1
push str.DISABLENCBASE
push str.SYSTEM
mov ecx, ebp
call fcn.0040b830
test al, al
jne 0x407fcc
or esi, 0x20000
mov al, byte [0x42b005]
test al, al
jne 0x407ff2
push 1
push str.DISABLEDNCADM
push str.SYSTEM
mov ecx, ebp
call fcn.0040b830
test al, al
jne 0x407ff2
or esi, 0x80000
mov al, byte [0x42b002]
test al, al
jne 0x408018
push 0
push str.DISABLEMINICAD
push str.SYSTEM
mov ecx, ebp
call fcn.0040b830
test al, al
jne 0x408018
or esi, 0x400000
mov al, byte [0x42b003]
test al, al
jne 0x40803e
push 0
push str.DISABLEMAZAKVIEW
push str.SYSTEM
mov ecx, ebp
call fcn.0040b830
test al, al
jne 0x40803e
or esi, 0x1000000
push 0
push str.DISABLESOLID
push str.SYSTEM
mov ecx, ebp
call fcn.0040b830
test al, al
jne case.0x407dd5.4868
test esi, 0x200000
je case.0x407dd5.4868
or esi, 0x800000
cmp edi, 0xfffffffe
je 0x408113
mov eax, ebx
mov edx, dword [esp + 0x2038]
neg eax
sbb eax, eax
lea ecx, [ebx + 0x548]
and eax, ebp
push eax
mov eax, dword [esp + 0x2038]
push edx
push eax
push 0
push ecx
lea eax, [ebx + 0x14c4]
push esi
push eax
lea ecx, [ebx + 0x550]
call fcn.0040beb0
test al, al
jne 0x408113
call fcn.00413240
test eax, eax
je 0x4080bb
push str.INIT__:_Invalid_keyfile__or_demo_expired
call fcn.00413250
add esp, 4
mov al, byte [esp + 0x203c]
test al, al
jne 0x408113
pop edi
pop esi
mov byte [ebx + 0x408], 0
pop ebp
mov eax, 2
pop ebx
add esp, 0x2014
ret 0x18
mov esi, edi
or esi, 0x60000
jmp case.0x407dd5.4868
mov esi, edi
or esi, 0x80000
jmp case.0x407dd5.4868
mov esi, edi
or esi, 0x100000
jmp case.0x407dd5.4868
or edi, 0x100000
mov esi, edi
jmp 0x40806c
mov dl, byte [0x42a800]
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x15]
mov byte [esp + 0x14], dl
push 0x400
rep stosd dword es:[edi], eax
lea eax, [esp + 0xc24]
mov ecx, ebp
push eax
push str.LICENSENUM
push str.GLOBAL
call fcn.0040b520
lea ecx, [esp + 0x14]
push 0xffffffffffffffff
push ecx
lea ecx, [ebx + 0x550]
call fcn.0040d300
mov esi, dword [sym.imp.MSVCRT.dll__stricmp]
lea edx, [esp + 0xc20]
lea eax, [esp + 0x14]
push edx
push eax
call esi
add esp, 8
test eax, eax
je 0x408193
lea ecx, [esp + 0x14]
mov byte [ebx + 0x54d], 1
push ecx
push str.LICENSENUM
push str.GLOBAL
mov ecx, ebp
call fcn.0040b8f0
lea edx, [esp + 0x14]
push 0x400
push edx
push str.LASTLANGUAGE
push str.GLOBAL
mov ecx, ebp
call fcn.0040b520
lea edi, [ebx + 0x540]
lea eax, [esp + 0x14]
push edi
push eax
call esi
add esp, 8
test eax, eax
je 0x4081dc
push edi
push str.LASTLANGUAGE
push str.GLOBAL
mov ecx, ebp
mov byte [ebx + 0x54c], 1
call fcn.0040b8f0
mov ecx, dword [esp + 0x202c]
mov edx, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [ecx], edx
mov eax, 3
pop ebx
add esp, 0x2014
ret 0x18