Function at 0x14004f680
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, 0x98
mov rax, rcx
lea r9, [rcx + 0xb0]
neg rax
mov rdi, rdx
mov rsi, rcx
sbb r8, r8
xor ebx, ebx
and r8, r9
mov qword [rbp + 0x7f], rbx
mov r12d, ebx
mov qword [rbp - 0x49], rbx
mov rax, qword [r8]
mov r8, rdx
mov rdx, rcx
mov qword [rbp + 0x67], rax
lea rcx, [rbp - 0x39]
call fcn.1400565ec
mov rcx, qword [rbp - 0x21]
lea edx, [rbx + 0xe]
call fcn.14003a238
mov rcx, qword [rbp - 0x21]
lea edx, [rbx + 0x3a]
call fcn.14003a238
mov rcx, qword [rbp - 0x21]
lea edx, [rbx + 0x50]
call fcn.14003a238
mov rcx, qword [rbp - 0x21]
lea edx, [rbx + 0x42]
call fcn.14003a238
test rax, rax
mov r14d, ebx
setne r14b
mov rcx, qword [rbp - 0x21]
mov edx, 0x32
call fcn.14003a238
test rax, rax
jne 0x14004f713
mov rcx, qword [rbp - 0x21]
lea edx, [rax + 0x3c]
call fcn.14003a238
mov rcx, qword [rbp - 0x21]
mov edx, 0x1e
call fcn.14003a238
mov rcx, qword [rbp - 0x21]
mov edx, 0x5a
bts dword [rbp + 0xb], 7
call fcn.14003a238
test rax, rax
je 0x14004f7aa
mov rdx, rsi
lea rcx, [rbp - 0x11]
call fcn.1400702e4
mov r15d, 4
mov dword [rbp - 9], 0x14
lea rcx, [rdi + 0x28]
mov word [rbp - 0xf], r15w
lea rdx, [rbp - 0x11]
call fcn.140070328
mov ecx, 0xd0
call fcn.1400ca61c
test rax, rax
je 0x14004f821
lea r9, [rbp - 0x39]
mov rdx, rsi
mov rcx, rax
call fcn.140055760
mov rbx, rax
jmp 0x14004f821
mov rcx, qword [rbp - 0x21]
mov edx, 0x14
call fcn.14003a238
test rax, rax
jne 0x14004f7aa
mov rdx, qword [rbp - 0x21]
mov r15d, 4
mov eax, ebx
mov ecx, ebx
lea r13d, [r15 - 3]
or eax, dword [rdx]
add ecx, r13d
add rdx, r15
cmp ecx, 5
jb 0x14004f7cf
test eax, eax
jne 0x14004fc6c
movzx eax, word [rsi + 0xb8]
lea rdx, [rbp + 0x77]
mov r8, rsi
mov word [rbp + 3], ax
call fcn.14007d6e0
test eax, eax
je 0x14004f842
mov r8, qword [rbp + 0x77]
lea rcx, [rbp - 0x11]
lea rdx, [r8 + 0x10]
call fcn.140070328
mov rbx, qword [r8 + 8]
lea rcx, [rdi + 0x28]
lea rdx, [rbp - 0x11]
call fcn.140070328
lea rcx, [rbp - 0x39]
call fcn.14005668c
mov rax, rbx
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov al, byte [rsi + 0xba]
test al, al
je 0x14004f982
cmp al, 2
je 0x14004f92c
cmp al, r15b
je 0x14004f8cf
mov ecx, 0xf8
call fcn.1400ca61c
mov rdi, rax
test rax, rax
je 0x14004f9b2
mov al, byte [rsi + 0xbb]
lea r8, [rbp - 0x11]
and al, r13b
mov rdx, rsi
movzx r9d, al
mov rcx, rdi
call fcn.140055618
lea rax, vtable.CG_COMPLEX_STRUCT.0
mov qword [rdi + 0xd8], rbx
mov qword [rdi], rax
lea rax, vtable.CG_COMPLEX_STRUCT.1.0
mov qword [rdi + 0xa8], rax
mov qword [rdi + 0xe0], rbx
mov qword [rdi + 0xe8], rbx
mov qword [rdi + 0xf0], rbx
mov dword [rdi + 0xd0], r13d
jmp 0x14004f9b5
mov ecx, 0xe8
call fcn.1400ca61c
mov rdi, rax
test rax, rax
je 0x14004f9b2
mov al, byte [rsi + 0xbb]
lea r8, [rbp - 0x11]
and al, r13b
mov rdx, rsi
movzx r9d, al
mov rcx, rdi
call fcn.140055618
lea rax, vtable.CG_CONFORMANT_VARYING_STRUCT.0
mov qword [rdi + 0xd8], rbx
mov qword [rdi], rax
lea rax, vtable.CG_CONFORMANT_VARYING_STRUCT.1.0
mov qword [rdi + 0xa8], rax
mov qword [rdi + 0xe0], rbx
jmp 0x14004f9b5
mov ecx, 0xe8
call fcn.1400ca61c
mov rdi, rax
test rax, rax
je 0x14004f9b2
mov al, byte [rsi + 0xbb]
lea r8, [rbp - 0x11]
and al, r13b
mov rdx, rsi
movzx r9d, al
mov rcx, rdi
call fcn.140055618
lea rax, vtable.CG_CONFORMANT_STRUCT.1.0
mov qword [rdi + 0xd8], rbx
mov qword [rdi], rax
lea rax, vtable.CG_CONFORMANT_STRUCT.0
mov qword [rdi + 0xa8], rax
mov qword [rdi + 0xe0], rbx
jmp 0x14004f9b5
mov ecx, 0xd8
call fcn.1400ca61c
mov rcx, rax
test rax, rax
je 0x14004f9b2
mov al, byte [rsi + 0xbb]
lea r8, [rbp - 0x11]
and al, r13b
mov rdx, rsi
movzx r9d, al
call fcn.140055618
mov rdi, rax
jmp 0x14004f9b5
mov rdi, rbx
test r14d, r14d
je 0x14004f9c1
mov dword [rdi + 0xc0], r13d
mov r13, qword [rbp + 0x77]
lea rdx, [rbp - 0x11]
lea rcx, [r13 + 0x10]
call fcn.140070328
mov qword [r13 + 8], rdi
mov rax, qword [rbp + 0x67]
mov r14, rax
test rax, rax
je 0x14004f9ec
mov rax, qword [rax + 0x58]
mov qword [rbp + 0x67], rax
jmp 0x14004f9f0
mov qword [rbp + 0x67], rbx
test r14, r14
je 0x14004fafc
mov rax, qword [r14]
lea rdx, [rbp - 0x39]
mov rcx, r14
mov rax, qword [rax + 0xb8]
call qword [case.0x1400cd70e.0]
mov rdx, qword [0x140134380]
mov r12, rax
cmp dword [rdx + 0x78], ebx
jne 0x14004fa4d
test dword [rsi + 0xb8], 0x4000000
je 0x14004fa4d
cmp qword [r14 + 0x58], rbx
jne 0x14004fa4d
mov rcx, r14
call fcn.14002eb54
cmp byte [rax + 0x18], 0x16
je 0x14004fa4d
mov eax, dword [rbp - 5]
add eax, dword [rbp - 0xd]
mov dword [rbp - 5], eax
mov dword [rbp - 0xd], eax
jmp 0x14004fa65
mov eax, dword [rbp - 5]
add eax, dword [rbp - 0xd]
mov dword [rbp - 5], eax
mov dword [rbp - 0xd], eax
mov eax, dword [rbp - 1]
add eax, dword [rbp - 9]
mov dword [rbp - 1], eax
mov dword [rbp - 9], eax
xor edx, edx
mov dword [rsp + 0x20], ebx
test r12, r12
je 0x14004fabd
lea r9, [0x14012e228]
mov rcx, r12
lea r8, [0x14012da78]
call fcn.1400cbdc8
test rax, rax
je 0x14004fc53
cmp dword [rax + 0xa8], ebx
je 0x14004faa1
mov dword [rdi + 0xc4], 1
mov rax, qword [rbp + 0x7f]
test rax, rax
je 0x14004fab0
mov qword [rax + 0x10], r12
jmp 0x14004fab4
mov qword [rbp - 0x49], r12
mov qword [rbp + 0x7f], r12
jmp 0x14004f9d6
lea r9, [0x14012cf68]
mov rcx, rsi
lea r8, [0x14012d4f8]
call fcn.1400cbdc8
test rax, rax
je 0x14004fade
mov r9, qword [rsi + 0x40]
jmp 0x14004fae5
lea r9, [0x1400f48cb]
mov r8d, 0x969
lea rdx, [rbp - 0x39]
mov rcx, rsi
call fcn.14003b748
jmp 0x14004f9d6
mov r14d, 0x4000000
test dword [rsi + 0xb8], r14d
jne 0x14004fb39
mov rax, qword [0x140134380]
cmp dword [rax + 0x78], ebx
je 0x14004fb28
movzx edx, word [rbp - 0xf]
lea ecx, [rdx - 1]
neg edx
add ecx, dword [rbp - 9]
and ecx, edx
mov dword [rbp - 9], ecx
movzx edx, word [rbp - 0x11]
lea ecx, [rdx - 1]
neg edx
add ecx, dword [rbp - 0xd]
and ecx, edx
mov dword [rbp - 0xd], ecx
mov rcx, qword [rbp + 0x6f]
lea rdx, [rbp - 0x11]
add rcx, 0x28
call fcn.140070328
mov rax, qword [rbp - 0x49]
lea rdx, [rbp - 0x11]
mov qword [rdi + 8], rax
mov rcx, rdi
mov rax, qword [rdi]
mov rax, qword [rax + 0xa0]
call qword [case.0x1400cd70e.0]
mov ecx, dword [rdi + 0xc0]
mov rax, qword [0x140134380]
test ecx, ecx
jne 0x14004fb8f
cmp dword [rax + 0x40], 0x3c
jge 0x14004fb89
test dword [rax + 0x38], 0xf000000
je 0x14004fbbe
test byte [rax + 0x26], r15b
jne 0x14004fbbe
cmp dword [rdi + 0xc4], ebx
jne 0x14004fbb9
test ecx, ecx
je 0x14004fbb9
xor r9d, r9d
lea rdx, [rbp - 0x39]
mov r8d, 0x9ae
mov rcx, rsi
call fcn.14003b748
mov rax, qword [0x140134380]
jmp 0x14004fbbe
bts dword [rax + 0x38], 0x19
cmp dword [rax + 0x78], ebx
je 0x14004fbf2
cmp dword [rdi + 0x34], 0x80000000
jb 0x14004fc21
mov ebx, 0x985
lea rdx, [rbp - 0x39]
mov r8d, ebx
xor r9d, r9d
mov rcx, rsi
call fcn.14003b748
mov ecx, ebx
call qword [sym.imp.msvcrt.dll_exit]
nop dword [rax + rax]
int3
cmp dword [rdi + 0x34], 0xffff
jbe 0x14004fc21
mov ebx, 0x8ac
lea rdx, [rbp - 0x39]
mov r8d, ebx
xor r9d, r9d
mov rcx, rsi
call fcn.14003b748
mov ecx, ebx
call qword [sym.imp.msvcrt.dll_exit]
nop dword [rax + rax]
int3
test dword [rsi + 0xb8], r14d
je 0x14004fc31
mov qword [rdi + 0xd8], r12
lea rdx, [rbp - 0x11]
lea rcx, [r13 + 0x10]
call fcn.140070328
lea rcx, [rbp - 0x39]
mov qword [r13 + 8], rdi
call fcn.14005668c
mov rax, rdi
jmp 0x14004f82d
lea r8, str.pField___NULL
mov edx, 0x23f
lea rcx, str.com_rpcmidlcodegenilcore.cxx
call fcn.1400c7a2c
int3
lea r8, str._MyContext.HasAttributes__
mov edx, 0x1d8
lea rcx, str.com_rpcmidlcodegenilcore.cxx
call fcn.1400c7a2c
int3