Function at 0x402a76
Capabilities:
Terminate process

Disassembly:
sub esp, 0x250
push esi
push edi
xor edi, edi
cmp byte [0x40804a], 0
mov dword [esp + 0xc], edi
mov dword [esp + 8], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edi
je 0x402aa6
call fcn.004033e7
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
push dword [esp + 0x25c]
lea eax, [esp + 0x2c]
push eax
call sub.MSVCR71.dll_strcpy
lea eax, [esp + 0x30]
push str.lib_
push eax
call sub.MSVCR71.dll_strcat
push dword [esp + 0x270]
lea eax, [esp + 0x3c]
push eax
call sub.MSVCR71.dll_strcat
lea eax, [esp + 0x40]
push str.jvm.cfg
push eax
call sub.MSVCR71.dll_strcat
lea eax, [esp + 0x48]
push 0x405f48
push eax
call dword [sym.imp.MSVCR71.dll_fopen]
mov esi, eax
add esp, 0x28
cmp esi, edi
mov dword [esp + 0x1c], esi
jne 0x402b31
cmp byte [esp + 0x264], 0
jne 0x402b29
push 1
lea eax, [esp + 0x2c]
push eax
push str.Error:_could_not_open___s
call fcn.0040348e
add esp, 0xc
push 1
call dword [sym.imp.MSVCR71.dll_exit]
or eax, 0xffffffff
jmp 0x402f17
push esi
lea eax, [esp + 0x144]
push 0x118
push eax
call dword [sym.imp.MSVCR71.dll_fgets]
add esp, 0xc
test eax, eax
je 0x402edb
push ebx
mov ebx, dword [sym.imp.MSVCR71.dll_fprintf]
push ebp
mov dword [esp + 0x18], edi
or ebp, 0xffffffff
inc dword [esp + 0x10]
cmp byte [esp + 0x148], 0x23
je 0x402eb6
cmp byte [esp + 0x148], 0x2d
je 0x402b97
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x14]
mov eax, dword [sym.imp.MSVCR71.dll__iob]
add eax, 0x40
push str.Warning:_no_leading___on_line__d_of___s_n
push eax
call ebx
add esp, 0x10
mov eax, dword [0x40805c]
cmp edi, eax
jl 0x402bf5
test eax, eax
jne 0x402ba9
push 0xa
pop esi
jmp 0x402bac
lea esi, [eax + eax]
cmp esi, edi
jg 0x402bb2
mov esi, edi
mov eax, esi
shl eax, 4
push eax
call sub.jli.dll_JLI_MemAlloc
mov edi, eax
mov eax, dword [0x408054]
test eax, eax
pop ecx
je 0x402bdd
mov ecx, dword [0x40805c]
shl ecx, 4
push ecx
push eax
push edi
call sub.MSVCR71.dll_memcpy
add esp, 0xc
push dword [0x408054]
call sub.jli.dll_JLI_MemFree
pop ecx
mov dword [0x408054], edi
mov dword [0x40805c], esi
lea eax, [esp + 0x148]
push eax
call sub.MSVCR71.dll_strlen
push dword [0x408024]
lea ecx, [esp + 0x150]
dec ecx
mov byte [eax + ecx], 0
lea eax, [esp + 0x150]
push eax
call dword [sym.imp.MSVCR71.dll_strcspn]
lea esi, [esp + eax + 0x154]
add esp, 0xc
cmp byte [esi], 0
je 0x402c4b
push dword [0x408024]
mov byte [esi], 0
inc esi
push esi
call dword [sym.imp.MSVCR71.dll_strspn]
add esi, eax
cmp byte [esi], 0
pop ecx
pop ecx
jne 0x402c5e
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x14]
push str.Warning:_missing_VM_type_on_line__d_of___s_n
jmp 0x402da9
mov edi, str.KNOWN
push edi
call sub.MSVCR71.dll_strlen
push eax
push edi
mov edi, dword [sym.imp.MSVCR71.dll_strncmp]
push esi
call edi
add esp, 0x10
test eax, eax
je 0x402def
push str.ALIASED_TO
call sub.MSVCR71.dll_strlen
push eax
push str.ALIASED_TO
push esi
call edi
add esp, 0x10
test eax, eax
jne 0x402cf5
push dword [0x408024]
mov edi, dword [sym.imp.MSVCR71.dll_strcspn]
push esi
call edi
add esi, eax
cmp byte [esi], 0
pop ecx
pop ecx
je 0x402cc7
push dword [0x408024]
push esi
call dword [sym.imp.MSVCR71.dll_strspn]
add esi, eax
cmp byte [esi], 0
pop ecx
pop ecx
jne 0x402cda
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x14]
push str.Warning:_missing_VM_alias_on_line__d_of___s_n
jmp 0x402da9
push dword [0x408024]
mov dword [esp + 0x20], esi
push esi
call edi
pop ecx
xor ebp, ebp
pop ecx
mov byte [eax + esi], 0
inc ebp
jmp 0x402df1
push str.WARN
call sub.MSVCR71.dll_strlen
push eax
push str.WARN
push esi
call edi
add esp, 0x10
test eax, eax
jne 0x402d17
push 2
pop ebp
jmp 0x402df1
push str.IGNORE
call sub.MSVCR71.dll_strlen
push eax
push str.IGNORE
push esi
call edi
add esp, 0x10
test eax, eax
jne 0x402d35
push 5
jmp 0x402d11
push str.ERROR
call sub.MSVCR71.dll_strlen
push eax
push str.ERROR
push esi
call edi
add esp, 0x10
test eax, eax
jne 0x402d53
push 3
jmp 0x402d11
push str.IF_SERVER_CLASS
call sub.MSVCR71.dll_strlen
push eax
push str.IF_SERVER_CLASS
push esi
call edi
add esp, 0x10
test eax, eax
jne 0x402dd3
push dword [0x408024]
mov edi, dword [sym.imp.MSVCR71.dll_strcspn]
push esi
call edi
add esi, eax
cmp byte [esi], 0
pop ecx
pop ecx
je 0x402d9b
push dword [0x408024]
push esi
call dword [sym.imp.MSVCR71.dll_strspn]
add esi, eax
cmp byte [esi], 0
pop ecx
pop ecx
jne 0x402db9
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x14]
push str.Warning:_missing_server_class_VM_on_line__d_of___s_n
mov eax, dword [sym.imp.MSVCR71.dll__iob]
add eax, 0x40
push eax
call ebx
add esp, 0x10
jmp 0x402df1
push dword [0x408024]
mov dword [esp + 0x24], esi
push esi
call edi
pop ecx
pop ecx
mov byte [eax + esi], 0
push 4
jmp 0x402d11
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x14]
mov eax, dword [sym.imp.MSVCR71.dll__iob]
add eax, 0x40
push str.Warning:_unknown_VM_type_on_line__d_of___s_n
push eax
call ebx
add esp, 0x10
xor ebp, ebp
cmp byte [0x40804a], 0
je 0x402e14
lea eax, [esp + 0x148]
push eax
push dword [esp + 0x18]
push str.jvm.cfg__d______s___n
call dword [sym.imp.MSVCR71.dll_printf]
add esp, 0xc
cmp ebp, 0xffffffff
je 0x402eb2
mov eax, dword [0x408054]
mov edi, dword [esp + 0x18]
lea esi, [edi + eax]
lea eax, [esp + 0x148]
push eax
call sub.jli.dll_JLI_StringDup
mov dword [esi], eax
mov eax, ebp
dec eax
pop ecx
mov dword [esi + 4], ebp
je 0x402e73
sub eax, 3
jne 0x402ea7
push dword [esp + 0x20]
call sub.jli.dll_JLI_StringDup
pop ecx
mov ecx, dword [0x408054]
add ecx, edi
mov dword [ecx + 0xc], eax
cmp byte [0x40804a], 0
je 0x402ea7
push eax
push str.VM_IF_SERVER_CLASS
push dword [ecx]
push str.____name:__s__vmType:__s__server_class:__s_n
jmp 0x402e9e
push dword [esp + 0x1c]
call sub.jli.dll_JLI_StringDup
pop ecx
mov ecx, dword [0x408054]
add ecx, edi
mov dword [ecx + 8], eax
cmp byte [0x40804a], 0
je 0x402ea7
push eax
push str.VM_ALIASED_TO
push dword [ecx]
push str.____name:__s__vmType:__s__alias:__s_n
call dword [sym.imp.MSVCR71.dll_printf]
add esp, 0x10
inc dword [esp + 0x14]
add edi, 0x10
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x24]
push esi
lea eax, [esp + 0x14c]
push 0x118
push eax
call dword [sym.imp.MSVCR71.dll_fgets]
add esp, 0xc
test eax, eax
jne 0x402b5c
pop ebp
pop ebx
push esi
call dword [sym.imp.MSVCR71.dll_fclose]
cmp byte [0x40804a], 0
pop ecx
mov dword [0x408058], edi
je 0x402f15
call fcn.004033e7
sub eax, dword [esp + 0x20]
sbb edx, dword [esp + 0x24]
push edx
push eax
call fcn.0040342d
push eax
push str._ld_micro_seconds_to_parse_jvm.cfg_n
call dword [sym.imp.MSVCR71.dll_printf]
add esp, 0x10
mov eax, edi
pop edi
pop esi
add esp, 0x250
ret