Function at 0x402eb0
Capabilities:
Terminate process

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x298
mov rax, qword [0x00409048]
mov qword [rsp + 0x280], rax
xor eax, eax
mov bl, r8b
mov rsi, rdx
cmp byte [0x00409082], al
mov rdi, rcx
mov ebp, eax
mov r13d, eax
mov qword [rsp + 0x20], rax
je 0x402efa
call fcn.00403c84
mov r15, rax
jmp 0x402eff
mov r15, qword [rsp + 0x28]
lea rcx, [rsp + 0x40]
mov rdx, rdi
mov qword [rsp + 0x30], r15
call sub.msvcrt.dll_strcpy
lea rdx, str.lib_
lea rcx, [rsp + 0x40]
call sub.msvcrt.dll_strcat
lea rcx, [rsp + 0x40]
mov rdx, rsi
call sub.msvcrt.dll_strcat
lea rdx, str.jvm.cfg
lea rcx, [rsp + 0x40]
call sub.msvcrt.dll_strcat
lea rdx, [0x00407220]
lea rcx, [rsp + 0x40]
call qword [sym.imp.msvcrt.dll_fopen]
test rax, rax
mov r14, rax
jne 0x402f87
test bl, bl
jne 0x402f7d
lea rdx, [rsp + 0x40]
lea rcx, str.Error:_could_not_open___s
mov r8b, 1
call fcn.00403d24
lea ecx, [r14 + 1]
call qword [sym.imp.msvcrt.dll_exit]
int3
mov eax, 0xffffffff
jmp 0x4033b6
lea rcx, [rsp + 0x160]
mov r8, rax
mov edx, 0x118
call qword [sym.imp.msvcrt.dll_fgets]
test rax, rax
je 0x40337c
xor r12d, r12d
mov r15, rbp
mov al, byte [rsp + 0x160]
inc r13d
mov edi, 0xffffffff
cmp al, 0x23
je 0x403358
cmp al, 0x2d
je 0x402fe7
mov rcx, qword [sym.imp.msvcrt.dll__iob]
lea r9, [rsp + 0x40]
lea rdx, str.Warning:_no_leading___on_line__d_of___s_n
add rcx, 0x60
mov r8d, r13d
call qword [sym.imp.msvcrt.dll_fprintf]
mov eax, dword [0x004090a4]
cmp ebp, eax
jl 0x40304d
test eax, eax
lea esi, [rax + rax]
mov ecx, 0xa
cmove esi, ecx
cmp esi, ebp
cmovle esi, ebp
movsxd rcx, esi
shl rcx, 5
call sub.jli.dll_JLI_MemAlloc
mov rcx, qword [0x00409098]
test rcx, rcx
mov rbx, rax
je 0x40303b
movsxd r8, dword [0x004090a4]
mov rdx, rcx
mov rcx, rax
shl r8, 5
call sub.msvcrt.dll_memcpy
mov rcx, qword [0x00409098]
call sub.jli.dll_JLI_MemFree
mov qword [0x00409098], rbx
mov dword [0x004090a4], esi
lea rcx, [rsp + 0x160]
call sub.msvcrt.dll_strlen
mov rdx, qword [0x00409030]
lea rcx, [rsp + 0x160]
mov r11, rax
lea rax, [rsp + 0x160]
mov byte [r11 + rax - 1], 0
call qword [sym.imp.msvcrt.dll_strcspn]
lea rbx, [rsp + rax + 0x160]
cmp byte [rbx], 0
je 0x4030ab
mov rdx, qword [0x00409030]
mov byte [rbx], 0
inc rbx
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_strspn]
add rbx, rax
cmp byte [rbx], 0
jne 0x4030b7
lea rdx, str.Warning:_missing_VM_type_on_line__d_of___s_n
jmp 0x403239
lea rcx, str.KNOWN
call sub.msvcrt.dll_strlen
lea rdx, str.KNOWN
mov rcx, rbx
mov r8, rax
call qword [sym.imp.msvcrt.dll_strncmp]
test eax, eax
je 0x403297
lea rcx, str.ALIASED_TO
call sub.msvcrt.dll_strlen
lea rdx, str.ALIASED_TO
mov rcx, rbx
mov r8, rax
call qword [sym.imp.msvcrt.dll_strncmp]
test eax, eax
jne 0x40315e
mov rdx, qword [0x00409030]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_strcspn]
add rbx, rax
cmp byte [rbx], 0
je 0x403131
mov rdx, qword [0x00409030]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_strspn]
add rbx, rax
cmp byte [rbx], 0
jne 0x40313d
lea rdx, str.Warning:_missing_VM_alias_on_line__d_of___s_n
jmp 0x403239
mov rdx, qword [0x00409030]
mov rcx, rbx
mov r15, rbx
call qword [sym.imp.msvcrt.dll_strcspn]
mov edi, 1
mov byte [rax + rbx], 0
jmp 0x403299
lea rcx, str.WARN
call sub.msvcrt.dll_strlen
lea rdx, str.WARN
mov rcx, rbx
mov r8, rax
call qword [sym.imp.msvcrt.dll_strncmp]
test eax, eax
jne 0x403189
lea edi, [rax + 2]
jmp 0x403299
lea rcx, str.IGNORE
call sub.msvcrt.dll_strlen
lea rdx, str.IGNORE
mov rcx, rbx
mov r8, rax
call qword [sym.imp.msvcrt.dll_strncmp]
test eax, eax
jne 0x4031b4
lea edi, [rax + 5]
jmp 0x403299
lea rcx, str.ERROR
call sub.msvcrt.dll_strlen
lea rdx, str.ERROR
mov rcx, rbx
mov r8, rax
call qword [sym.imp.msvcrt.dll_strncmp]
test eax, eax
jne 0x4031df
lea edi, [rax + 3]
jmp 0x403299
lea rcx, str.IF_SERVER_CLASS
call sub.msvcrt.dll_strlen
lea rdx, str.IF_SERVER_CLASS
mov rcx, rbx
mov r8, rax
call qword [sym.imp.msvcrt.dll_strncmp]
test eax, eax
jne 0x403277
mov rdx, qword [0x00409030]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_strcspn]
add rbx, rax
cmp byte [rbx], 0
je 0x403232
mov rdx, qword [0x00409030]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_strspn]
add rbx, rax
cmp byte [rbx], 0
jne 0x403254
lea rdx, str.Warning:_missing_server_class_VM_on_line__d_of___s_n
mov rcx, qword [sym.imp.msvcrt.dll__iob]
lea r9, [rsp + 0x40]
mov r8d, r13d
add rcx, 0x60
call qword [sym.imp.msvcrt.dll_fprintf]
jmp 0x403299
mov rdx, qword [0x00409030]
mov rcx, rbx
mov rsi, rbx
mov qword [rsp + 0x20], rbx
call qword [sym.imp.msvcrt.dll_strcspn]
mov edi, 4
mov byte [rax + rbx], 0
jmp 0x40329e
mov rcx, qword [sym.imp.msvcrt.dll__iob]
lea r9, [rsp + 0x40]
lea rdx, str.Warning:_unknown_VM_type_on_line__d_of___s_n
add rcx, 0x60
mov r8d, r13d
call qword [sym.imp.msvcrt.dll_fprintf]
xor edi, edi
mov rsi, qword [rsp + 0x20]
cmp byte [0x00409082], 0
je 0x4032be
lea r8, [rsp + 0x160]
lea rcx, str.jvm.cfg__d______s___n
mov edx, ebp
call qword [sym.imp.msvcrt.dll_printf]
cmp edi, 0xffffffff
je 0x403358
mov rbx, qword [0x00409098]
lea rcx, [rsp + 0x160]
call sub.jli.dll_JLI_StringDup
mov dword [r12 + rbx + 8], edi
dec edi
mov qword [r12 + rbx], rax
je 0x40331a
cmp edi, 3
jne 0x403352
mov rcx, rsi
call sub.jli.dll_JLI_StringDup
mov rdx, qword [0x00409098]
mov qword [r12 + rdx + 0x18], rax
cmp byte [0x00409082], 0
je 0x403352
lea r8, str.VM_IF_SERVER_CLASS
lea rcx, str.____name:__s__vmType:__s__server_class:__s_n
jmp 0x403345
mov rcx, r15
call sub.jli.dll_JLI_StringDup
mov rdx, qword [0x00409098]
mov qword [r12 + rdx + 0x10], rax
cmp byte [0x00409082], 0
je 0x403352
lea r8, str.VM_ALIASED_TO
lea rcx, str.____name:__s__vmType:__s__alias:__s_n
mov rdx, qword [r12 + rdx]
mov r9, rax
call qword [sym.imp.msvcrt.dll_printf]
inc ebp
add r12, 0x20
lea rcx, [rsp + 0x160]
mov r8, r14
mov edx, 0x118
call qword [sym.imp.msvcrt.dll_fgets]
test rax, rax
jne 0x402fac
mov r15, qword [rsp + 0x30]
mov rcx, r14
call qword [sym.imp.msvcrt.dll_fclose]
cmp byte [0x00409082], 0
mov dword [0x004090a0], ebp
je 0x4033b4
call fcn.00403c84
sub rax, r15
mov rcx, rax
call fcn.00403cd0
lea rcx, str._ld_micro_seconds_to_parse_jvm.cfg_n
mov rdx, rax
call qword [sym.imp.msvcrt.dll_printf]
mov eax, ebp
mov rcx, qword [rsp + 0x280]
call fcn.004052a0
add rsp, 0x298
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret