Function at 0x403520
Capabilities:
Terminate process

Disassembly:
mov r11, rsp
sub rsp, 0x2c8
mov rax, qword [0x0040f300]
mov qword [rsp + 0x280], rax
mov qword [r11 + 0x20], rbx
mov qword [r11 - 0x10], rsi
mov qword [r11 - 0x18], rdi
mov qword [r11 - 0x30], r14
xor r14d, r14d
mov qword [r11 - 0x38], r15
xor r15d, r15d
cmp byte [0x0040f342], r14b
movzx esi, r8b
mov rbx, rdx
mov rdi, rcx
je 0x403572
call fcn.00404af0
mov qword [rsp + 0x30], rax
jmp 0x40357c
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x40]
sub rcx, rdi
nop
nop
nop
movzx eax, byte [rdi]
inc rdi
test al, al
mov byte [rcx + rdi - 1], al
jne 0x403590
xor eax, eax
lea rdi, [rsp + 0x40]
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
xor ecx, ecx
lea rdx, str.lib_
nop
nop
nop
movzx eax, byte [rdx + rcx]
inc rcx
test al, al
mov byte [rdi + rcx - 2], al
jne 0x4035c0
xor eax, eax
lea rdi, [rsp + 0x40]
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
xor ecx, ecx
movzx eax, byte [rbx + rcx]
inc rcx
test al, al
mov byte [rdi + rcx - 2], al
jne 0x4035e1
xor eax, eax
lea rdi, [rsp + 0x40]
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
xor ecx, ecx
lea rdx, str.jvm.cfg
nop
nop
movzx eax, byte [rdx + rcx]
inc rcx
test al, al
mov byte [rdi + rcx - 2], al
jne 0x403610
lea rdx, [0x0040d514]
lea rcx, [rsp + 0x40]
call qword [sym.imp.msvcrt.dll_fopen]
test rax, rax
mov rbx, rax
mov qword [rsp + 0x38], rax
jne 0x40366b
test sil, sil
jne 0x403661
lea rdx, [rsp + 0x40]
lea rcx, str.Error:_could_not_open___s
mov r8b, 1
call fcn.00404ba0
lea ecx, [rbx + 1]
call qword [sym.imp.msvcrt.dll_exit]
int3
mov eax, 0xffffffff
jmp 0x403b8c
mov qword [rsp + 0x2c0], rbp
lea rcx, [rsp + 0x160]
mov r8, rax
mov edx, 0x118
mov qword [rsp + 0x2a8], r12
mov qword [rsp + 0x2a0], r13
call qword [sym.imp.msvcrt.dll_fgets]
test rax, rax
je 0x403b36
xor r13d, r13d
movzx eax, byte [rsp + 0x160]
inc r14d
mov r12d, 0xffffffff
cmp al, 0x23
je 0x403b17
cmp al, 0x2d
je 0x4036e2
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, r14d
call qword [sym.imp.msvcrt.dll_fprintf]
movsxd rdi, dword [0x0040f354]
cmp r15d, edi
jl 0x403753
test edi, edi
jne 0x4036f7
lea esi, [rdi + 0xa]
jmp 0x4036fa
lea esi, [rdi + rdi]
cmp esi, r15d
cmovle esi, r15d
movsxd rcx, esi
shl rcx, 5
call qword [sym.imp.msvcrt.dll_malloc]
test rax, rax
mov rbp, rax
je 0x403bc9
mov rbx, qword [0x0040f348]
test rbx, rbx
je 0x403738
mov r8, rdi
mov rdx, rbx
mov rcx, rax
shl r8, 5
call sub.msvcrt.dll_memcpy
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_free]
mov rbx, qword [rsp + 0x38]
mov qword [0x0040f348], rbp
mov dword [0x0040f354], esi
mov rdx, qword [0x0040d4f8]
xor eax, eax
lea rdi, [rsp + 0x160]
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
lea rax, [rsp + 0x160]
not rcx
mov byte [rcx + rax - 2], 0
lea rcx, [rsp + 0x160]
call qword [sym.imp.msvcrt.dll_strcspn]
cmp byte [rsp + rax + 0x160], 0
lea rdi, [rsp + rax + 0x160]
jne 0x4037cc
mov rcx, qword [sym.imp.msvcrt.dll__iob]
lea r9, [rsp + 0x40]
lea rdx, [0x0040d568]
add rcx, 0x60
mov r8d, r14d
call qword [sym.imp.msvcrt.dll_fprintf]
mov rsi, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x28]
jmp 0x403a45
mov rdx, qword [0x0040d4f8]
mov byte [rdi], 0
inc rdi
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_strspn]
add rdi, rax
cmp byte [rdi], 0
jne 0x403819
mov rcx, qword [sym.imp.msvcrt.dll__iob]
lea r9, [rsp + 0x40]
lea rdx, str.Warning:_missing_VM_type_on_line__d_of___s_n
add rcx, 0x60
mov r8d, r14d
call qword [sym.imp.msvcrt.dll_fprintf]
mov rsi, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x28]
jmp 0x403a45
lea rdx, str.KNOWN
mov r8d, 5
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_strncmp]
test eax, eax
jne 0x403845
mov rsi, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x28]
xor r12d, r12d
jmp 0x403a45
lea rdx, str.ALIASED_TO
mov r8d, 0xa
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_strncmp]
test eax, eax
jne 0x4038ee
mov rdx, qword [0x0040d4f8]
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_strcspn]
add rdi, rax
cmp byte [rdi], 0
je 0x403893
mov rdx, qword [0x0040d4f8]
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_strspn]
add rdi, rax
cmp byte [rdi], 0
jne 0x4038c2
mov rcx, qword [sym.imp.msvcrt.dll__iob]
lea r9, [rsp + 0x40]
lea rdx, str.Warning:_missing_VM_alias_on_line__d_of___s_n
add rcx, 0x60
mov r8d, r14d
call qword [sym.imp.msvcrt.dll_fprintf]
mov rsi, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x28]
jmp 0x403a45
mov rdx, qword [0x0040d4f8]
mov rcx, rdi
mov rsi, rdi
mov qword [rsp + 0x20], rdi
call qword [sym.imp.msvcrt.dll_strcspn]
mov rbp, qword [rsp + 0x28]
mov byte [rax + rdi], 0
mov r12d, 1
jmp 0x403a45
lea rdx, str.WARN
mov r8d, 4
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_strncmp]
test eax, eax
jne 0x40391b
mov rsi, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x28]
lea r12d, [rax + 2]
jmp 0x403a45
lea rdx, str.IGNORE
mov r8d, 6
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_strncmp]
test eax, eax
jne 0x403948
mov rsi, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x28]
lea r12d, [rax + 5]
jmp 0x403a45
lea rdx, str.ERROR
mov r8d, 5
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_strncmp]
test eax, eax
jne 0x403975
mov rsi, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x28]
lea r12d, [rax + 3]
jmp 0x403a45
lea rdx, str.IF_SERVER_CLASS
mov r8d, 0xf
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_strncmp]
test eax, eax
jne 0x403a18
mov rdx, qword [0x0040d4f8]
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_strcspn]
add rdi, rax
cmp byte [rdi], 0
je 0x4039c3
mov rdx, qword [0x0040d4f8]
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_strspn]
add rdi, rax
cmp byte [rdi], 0
jne 0x4039ef
mov rcx, qword [sym.imp.msvcrt.dll__iob]
lea r9, [rsp + 0x40]
lea rdx, str.Warning:_missing_server_class_VM_on_line__d_of___s_n
add rcx, 0x60
mov r8d, r14d
call qword [sym.imp.msvcrt.dll_fprintf]
mov rsi, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x28]
jmp 0x403a45
mov rdx, qword [0x0040d4f8]
mov rcx, rdi
mov rbp, rdi
mov qword [rsp + 0x28], rdi
call qword [sym.imp.msvcrt.dll_strcspn]
mov rsi, qword [rsp + 0x20]
mov byte [rax + rdi], 0
mov r12d, 4
jmp 0x403a45
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, r14d
call qword [sym.imp.msvcrt.dll_fprintf]
mov rsi, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x28]
xor r12d, r12d
cmp byte [0x0040f342], 0
je 0x403a66
lea r8, [rsp + 0x160]
lea rcx, str.jvm.cfg__d______s___n
mov edx, r15d
call qword [sym.imp.msvcrt.dll_printf]
cmp r12d, 0xffffffff
je 0x403b17
mov rdi, qword [0x0040f348]
lea rcx, [rsp + 0x160]
call qword [sym.imp.msvcrt.dll__strdup]
mov dword [r13 + rdi + 8], r12d
dec r12d
mov qword [r13 + rdi], rax
je 0x403ad6
cmp r12d, 3
jne 0x403b10
mov rcx, rbp
call qword [sym.imp.msvcrt.dll__strdup]
mov rdx, qword [0x0040f348]
mov qword [r13 + rdx + 0x18], rax
cmp byte [0x0040f342], 0
je 0x403b10
mov rdx, qword [r13 + rdx]
lea r8, str.VM_IF_SERVER_CLASS
lea rcx, str.____name:__s__vmType:__s__server_class:__s_n
mov r9, rax
call qword [sym.imp.msvcrt.dll_printf]
jmp 0x403b10
mov rcx, rsi
call qword [sym.imp.msvcrt.dll__strdup]
mov rdx, qword [0x0040f348]
mov qword [r13 + rdx + 0x10], rax
cmp byte [0x0040f342], 0
je 0x403b10
mov rdx, qword [r13 + rdx]
lea r8, str.VM_ALIASED_TO
lea rcx, str.____name:__s__vmType:__s__alias:__s_n
mov r9, rax
call qword [sym.imp.msvcrt.dll_printf]
inc r15d
add r13, 0x20
lea rcx, [rsp + 0x160]
mov r8, rbx
mov edx, 0x118
call qword [sym.imp.msvcrt.dll_fgets]
test rax, rax
jne 0x4036a5
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_fclose]
cmp byte [0x0040f342], 0
mov dword [0x0040f350], r15d
je 0x403b71
call fcn.00404af0
sub rax, qword [rsp + 0x30]
mov rcx, rax
call fcn.00404b40
lea rcx, str._ld_micro_seconds_to_parse_jvm.cfg_n
mov rdx, rax
call qword [sym.imp.msvcrt.dll_printf]
mov r12, qword [rsp + 0x2a8]
mov rbp, qword [rsp + 0x2c0]
mov r13, qword [rsp + 0x2a0]
mov eax, r15d
mov r15, qword [rsp + 0x290]
mov r14, qword [rsp + 0x298]
mov rdi, qword [rsp + 0x2b0]
mov rsi, qword [rsp + 0x2b8]
mov rbx, qword [rsp + 0x2e8]
mov rcx, qword [rsp + 0x280]
call fcn.00409d20
add rsp, 0x2c8
ret
lea rcx, str.malloc
call qword [sym.imp.msvcrt.dll_perror]
mov ecx, 1
call qword [sym.imp.msvcrt.dll_exit]
int3