Function at 0x402ad1
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 0x402b01
call fcn.00403442
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 0x405f90
push eax
call dword [sym.imp.MSVCR71.dll_fopen]
mov esi, eax
add esp, 0x28
cmp esi, edi
mov dword [esp + 0x1c], esi
jne 0x402b8c
cmp byte [esp + 0x264], 0
jne 0x402b84
push 1
lea eax, [esp + 0x2c]
push eax
push str.Error:_could_not_open___s
call fcn.004034e9
add esp, 0xc
push 1
call dword [sym.imp.MSVCR71.dll_exit]
or eax, 0xffffffff
jmp 0x402f72
push esi
lea eax, [esp + 0x144]
push 0x118
push eax
call dword [sym.imp.MSVCR71.dll_fgets]
add esp, 0xc
test eax, eax
je 0x402f36
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 0x402f11
cmp byte [esp + 0x148], 0x2d
je 0x402bf2
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 0x402c50
test eax, eax
jne 0x402c04
push 0xa
pop esi
jmp 0x402c07
lea esi, [eax + eax]
cmp esi, edi
jg 0x402c0d
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 0x402c38
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 0x402ca6
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 0x402cb9
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x14]
push str.Warning:_missing_VM_type_on_line__d_of___s_n
jmp 0x402e04
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 0x402e4a
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 0x402d50
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 0x402d22
push dword [0x408024]
push esi
call dword [sym.imp.MSVCR71.dll_strspn]
add esi, eax
cmp byte [esi], 0
pop ecx
pop ecx
jne 0x402d35
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x14]
push str.Warning:_missing_VM_alias_on_line__d_of___s_n
jmp 0x402e04
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 0x402e4c
push str.WARN
call sub.MSVCR71.dll_strlen
push eax
push str.WARN
push esi
call edi
add esp, 0x10
test eax, eax
jne 0x402d72
push 2
pop ebp
jmp 0x402e4c
push str.IGNORE
call sub.MSVCR71.dll_strlen
push eax
push str.IGNORE
push esi
call edi
add esp, 0x10
test eax, eax
jne 0x402d90
push 5
jmp 0x402d6c
push str.ERROR
call sub.MSVCR71.dll_strlen
push eax
push str.ERROR
push esi
call edi
add esp, 0x10
test eax, eax
jne 0x402dae
push 3
jmp 0x402d6c
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 0x402e2e
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 0x402df6
push dword [0x408024]
push esi
call dword [sym.imp.MSVCR71.dll_strspn]
add esi, eax
cmp byte [esi], 0
pop ecx
pop ecx
jne 0x402e14
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 0x402e4c
push dword [0x408024]
mov dword [esp + 0x24], esi
push esi
call edi
pop ecx
pop ecx
mov byte [eax + esi], 0
push 4
jmp 0x402d6c
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 0x402e6f
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 0x402f0d
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 0x402ece
sub eax, 3
jne 0x402f02
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 0x402f02
push eax
push str.VM_IF_SERVER_CLASS
push dword [ecx]
push str.____name:__s__vmType:__s__server_class:__s_n
jmp 0x402ef9
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 0x402f02
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 0x402bb7
pop ebp
pop ebx
push esi
call dword [sym.imp.MSVCR71.dll_fclose]
cmp byte [0x40804a], 0
pop ecx
mov dword [0x408058], edi
je 0x402f70
call fcn.00403442
sub eax, dword [esp + 0x20]
sbb edx, dword [esp + 0x24]
push edx
push eax
call fcn.00403488
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