Function at 0x14004ffe0
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xd8
mov rsi, rdx
mov r8, rdx
mov rdx, rcx
mov r14, rcx
lea rcx, [rsp + 0x20]
call fcn.1400565ec
lea r9, [r14 + 0xb0]
mov rax, r14
neg rax
mov rcx, r14
mov rax, qword [r14]
sbb r8, r8
xor edi, edi
and r8, r9
mov qword [rbp - 0x49], rdi
mov r15d, edi
mov rax, qword [rax + 0x38]
mov r13, qword [r8]
call qword [case.0x1400cd70e.0]
mov rcx, qword [rsp + 0x38]
lea edx, [rdi + 0x33]
mov dword [rbp + 0x77], eax
call fcn.14003a238
mov rcx, qword [0x140134380]
mov r12d, edi
mov qword [rbp - 0x41], rax
mov rbx, r14
cmp dword [rcx + 0x78], edi
je 0x14005007f
mov rcx, qword [rsp + 0x38]
lea edx, [rdi + 0x21]
call fcn.14003a238
cmp dword [rbp + 0x77], edi
mov r12, rax
cmove rbx, rax
mov rcx, qword [rsp + 0x38]
mov edx, 0xe
call fcn.14003a238
mov rcx, qword [rsp + 0x38]
mov edx, 0x32
call fcn.14003a238
test rax, rax
jne 0x14005008e
mov rcx, qword [rsp + 0x38]
lea edx, [rax + 0x5a]
call fcn.14003a238
test rax, rax
je 0x140050108
mov rdx, r14
lea rcx, [rbp - 0x71]
call fcn.1400702e4
mov eax, 4
mov dword [rbp - 0x69], 0x14
lea rcx, [rsi + 0x28]
mov word [rbp - 0x6f], ax
lea rdx, [rbp - 0x71]
call fcn.140070328
mov ecx, 0xd0
call fcn.1400ca61c
test rax, rax
je 0x1400501a0
lea r9, [rsp + 0x20]
mov rdx, r14
mov rcx, rax
call fcn.140055760
mov rdi, rax
jmp 0x1400501a0
mov rcx, qword [rsp + 0x38]
mov r11d, 0x36
mov edx, r11d
call fcn.14003a238
lea ecx, [r11 - 0x35]
test rax, rax
jne 0x140050157
mov rcx, r14
call fcn.14002ebb0
mov r9, rax
mov edx, r11d
mov rcx, qword [rax]
mov rax, qword [rcx + 0x20]
mov rcx, r9
call qword [case.0x1400cd70e.0]
mov ecx, 1
test eax, eax
jne 0x140050157
mov rax, qword [0x140134380]
test byte [rax + 8], cl
je 0x14005015f
mov dword [rbp + 0x67], ecx
cmp dword [rbp + 0x77], edi
je 0x140050162
mov dword [rbp + 0x67], edi
movzx eax, word [r14 + 0xb8]
lea rdx, [rbp + 0x7f]
mov r8, rbx
mov word [rbp - 0x5d], ax
call fcn.14007d6e0
test eax, eax
je 0x1400501b2
mov r8, qword [rbp + 0x7f]
lea rcx, [rbp - 0x71]
lea rdx, [r8 + 0x10]
call fcn.140070328
mov rdi, qword [r8 + 8]
lea rcx, [rsi + 0x28]
lea rdx, [rbp - 0x71]
call fcn.140070328
lea rcx, [rsp + 0x20]
call fcn.14005668c
mov rax, rdi
jmp 0x140050469
mov ecx, 0xe8
call fcn.1400ca61c
mov rsi, rax
test rax, rax
je 0x14005025d
mov ebx, dword [r14 + 0xb8]
lea r8, [rbp - 0x71]
mov rdx, r14
mov rcx, rax
call fcn.1400561c0
lea rax, vtable.CG_COMP.0
shr ebx, 0x18
mov qword [rsi], rax
and ebx, 1
movzx eax, word [rbp - 0x5d]
and dword [rsi + 0x9c], 0xfffffffe
or dword [rsi + 0x9c], ebx
mov word [rsi + 0x98], ax
lea rax, vtable.CG_UNION.0
mov qword [rsi], rax
lea rax, vtable.CG_UNION.1.0
mov qword [rsi + 0xa8], rax
mov eax, 0xfffc
and word [rsi + 0xd0], ax
or dword [rsi + 0xb0], 0xffffffff
mov qword [rsi + 0xa0], rdi
mov qword [rsi + 0xb8], rdi
mov qword [rsi + 0xc0], rdi
mov qword [rsi + 0xd8], rdi
mov qword [rsi + 0xc8], rdi
mov qword [rsi + 0xe0], rdi
jmp 0x140050260
mov rsi, rdi
mov rbx, qword [rbp + 0x7f]
lea rdx, [rbp - 0x71]
lea rcx, [rbx + 0x10]
call fcn.140070328
mov qword [rbx + 8], rsi
mov rcx, r13
test r13, r13
je 0x140050283
mov r13, qword [r13 + 0x58]
jmp 0x140050286
mov r13, rdi
test rcx, rcx
je 0x1400502cf
mov rax, qword [rcx]
lea rdx, [rsp + 0x20]
mov rax, qword [rax + 0xb8]
call qword [case.0x1400cd70e.0]
test r15, r15
je 0x1400502ab
mov qword [r15 + 0x10], rax
jmp 0x1400502af
mov qword [rbp - 0x49], rax
mov r15, rax
test rax, rax
je 0x14005047e
mov rcx, qword [rax + 0x10]
jmp 0x1400502c8
mov r15, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x1400502c1
jmp 0x140050275
mov rax, qword [rbp - 0x41]
test rax, rax
je 0x14005034a
mov rcx, qword [rax + 0x20]
lea rdx, [rbp - 0x39]
mov rax, qword [rsp + 0x20]
mov qword [rbp - 0x39], rax
lea rax, [rsp + 0x20]
mov qword [rbp - 0x31], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x29], rax
mov eax, dword [rbp - 0x79]
mov dword [rbp - 0x19], eax
mov rax, qword [rsp + 0x38]
mov qword [rbp - 0x21], rax
movzx eax, word [rbp - 0x5d]
mov word [rbp + 3], ax
mov eax, dword [rbp - 0x55]
mov dword [rbp + 0xb], eax
mov qword [rbp - 0x11], 0x10001
mov qword [rbp - 9], rdi
mov dword [rbp - 1], edi
mov dword [rbp + 7], edi
mov rax, qword [rcx]
mov rax, qword [rax + 0xb8]
call qword [case.0x1400cd70e.0]
lea rcx, [rbp - 0x39]
mov qword [rsi + 0xc0], rax
call fcn.14005668c
mov rax, qword [0x140134380]
cmp dword [rax + 0x78], edi
je 0x140050373
test r12, r12
je 0x140050373
mov rax, qword [r12]
mov rcx, r12
mov rax, qword [rax + 8]
call qword [case.0x1400cd70e.0]
mov qword [rsi + 0xc8], rax
mov rax, qword [rbp - 0x49]
mov qword [rsi + 8], rax
movzx edx, word [rbp - 0x71]
mov ecx, dword [rbp - 0x65]
mov r8d, edx
dec ecx
neg r8d
add ecx, edx
and ecx, r8d
mov dword [rbp - 0x65], ecx
lea ecx, [rdx - 1]
add ecx, dword [rbp - 0x6d]
lea rdx, [rbp - 0x71]
and ecx, r8d
mov dword [rbp - 0x6d], ecx
mov rcx, rsi
mov rax, qword [rsi]
mov rax, qword [rax + 0xa0]
call qword [case.0x1400cd70e.0]
mov r8, qword [0x140134380]
mov eax, 0xfffc
and word [rsi + 0xd0], ax
neg dword [rbp + 0x67]
sbb ax, ax
neg ax
add ax, 2
or word [rsi + 0xd0], ax
cmp dword [r8 + 0x78], edi
je 0x140050412
cmp dword [rsi + 0x34], 0x80000000
jb 0x140050412
mov ebx, 0x985
lea rdx, [rsp + 0x20]
mov r8d, ebx
xor r9d, r9d
mov rcx, r14
call fcn.14003b748
mov ecx, ebx
call qword [sym.imp.msvcrt.dll_exit]
nop dword [rax + rax]
int3
lea rdx, [rbp - 0x71]
lea rcx, [rbx + 0x10]
call fcn.140070328
mov qword [rbx + 8], rsi
cmp dword [r8 + 0x78], edi
je 0x14005044b
cmp dword [rbp + 0x77], edi
jne 0x14005044b
mov rax, qword [rsi + 0xc0]
test rax, rax
je 0x14005044b
movzx ecx, word [rax + 0x30]
cmp word [rbp - 0x6f], cx
cmova cx, word [rbp - 0x6f]
mov word [rbp - 0x6f], cx
mov rcx, qword [rbp + 0x6f]
lea rdx, [rbp - 0x71]
add rcx, 0x28
call fcn.140070328
lea rcx, [rsp + 0x20]
call fcn.14005668c
mov rax, rsi
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea r8, str.pLastCaseCG___Null_case_list_
mov edx, 0x37e
lea rcx, str.com_rpcmidlcodegenilcore.cxx
call fcn.1400c7a2c
int3