Function at 0x14009d4e0
Capabilities:
Terminate process

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov r15, qword [rdx + 0x20]
xor r14d, r14d
mov rbx, rcx
mov qword [rax - 0x40], r14
xorps xmm0, xmm0
mov qword [rax - 0x58], r14
xorps xmm1, xmm1
mov qword [rsp + 0x30], r15
lea ecx, [r14 + 0x50]
mov rbp, rdx
movdqu xmmword [rax - 0x50], xmm0
movdqu xmmword [rax - 0x68], xmm1
call qword [sym.imp.msvcrt.dll_malloc]
nop dword [rax + rax]
mov rdi, rax
test rax, rax
je 0x14009dea8
mov ecx, dword [0x140134854]
add ecx, 0x50
mov esi, ecx
mov dword [0x140134854], ecx
lea ecx, [r14 + 0x18]
call qword [sym.imp.msvcrt.dll_malloc]
nop dword [rax + rax]
mov qword [rsp + 0x38], rax
test rax, rax
je 0x14009dea8
lea ecx, [rsi + 0x18]
mov qword [rax + 0x10], rdi
mov dword [0x140134854], ecx
xor esi, esi
mov rcx, r15
mov qword [rax], rsi
mov qword [rax + 8], rsi
call fcn.1400ca48c
xor r8d, r8d
mov rdx, rbp
mov rcx, rbx
call fcn.140065bd0
movsx edx, word [r15 + 0x30]
movsx eax, word [r15 + 0x32]
cmp edx, eax
jns 0x14009d5aa
movzx edx, si
jmp 0x14009d5af
sub dx, word [r15 + 0x32]
mov rcx, r15
mov word [r15 + 0x30], dx
call fcn.1400ca48c
lea rdx, [0x1400fae98]
mov rcx, r15
call fcn.1400c9f64
mov rcx, r15
call fcn.1400ca48c
mov rcx, qword [rbp + 0x98]
lea rdx, [rsp + 0x58]
add rcx, 0x90
call fcn.1400acab0
lea rdx, [rsp + 0x58]
mov rcx, rbp
call fcn.14005c784
mov rcx, qword [rbp + 0x98]
lea rdx, [rsp + 0x40]
add rcx, 0xd8
call fcn.1400acab0
lea rdx, [rsp + 0x40]
mov rcx, rbp
call fcn.14005c784
test dword [rbp + 0x18], 0x600
je 0x14009d671
test dword [rbx + 0x98], 0x800
je 0x14009d671
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x28]
call qword [case.0x1400cd70e.0]
cmp eax, 8
je 0x14009d669
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x28]
call qword [case.0x1400cd70e.0]
cmp eax, 8
je 0x14009d671
mov rax, qword [rbp + 0x38]
test byte [rax + 0xa4], 2
jne 0x14009d671
mov rcx, rbp
call fcn.140065494
mov rcx, qword [rbp + 0x20]
mov r12, rsi
mov qword [rsp + 0xc8], rsi
movzx eax, word [rcx + 0x32]
add word [rcx + 0x30], ax
mov rax, qword [rbx + 8]
mov ebx, 1
test rax, rax
je 0x14009de42
mov r13, rax
mov qword [rsp + 0xc0], rax
mov rax, qword [rax + 0x10]
mov qword [rsp + 0xb8], rax
test byte [r13 + 0x98], bl
jne 0x14009d691
mov rdi, qword [r13 + 8]
mov rcx, rdi
mov rax, qword [rdi]
mov rax, qword [rax + 0x48]
call qword [case.0x1400cd70e.0]
test eax, eax
jne 0x14009d6ee
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x40]
call qword [case.0x1400cd70e.0]
test eax, eax
mov rax, qword [rsp + 0xb8]
je 0x14009d691
mov rax, qword [rdi]
mov rcx, rdi
mov r14d, esi
mov rax, qword [rax + 0x48]
call qword [case.0x1400cd70e.0]
test eax, eax
je 0x14009d772
mov r15d, 1
mov rbx, rdi
mov esi, r14d
cmp word [rdi + 0xa6], r15w
jne 0x14009d753
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x50]
call qword [case.0x1400cd70e.0]
test eax, eax
jne 0x14009d753
mov rdi, qword [rdi + 8]
add r14d, r15d
test esi, esi
mov rcx, rdi
cmovne rbx, r12
mov rax, qword [rdi]
mov r12, rbx
mov rax, qword [rax + 0x48]
call qword [case.0x1400cd70e.0]
test eax, eax
jne 0x14009d70b
mov r15, qword [rsp + 0x30]
mov r13, qword [rsp + 0xc0]
mov qword [rsp + 0xc8], r12
test r14d, r14d
jne 0x14009d794
xor esi, esi
lea ebx, [rsi + 1]
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x40]
call qword [case.0x1400cd70e.0]
test eax, eax
mov rax, qword [rsp + 0xb8]
je 0x14009d691
jmp 0x14009d796
xor esi, esi
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x28]
call qword [case.0x1400cd70e.0]
cmp eax, 0x2f
jne 0x14009d7e6
lea ecx, [rax + 0x21]
call fcn.1400ca61c
mov rbx, rax
test rax, rax
je 0x14009d879
mov rcx, qword [rdi + 0xa8]
mov qword [rax + 8], rsi
mov eax, dword [rax + 0x10]
and eax, 0xfffffffd
or eax, 1
mov dword [rbx + 0x10], eax
lea rax, vtable.expr_sizeof.0
mov qword [rbx], rax
mov qword [rbx + 0x40], rcx
jmp 0x14009d85c
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x28]
call qword [case.0x1400cd70e.0]
cmp eax, 0x31
jne 0x14009d81c
cmp dword [rdi + 0xc0], esi
je 0x14009d81c
lea ecx, [rax + 0x1f]
call fcn.1400ca61c
mov rbx, rax
test rax, rax
je 0x14009d879
mov rcx, qword [rdi + 0xb0]
jmp 0x14009d7c6
mov ecx, 0x50
call fcn.1400ca61c
mov rbx, rax
test rax, rax
je 0x14009d879
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x38]
call qword [case.0x1400cd70e.0]
mov ecx, dword [rbx + 0x10]
and ecx, 0xfffffffd
mov qword [rbx + 8], rsi
or ecx, 1
mov qword [rbx + 0x40], rax
mov dword [rbx + 0x10], ecx
lea rcx, vtable.expr_sizeof.0
mov qword [rbx], rcx
mov qword [rbx + 0x48], rsi
mov qword [rbx + 0x38], rsi
mov qword [rbx + 0x30], rsi
mov qword [rbx + 0x28], rsi
mov dword [rbx + 0x20], 8
mov qword [rbx + 0x18], rsi
jmp 0x14009d87c
mov rbx, rsi
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x58]
call qword [case.0x1400cd70e.0]
test eax, eax
jne 0x14009da52
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x60]
call qword [case.0x1400cd70e.0]
test eax, eax
jne 0x14009da52
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x40]
call qword [case.0x1400cd70e.0]
test eax, eax
jne 0x14009da52
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x68]
call qword [case.0x1400cd70e.0]
test eax, eax
jne 0x14009da52
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x50]
call qword [case.0x1400cd70e.0]
test eax, eax
jne 0x14009da52
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x48]
call qword [case.0x1400cd70e.0]
mov ebx, 1
test eax, eax
je 0x14009d916
cmp word [rdi + 0xa6], bx
jne 0x14009d936
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x50]
call qword [case.0x1400cd70e.0]
test eax, eax
mov rax, qword [rsp + 0xb8]
je 0x14009d691
test dword [rbp + 0x18], 0x4000
je 0x14009d9cc
mov ecx, 0x40
call fcn.1400ca61c
mov rbx, rax
test rax, rax
je 0x14009d9be
mov rcx, qword [r13]
mov rax, qword [rcx + 0x38]
mov rcx, r13
call qword [case.0x1400cd70e.0]
lea r9, [0x14012cf68]
mov dword [rsp + 0x20], esi
mov rcx, rax
lea r8, [0x14012d4f8]
xor edx, edx
mov rdi, rax
call fcn.1400cbdc8
test rax, rax
je 0x14009d990
mov rax, qword [rdi + 0x40]
jmp 0x14009d997
lea rax, [0x1400f48cb]
and dword [rbx + 0x10], 0xfffffffc
lea rcx, vtable.expr_variable.0
mov qword [rbx], rcx
mov qword [rbx + 0x18], rsi
mov qword [rbx + 0x20], rax
mov qword [rbx + 8], rsi
mov qword [rbx + 0x28], rsi
mov qword [rbx + 0x38], rsi
mov dword [rbx + 0x30], esi
jmp 0x14009d9c1
mov rbx, rsi
mov rdx, rbx
mov rcx, rbp
call fcn.140064ed0
mov rcx, r15
call fcn.1400ca48c
mov ebx, 1
test r14d, r14d
je 0x14009da2e
sub r14d, ebx
cmp byte [r15], 2
je 0x14009d9d9
cmp byte [r15 + 3], sil
jne 0x14009d9d9
cmp byte [r15 + 4], sil
jne 0x14009d9d9
cmp byte [r15], bl
jne 0x14009da0f
mov rdx, qword [r15 + 0x10]
mov ecx, 0x2a
call qword [sym.imp.msvcrt.dll_putc]
nop dword [rax + rax]
jmp 0x14009d9d9
mov rax, qword [r15 + 0x18]
cmp rax, qword [r15 + 0x28]
jb 0x14009da25
mov rcx, r15
call fcn.1400ca274
mov rax, qword [r15 + 0x18]
mov byte [rax], 0x2a
add qword [r15 + 0x18], rbx
jmp 0x14009d9d9
mov rdx, qword [r13 + 0x50]
mov rcx, r15
mov rdx, qword [rdx + 0x28]
call fcn.1400c9f64
lea rdx, [0x140103818]
mov rcx, r15
call fcn.1400c9f64
jmp 0x14009de18
test dword [rbp + 0x18], 0x4000
je 0x14009daef
mov ecx, 0x40
call fcn.1400ca61c
xor r12d, r12d
mov rsi, rax
test rax, rax
je 0x14009dadf
mov rcx, qword [r13]
mov rax, qword [rcx + 0x38]
mov rcx, r13
call qword [case.0x1400cd70e.0]
lea r9, [0x14012cf68]
mov dword [rsp + 0x20], r12d
mov rcx, rax
lea r8, [0x14012d4f8]
xor edx, edx
mov r14, rax
call fcn.1400cbdc8
test rax, rax
je 0x14009dab0
mov rax, qword [r14 + 0x40]
jmp 0x14009dab7
lea rax, [0x1400f48cb]
and dword [rsi + 0x10], 0xfffffffc
lea rcx, vtable.expr_variable.0
mov qword [rsi], rcx
mov qword [rsi + 0x18], r12
mov qword [rsi + 0x20], rax
mov qword [rsi + 8], r12
mov qword [rsi + 0x28], r12
mov qword [rsi + 0x38], r12
mov dword [rsi + 0x30], r12d
jmp 0x14009dae2
mov rsi, r12
mov rdx, rsi
mov rcx, rbp
call fcn.140064ed0
xor esi, esi
mov rcx, r15
call fcn.1400ca48c
mov r12d, 0x50
mov ecx, r12d
call fcn.1400ca61c
mov r14, rax
test rax, rax
je 0x14009db52
mov qword [rax + 8], rsi
mov eax, dword [rax + 0x10]
and eax, 0xfffffffd
mov qword [r14 + 0x18], rsi
or eax, 1
mov dword [r14 + 0x20], 0x23
mov dword [r14 + 0x10], eax
lea rax, vtable.expr_proc_call.0
mov qword [r14], rax
lea rax, str.MIDL_memset
mov qword [r14 + 0x40], rax
mov qword [r14 + 0x28], rsi
mov qword [r14 + 0x30], rsi
mov qword [r14 + 0x38], rsi
mov word [r14 + 0x48], si
jmp 0x14009db55
mov r14, rsi
mov rcx, r12
call fcn.1400ca61c
mov r12, rax
test rax, rax
je 0x14009dc16
mov ecx, 0x40
call fcn.1400ca61c
mov rsi, rax
test rax, rax
je 0x14009dbef
mov rcx, qword [r13]
mov rax, qword [rcx + 0x38]
mov rcx, r13
call qword [case.0x1400cd70e.0]
and dword [rsp + 0x20], 0
lea r9, [0x14012cf68]
mov rcx, rax
lea r8, [0x14012d4f8]
xor edx, edx
mov r13, rax
call fcn.1400cbdc8
xor ecx, ecx
test rax, rax
je 0x14009dbb9
mov rax, qword [r13 + 0x40]
jmp 0x14009dbc0
lea rax, [0x1400f48cb]
and dword [rsi + 0x10], 0xfffffffc
lea rdx, vtable.expr_variable.0
mov r13, qword [rsp + 0xc0]
mov qword [rsi], rdx
mov qword [rsi + 0x18], rcx
mov qword [rsi + 0x20], rax
mov qword [rsi + 8], rcx
mov qword [rsi + 0x28], rcx
mov qword [rsi + 0x38], rcx
mov dword [rsi + 0x30], ecx
jmp 0x14009dbf1
xor esi, esi
xor r9d, r9d
mov r8, rsi
mov rcx, r12
lea edx, [r9 + 0x24]
call fcn.1400017b8
and qword [r12 + 0x48], 0
lea rax, vtable.expr_param.0
mov qword [r12], rax
jmp 0x14009dc19
mov r12, rsi
mov rdx, r12
mov rcx, r14
call fcn.1400c2d9c
mov ecx, 0x50
call fcn.1400ca61c
xor r12d, r12d
mov rsi, rax
test rax, rax
je 0x14009dc9c
lea ecx, [r12 + 0x40]
call fcn.1400ca61c
test rax, rax
je 0x14009dc77
and dword [rax + 0x10], 0xfffffffc
lea rcx, vtable.expr_variable.0
mov qword [rax], rcx
lea rcx, [0x1400f48cc]
mov qword [rax + 0x20], rcx
mov qword [rax + 0x18], r12
mov qword [rax + 8], r12
mov qword [rax + 0x28], r12
mov qword [rax + 0x38], r12
mov dword [rax + 0x30], r12d
jmp 0x14009dc7a
mov rax, r12
xor r9d, r9d
mov r8, rax
mov rcx, rsi
lea edx, [r9 + 0x24]
call fcn.1400017b8
lea rax, vtable.expr_param.0
mov qword [rsi + 0x48], r12
mov qword [rsi], rax
jmp 0x14009dc9f
mov rsi, r12
mov rdx, rsi
mov rcx, r14
call fcn.1400c2d9c
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x50]
call qword [case.0x1400cd70e.0]
xor esi, esi
test eax, eax
je 0x14009dd1f
lea ecx, [rsi + 0x50]
call fcn.1400ca61c
mov rbx, rax
test rax, rax
je 0x14009dd1c
mov rcx, qword [r13 + 8]
mov rax, qword [rcx]
mov rax, qword [rax + 0x38]
call qword [case.0x1400cd70e.0]
mov ecx, dword [rbx + 0x10]
and ecx, 0xfffffffd
mov qword [rbx + 8], rsi
or ecx, 1
mov qword [rbx + 0x18], rsi
mov dword [rbx + 0x10], ecx
lea rcx, vtable.expr_sizeof.0
mov qword [rbx], rcx
mov dword [rbx + 0x20], 8
mov qword [rbx + 0x28], rsi
mov qword [rbx + 0x30], rsi
mov qword [rbx + 0x38], rsi
mov qword [rbx + 0x40], rax
mov qword [rbx + 0x48], rsi
jmp 0x14009dd1f
mov rbx, rsi
mov r12, qword [rsp + 0xc8]
test r12, r12
je 0x14009ddb5
mov rax, qword [r12]
mov rcx, r12
mov rax, qword [rax + 0x28]
call qword [case.0x1400cd70e.0]
cmp eax, 0x11
je 0x14009ddb5
mov rax, qword [r12]
mov rcx, r12
mov rax, qword [rax + 0x28]
call qword [case.0x1400cd70e.0]
cmp eax, 0x14
je 0x14009ddb5
mov edi, dword [rbp + 0x160]
mov rdx, rbp
mov dword [rbp + 0x160], esi
mov rcx, r12
mov rax, qword [r12]
mov rax, qword [rax + 0x110]
call qword [case.0x1400cd70e.0]
mov ecx, 0x48
mov rsi, rax
call fcn.1400ca61c
test rax, rax
je 0x14009ddab
mov r9, rbx
mov r8, rsi
mov edx, 0x10
mov rcx, rax
call fcn.1400017b8
mov rbx, rax
xor esi, esi
jmp 0x14009ddaf
xor esi, esi
mov ebx, esi
mov dword [rbp + 0x160], edi
mov ecx, 0x50
call fcn.1400ca61c
mov rdi, rax
test rax, rax
je 0x14009dde9
xor r9d, r9d
mov r8, rbx
mov rcx, rax
lea edx, [r9 + 0x24]
call fcn.1400017b8
lea rax, vtable.expr_param.0
mov qword [rdi + 0x48], rsi
mov qword [rdi], rax
jmp 0x14009ddec
mov rdi, rsi
mov rdx, rdi
mov rcx, r14
call fcn.1400c2d9c
mov rax, qword [r14]
xor r8d, r8d
xor r9d, r9d
mov rdx, r15
mov rcx, r14
mov rax, qword [rax + 0xc8]
call qword [case.0x1400cd70e.0]
mov ebx, 1
test dword [rbp + 0x18], 0x4000
mov rax, qword [rsp + 0xb8]
je 0x14009d691
mov rcx, rbp
call fcn.140064e30
mov rax, qword [rsp + 0xb8]
jmp 0x14009d691
mov r12, qword [rsp + 0x38]
mov rcx, qword [r12 + 0x10]
mov rbx, qword [r12 + 8]
test rcx, rcx
je 0x14009de62
call qword [sym.imp.msvcrt.dll_free]
nop dword [rax + rax]
mov rcx, r12
call qword [sym.imp.msvcrt.dll_free]
nop dword [rax + rax]
mov r12, rbx
test rbx, rbx
jne 0x14009de47
lea rcx, [rsp + 0x40]
call fcn.140027d04
lea rcx, [rsp + 0x58]
call fcn.140027d04
mov rbx, qword [rsp + 0xb0]
xor eax, eax
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
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