Function at 0x14008ab30
Capabilities:
Terminate process

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov qword [rax + 0x10], rdx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r15, qword [rcx + 8]
mov r12, rcx
mov rbx, qword [rdx + 0x20]
mov rcx, r15
mov rax, qword [r15]
mov rax, qword [rax + 0x28]
call qword [case.0x1400cd70e.0]
mov r13d, eax
cmp eax, 0x2d
jne 0x14008ab8a
mov r15, qword [r15 + 8]
mov rcx, r15
mov rax, qword [r15]
mov rax, qword [rax + 0x28]
call qword [case.0x1400cd70e.0]
mov r13d, eax
mov rax, qword [r15]
mov rcx, r15
mov rax, qword [rax + 0x40]
call qword [case.0x1400cd70e.0]
xor ebp, ebp
lea rsi, vtable.expr_variable.0
mov r14d, 0x3b
test eax, eax
jne 0x14008abc8
mov rax, qword [r15]
mov rcx, r15
mov rax, qword [rax + 0x188]
call qword [case.0x1400cd70e.0]
test eax, eax
je 0x14008acea
mov ecx, 0x40
call fcn.1400ca61c
mov rdi, rax
test rax, rax
je 0x14008ac03
mov rax, qword [r12 + 0x50]
mov rcx, qword [rax + 0x28]
and dword [rdi + 0x10], 0xfffffffc
mov qword [rdi + 0x20], rcx
mov qword [rdi + 0x18], rbp
mov qword [rdi], rsi
mov qword [rdi + 8], rbp
mov qword [rdi + 0x28], rbp
mov qword [rdi + 0x38], rbp
mov dword [rdi + 0x30], ebp
jmp 0x14008ac06
mov rdi, rbp
mov ecx, 0x48
call fcn.1400ca61c
mov rsi, rax
test rax, rax
je 0x14008ac7a
mov ecx, 0x38
call fcn.1400ca61c
mov r9, rax
test rax, rax
je 0x14008ac5b
mov qword [rax + 8], rbp
mov eax, dword [rax + 0x10]
and eax, 0xfffffffd
mov qword [r9 + 0x18], rbp
or eax, 1
mov dword [r9 + 0x20], 4
mov dword [r9 + 0x10], eax
lea rax, vtable.expr_constant.0
mov qword [r9], rax
mov qword [r9 + 0x28], rbp
mov qword [r9 + 0x30], rbp
jmp 0x14008ac5e
mov r9, rbp
mov r8, rdi
mov edx, 0x2a
mov rcx, rsi
call fcn.1400017b8
lea rax, vtable.expr_assign.0
mov qword [rsi], rax
jmp 0x14008ac7d
mov rsi, rbp
mov rcx, rbx
call fcn.1400ca48c
mov rax, qword [rsi]
mov rdx, rbx
mov rcx, rsi
mov rax, qword [rax + 0xc0]
call qword [case.0x1400cd70e.0]
cmp byte [rbx], 2
je 0x14008ace3
cmp byte [rbx + 3], bpl
jne 0x14008ace3
cmp byte [rbx + 4], bpl
jne 0x14008ace3
cmp byte [rbx], 1
jne 0x14008acc6
mov rdx, qword [rbx + 0x10]
mov ecx, r14d
call qword [sym.imp.msvcrt.dll_putc]
nop dword [rax + rax]
jmp 0x14008ace3
mov rax, qword [rbx + 0x18]
cmp rax, qword [rbx + 0x28]
jb 0x14008acdc
mov rcx, rbx
call fcn.1400ca274
mov rax, qword [rbx + 0x18]
mov byte [rax], r14b
inc qword [rbx + 0x18]
lea rsi, vtable.expr_variable.0
mov rax, qword [r15]
mov rcx, r15
mov rax, qword [rax + 0x48]
call qword [case.0x1400cd70e.0]
test eax, eax
je 0x14008ae77
mov ecx, 0x40
call fcn.1400ca61c
mov rdi, rax
test rax, rax
je 0x14008ad3d
mov rax, qword [r12 + 0x50]
mov rcx, qword [rax + 0x28]
and dword [rdi + 0x10], 0xfffffffc
mov qword [rdi + 0x20], rcx
mov qword [rdi + 0x18], rbp
mov qword [rdi], rsi
mov qword [rdi + 8], rbp
mov qword [rdi + 0x28], rbp
mov qword [rdi + 0x38], rbp
mov dword [rdi + 0x30], ebp
jmp 0x14008ad40
mov rdi, rbp
mov rcx, qword [r12 + 8]
mov rax, qword [rcx]
mov rax, qword [rax + 0x38]
call qword [case.0x1400cd70e.0]
mov rsi, rax
test rax, rax
je 0x14008ad9a
cmp byte [rax + 0x18], 0x24
je 0x14008ad9a
mov ecx, 0x58
call fcn.1400ca61c
test rax, rax
je 0x14008ad82
mov r8, rdi
mov rdx, rsi
mov rcx, rax
call fcn.140001b40
mov rdi, rax
jmp 0x14008ad85
mov rdi, rbp
mov rax, qword [rdi]
xor edx, edx
mov rcx, rdi
mov rax, qword [rax + 0xf0]
call qword [case.0x1400cd70e.0]
mov ecx, 0x48
call fcn.1400ca61c
mov rsi, rax
test rax, rax
je 0x14008ae0e
mov ecx, 0x38
call fcn.1400ca61c
mov r9, rax
test rax, rax
je 0x14008adef
mov qword [rax + 8], rbp
mov eax, dword [rax + 0x10]
and eax, 0xfffffffd
mov qword [r9 + 0x18], rbp
or eax, 1
mov dword [r9 + 0x20], 4
mov dword [r9 + 0x10], eax
lea rax, vtable.expr_constant.0
mov qword [r9], rax
mov qword [r9 + 0x28], rbp
mov qword [r9 + 0x30], rbp
jmp 0x14008adf2
mov r9, rbp
mov r8, rdi
mov edx, 0x2a
mov rcx, rsi
call fcn.1400017b8
lea rax, vtable.expr_assign.0
mov qword [rsi], rax
jmp 0x14008ae11
mov rsi, rbp
mov rcx, rbx
call fcn.1400ca48c
mov rax, qword [rsi]
mov rdx, rbx
mov rcx, rsi
mov rax, qword [rax + 0xc0]
call qword [case.0x1400cd70e.0]
cmp byte [rbx], 2
je 0x14008ae77
cmp byte [rbx + 3], bpl
jne 0x14008ae77
cmp byte [rbx + 4], bpl
jne 0x14008ae77
cmp byte [rbx], 1
jne 0x14008ae5a
mov rdx, qword [rbx + 0x10]
mov ecx, r14d
call qword [sym.imp.msvcrt.dll_putc]
nop dword [rax + rax]
jmp 0x14008ae77
mov rax, qword [rbx + 0x18]
cmp rax, qword [rbx + 0x28]
jb 0x14008ae70
mov rcx, rbx
call fcn.1400ca274
mov rax, qword [rbx + 0x18]
mov byte [rax], r14b
inc qword [rbx + 0x18]
mov rax, qword [r15]
mov rcx, r15
mov rax, qword [rax + 0x58]
call qword [case.0x1400cd70e.0]
test eax, eax
jne 0x14008aeb7
mov rax, qword [r15]
mov rcx, r15
mov rax, qword [rax + 0x60]
call qword [case.0x1400cd70e.0]
test eax, eax
jne 0x14008aeb7
mov rax, qword [r15]
mov rcx, r15
mov rax, qword [rax + 0x68]
call qword [case.0x1400cd70e.0]
test eax, eax
je 0x14008b56a
mov rax, qword [r12 + 0x50]
or rdi, 0xffffffffffffffff
mov rsi, qword [rax + 0x28]
inc rdi
cmp byte [rsi + rdi], bpl
jne 0x14008aec4
add rdi, 0xa
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_malloc]
nop dword [rax + rax]
xor r14d, r14d
mov rbp, rax
test rax, rax
jne 0x14008af0e
mov ebx, 0x7d5
xor edx, edx
mov r8d, ebx
xor r9d, r9d
xor ecx, ecx
call fcn.1400c9744
mov ecx, ebx
call qword [sym.imp.msvcrt.dll_exit]
nop dword [rax + rax]
int3
add dword [0x140134854], edi
lea r8, [0x140108288]
mov rdx, rdi
mov rcx, rbp
call fcn.1400011d4
mov r8, rsi
mov rdx, rdi
mov rcx, rbp
call fcn.140001250
mov ecx, 0x40
call fcn.1400ca61c
mov rdi, rax
test rax, rax
je 0x14008af90
mov ecx, 0x40
call fcn.1400ca61c
test rax, rax
je 0x14008af7d
and dword [rax + 0x10], 0xfffffffc
lea rcx, vtable.expr_variable.0
mov qword [rax], rcx
mov qword [rax + 0x18], r14
mov qword [rax + 0x20], rsi
mov qword [rax + 8], r14
mov qword [rax + 0x28], r14
mov qword [rax + 0x38], r14
mov dword [rax + 0x30], r14d
jmp 0x14008af80
mov rax, r14
mov rdx, rax
mov rcx, rdi
call fcn.1400681b0
mov rsi, rax
jmp 0x14008af93
mov rsi, r14
mov ecx, 0x40
call fcn.1400ca61c
mov r14, rax
xor eax, eax
test r14, r14
je 0x14008afd2
mov qword [r14 + 0x18], rax
lea rax, vtable.expr_variable.0
mov qword [r14 + 0x20], rbp
xor ebp, ebp
and dword [r14 + 0x10], 0xfffffffc
mov qword [r14], rax
mov qword [r14 + 8], rbp
mov qword [r14 + 0x28], rbp
mov qword [r14 + 0x38], rbp
mov dword [r14 + 0x30], ebp
jmp 0x14008afd7
xor ebp, ebp
mov r14d, ebp
mov ecx, 0x48
call fcn.1400ca61c
mov rdi, rax
test rax, rax
je 0x14008b008
mov r9, rsi
mov r8, r14
mov edx, 0x2a
mov rcx, rax
call fcn.1400017b8
lea rax, vtable.expr_assign.0
mov qword [rdi], rax
jmp 0x14008b00b
mov rdi, rbp
mov rcx, rbx
call fcn.1400ca48c
mov rax, qword [rdi]
mov rdx, rbx
mov rcx, rdi
mov rax, qword [rax + 0xc0]
call qword [case.0x1400cd70e.0]
cmp byte [rbx], 2
je 0x14008b073
cmp byte [rbx + 3], bpl
jne 0x14008b073
cmp byte [rbx + 4], bpl
jne 0x14008b073
cmp byte [rbx], 1
jne 0x14008b056
mov rdx, qword [rbx + 0x10]
mov ecx, 0x3b
call qword [sym.imp.msvcrt.dll_putc]
nop dword [rax + rax]
jmp 0x14008b073
mov rax, qword [rbx + 0x18]
cmp rax, qword [rbx + 0x28]
jb 0x14008b06c
mov rcx, rbx
call fcn.1400ca274
mov rax, qword [rbx + 0x18]
mov byte [rax], 0x3b
inc qword [rbx + 0x18]
test byte [r12 + 0x98], 1
mov esi, 0x50
je 0x14008b11d
mov rax, qword [r15]
mov rcx, r15
mov rax, qword [rax + 0x58]
call qword [case.0x1400cd70e.0]
test eax, eax
jne 0x14008b0af
mov rax, qword [r15]
mov rcx, r15
mov rax, qword [rax + 0x60]
call qword [case.0x1400cd70e.0]
test eax, eax
je 0x14008b11d
mov rcx, rsi
call fcn.1400ca61c
mov rdi, rax
test rax, rax
je 0x14008b10a
mov rcx, qword [r15]
mov rax, qword [rcx + 0x38]
mov rcx, r15
call qword [case.0x1400cd70e.0]
mov ecx, dword [rdi + 0x10]
and ecx, 0xfffffffd
mov qword [rdi + 8], rbp
or ecx, 1
mov qword [rdi + 0x18], rbp
mov dword [rdi + 0x10], ecx
lea rcx, vtable.expr_sizeof.0
mov qword [rdi], rcx
mov dword [rdi + 0x20], 8
mov qword [rdi + 0x28], rbp
mov qword [rdi + 0x30], rbp
mov qword [rdi + 0x38], rbp
mov qword [rdi + 0x40], rax
mov qword [rdi + 0x48], rbp
jmp 0x14008b10d
mov rdi, rbp
mov rcx, qword [rsp + 0x68]
mov r8, rdi
mov rdx, r14
call fcn.140065764
mov ecx, r13d
sub ecx, 0x2f
je 0x14008b396
sub ecx, 1
je 0x14008b137
cmp ecx, 1
jne 0x14008b56a
mov ecx, 0xa8
call fcn.1400ca61c
mov rdi, rax
test rax, rax
je 0x14008b1c8
mov rcx, qword [r15 + 0xa8]
mov qword [rax + 0x20], rbp
mov word [rax + 0x28], bp
mov qword [rax + 0x30], rbp
mov byte [rax + 0x18], 0x1e
mov qword [rax + 8], rbp
mov word [rax + 0x1a], bp
mov qword [rax + 0x10], rbp
mov qword [rax + 0x38], rbp
and dword [rax + 0x90], 0xfffffffe
mov qword [rax + 0x40], rcx
mov qword [rax + 0x50], rcx
mov qword [rax + 0x48], rbp
mov qword [rax + 0x58], rbp
mov qword [rax + 0x60], rbp
mov qword [rax + 0x70], rbp
mov qword [rax + 0x78], rbp
mov qword [rax + 0x80], rbp
mov dword [rax + 0x68], ebp
mov qword [rax + 0x88], rbp
lea rax, vtable.node_def.0
mov qword [rdi], rax
mov eax, dword [rdi + 0x18]
shr eax, 8
and al, 0xf8
mov byte [rdi + 0x19], al
mov qword [rdi + 0x98], rbp
mov dword [rdi + 0xa0], ebp
jmp 0x14008b1cb
mov rdi, rbp
mov rcx, rsi
call fcn.1400ca61c
mov rbx, rax
test rax, rax
je 0x14008b21d
mov qword [rax + 8], rbp
mov eax, dword [rax + 0x10]
and eax, 0xfffffffd
or eax, 1
mov dword [rbx + 0x10], eax
lea rax, vtable.expr_proc_call.0
mov qword [rbx + 0x18], rbp
mov dword [rbx + 0x20], 0x23
mov qword [rbx + 0x28], rbp
mov qword [rbx + 0x30], rbp
mov qword [rbx + 0x38], rbp
mov qword [rbx], rax
lea rax, str.MIDL_memset
mov qword [rbx + 0x40], rax
mov word [rbx + 0x48], bp
jmp 0x14008b220
mov rbx, rbp
mov rcx, rsi
call fcn.1400ca61c
xor r15d, r15d
lea rbp, vtable.expr_param.0
mov rsi, rax
test rax, rax
je 0x14008b255
xor r9d, r9d
lea edx, [r15 + 0x24]
mov r8, r14
mov rcx, rax
call fcn.1400017b8
mov qword [rsi], rbp
mov qword [rsi + 0x48], r15
jmp 0x14008b258
mov rsi, r15
mov rdx, rsi
mov rcx, rbx
call fcn.1400c2d9c
mov r14d, 0x50
mov ecx, r14d
call fcn.1400ca61c
mov rsi, rax
test rax, rax
je 0x14008b2d4
lea ecx, [r14 - 0x18]
call fcn.1400ca61c
test rax, rax
je 0x14008b2b6
mov qword [rax + 8], r15
mov ecx, dword [rax + 0x10]
and ecx, 0xfffffffd
or ecx, 1
mov dword [rax + 0x10], ecx
lea rcx, vtable.expr_constant.0
mov qword [rax + 0x18], r15
mov qword [rax], rcx
mov dword [rax + 0x20], 4
mov qword [rax + 0x28], r15
mov qword [rax + 0x30], r15
jmp 0x14008b2b9
mov rax, r15
xor r9d, r9d
mov r8, rax
mov rcx, rsi
lea edx, [r9 + 0x24]
call fcn.1400017b8
mov qword [rsi], rbp
mov qword [rsi + 0x48], r15
jmp 0x14008b2d7
mov rsi, r15
mov rdx, rsi
mov rcx, rbx
call fcn.1400c2d9c
mov rcx, r14
call fcn.1400ca61c
mov rsi, rax
test rax, rax
je 0x14008b358
mov rcx, r14
call fcn.1400ca61c
test rax, rax
je 0x14008b33a
mov qword [rax + 8], r15
mov ecx, dword [rax + 0x10]
and ecx, 0xfffffffd
or ecx, 1
mov dword [rax + 0x10], ecx
lea rcx, vtable.expr_sizeof.0
mov qword [rax + 0x18], r15
mov dword [rax + 0x20], 8
mov qword [rax + 0x28], r15
mov qword [rax + 0x30], r15
mov qword [rax + 0x38], r15
mov qword [rax], rcx
mov qword [rax + 0x40], rdi
mov qword [rax + 0x48], r15
jmp 0x14008b33d
mov rax, r15
xor r9d, r9d
mov r8, rax
mov rcx, rsi
lea edx, [r9 + 0x24]
call fcn.1400017b8
mov qword [rsi], rbp
mov qword [rsi + 0x48], r15
jmp 0x14008b35b
mov rsi, r15
mov rdx, rsi
mov rcx, rbx
call fcn.1400c2d9c
mov rdi, qword [rsp + 0x68]
mov rcx, qword [rdi + 0x20]
call fcn.1400ca48c
mov rax, qword [rbx]
xor r8d, r8d
mov rdx, qword [rdi + 0x20]
xor r9d, r9d
mov rcx, rbx
mov rax, qword [rax + 0xc8]
call qword [case.0x1400cd70e.0]
jmp 0x14008b5d1
mov rcx, rsi
call fcn.1400ca61c
mov rdi, rax
test rax, rax
je 0x14008b3e8
mov qword [rax + 8], rbp
mov eax, dword [rax + 0x10]
and eax, 0xfffffffd
mov qword [rdi + 0x18], rbp
or eax, 1
mov dword [rdi + 0x20], 0x23
mov dword [rdi + 0x10], eax
lea rax, vtable.expr_proc_call.0
mov qword [rdi], rax
lea rax, str.MIDL_memset
mov qword [rdi + 0x40], rax
mov qword [rdi + 0x28], rbp
mov qword [rdi + 0x30], rbp
mov qword [rdi + 0x38], rbp
mov word [rdi + 0x48], bp
jmp 0x14008b3eb
mov rdi, rbp
mov rcx, rsi
call fcn.1400ca61c
lea rbp, vtable.expr_param.0
mov rsi, rax
test rax, rax
je 0x14008b420
xor r9d, r9d
mov r8, r14
mov rcx, rax
lea edx, [r9 + 0x24]
call fcn.1400017b8
xor r14d, r14d
mov qword [rsi], rbp
mov qword [rsi + 0x48], r14
jmp 0x14008b426
xor r14d, r14d
mov esi, r14d
mov rdx, rsi
mov rcx, rdi
call fcn.1400c2d9c
mov ecx, 0x50
call fcn.1400ca61c
mov rsi, rax
test rax, rax
je 0x14008b49f
mov ecx, 0x38
call fcn.1400ca61c
test rax, rax
je 0x14008b481
mov ecx, dword [rax + 0x10]
and ecx, 0xfffffffd
mov qword [rax + 8], r14
or ecx, 1
mov qword [rax + 0x18], r14
mov dword [rax + 0x10], ecx
lea rcx, vtable.expr_constant.0
mov qword [rax], rcx
mov dword [rax + 0x20], 4
mov qword [rax + 0x28], r14
mov qword [rax + 0x30], r14
jmp 0x14008b484
mov rax, r14
xor r9d, r9d
mov r8, rax
mov rcx, rsi
lea edx, [r9 + 0x24]
call fcn.1400017b8
mov qword [rsi], rbp
mov qword [rsi + 0x48], r14
jmp 0x14008b4a2
mov rsi, r14
mov rdx, rsi
mov rcx, rdi
call fcn.1400c2d9c
mov ecx, 0x50
call fcn.1400ca61c
mov rsi, rax
test rax, rax
je 0x14008b530
mov ecx, 0x50
call fcn.1400ca61c
test rax, rax
je 0x14008b510
mov rdx, qword [r15 + 0xa8]
mov ecx, dword [rax + 0x10]
and ecx, 0xfffffffd
mov qword [rax + 8], r14
or ecx, 1
mov qword [rax + 0x18], r14
mov dword [rax + 0x10], ecx
lea rcx, vtable.expr_sizeof.0
mov qword [rax], rcx
mov dword [rax + 0x20], 8
mov qword [rax + 0x28], r14
mov qword [rax + 0x30], r14
mov qword [rax + 0x38], r14
mov qword [rax + 0x40], rdx
mov qword [rax + 0x48], r14
jmp 0x14008b513
mov rax, r14
xor r9d, r9d
mov r8, rax
mov rcx, rsi
lea edx, [r9 + 0x24]
call fcn.1400017b8
mov qword [rsi], rbp
xor ebp, ebp
mov qword [rsi + 0x48], rbp
jmp 0x14008b534
xor ebp, ebp
mov esi, ebp
mov rdx, rsi
mov rcx, rdi
call fcn.1400c2d9c
mov rsi, qword [rsp + 0x68]
mov rcx, qword [rsi + 0x20]
call fcn.1400ca48c
mov rax, qword [rdi]
xor r8d, r8d
mov rdx, qword [rsi + 0x20]
xor r9d, r9d
mov rcx, rdi
mov rax, qword [rax + 0xc8]
call qword [case.0x1400cd70e.0]
cmp r13d, 0x2c
jne 0x14008b5d1
mov rcx, rbx
call fcn.1400ca48c
mov rax, qword [r12]
mov rcx, r12
mov rax, qword [rax + 0x38]
call qword [case.0x1400cd70e.0]
lea r9, [0x14012cf68]
mov dword [rsp + 0x20], ebp
mov rcx, rax
lea r8, [0x14012d4f8]
xor edx, edx
mov rdi, rax
call fcn.1400cbdc8
test rax, rax
je 0x14008b5b3
mov rdx, qword [rdi + 0x40]
jmp 0x14008b5ba
lea rdx, [0x1400f48cb]
mov rcx, rbx
call fcn.1400c9f64
lea rdx, str.___pRpcMessage__Handle_
mov rcx, rbx
call fcn.1400c9f64
mov rbx, qword [rsp + 0x60]
xor eax, eax
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret