Function at 0x1400511d0
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x40]
sub rsp, 0x140
mov r9, rdx
mov r14, rcx
call fcn.14002eb54
mov r8, r9
lea rcx, [rbp - 0x80]
mov rdx, r14
xor edi, edi
mov r15, rax
call fcn.1400565ec
xorps xmm0, xmm0
mov qword [rsp + 0x60], rdi
movdqa xmmword [rsp + 0x50], xmm0
movzx r12d, di
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], rdi
mov word [rsp + 0x78], di
mov rcx, qword [rbp - 0x68]
mov edx, 0x32
call fcn.14003a238
test rax, rax
jne 0x140051245
mov rcx, qword [rbp - 0x68]
lea edx, [rax + 0x60]
call fcn.14003a238
test rax, rax
je 0x14005126e
movzx r12d, word [rax + 0x38]
xor edx, edx
lea rcx, [rbp - 0x80]
call fcn.14003a584
mov rcx, qword [rbp - 0x68]
mov edx, 0x48
movzx r13d, ax
call fcn.14003a238
mov rcx, qword [r15]
mov rsi, rax
mov qword [rbp + 0x90], rax
mov rax, qword [rcx + 0x40]
mov rcx, r15
call qword [case.0x1400cd70e.0]
neg eax
lea rdx, [rsp + 0x30]
sbb cl, cl
and cl, 2
mov byte [rsp + 0x7a], cl
mov rcx, qword [rbp - 0x68]
call fcn.14003a2d8
test byte [rsp + 0x79], 1
je 0x140051315
cmp qword [rsp + 0x38], rdi
jne 0x1400512d6
call fcn.1400385c8
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x30], rdi
jne 0x140051315
cmp qword [rsp + 0x40], rdi
je 0x140051315
call fcn.140038670
mov r8, qword [rsp + 0x38]
mov ecx, 0xf
mov rdx, qword [rsp + 0x40]
mov rbx, rax
call fcn.14003842c
mov r8, rbx
mov rdx, rax
mov ecx, 0xe
call fcn.14003842c
mov qword [rsp + 0x30], rax
test byte [rsp + 0x79], 2
je 0x1400513a9
cmp qword [rsp + 0x50], rdi
jne 0x140051331
call fcn.1400385c8
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x60]
test rax, rax
jne 0x14005136c
cmp qword [rsp + 0x40], rdi
je 0x140051349
mov rax, qword [rsp + 0x40]
jmp 0x140051367
cmp qword [rsp + 0x30], rdi
je 0x14005136c
call fcn.140038670
mov rdx, qword [rsp + 0x30]
mov r8, rax
mov ecx, 0xf
call fcn.14003842c
mov qword [rsp + 0x60], rax
cmp qword [rsp + 0x48], rdi
jne 0x1400513a9
test rax, rax
je 0x1400513a9
call fcn.140038670
mov r8, qword [rsp + 0x50]
mov ecx, 0xf
mov rdx, qword [rsp + 0x60]
mov rbx, rax
call fcn.14003842c
mov r8, rbx
mov rdx, rax
mov ecx, 0xe
call fcn.14003842c
mov qword [rsp + 0x48], rax
mov r8, qword [rsp + 0x30]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x30]
call fcn.14003981c
mov rcx, qword [rbp - 0x68]
mov edx, 0x51
call fcn.14003a238
test rax, rax
je 0x1400513e2
mov rax, qword [r14]
mov rcx, r14
mov rax, qword [rax + 0xf0]
call qword [case.0x1400cd70e.0]
movzx ecx, byte [rsp + 0x79]
mov ebx, 4
test ecx, ecx
je 0x140051791
sub ecx, 1
je 0x140051757
sub ecx, 1
je 0x14005171d
sub ecx, 1
je 0x1400516e3
sub ecx, 1
je 0x1400515a9
sub ecx, 1
je 0x140051569
cmp ecx, 3
jne 0x140051c0e
cmp byte [r15 + 0x18], 0x24
jne 0x140051437
mov r12, qword [r15 + 8]
jmp 0x14005143a
mov r12, r15
mov ecx, 0xd8
call fcn.1400ca61c
mov rsi, rax
test rax, rax
je 0x1400518da
mov rbx, qword [rsp + 0x58]
xor r9d, r9d
mov rdx, r14
mov rcx, rax
lea r8d, [r9 + 1]
call fcn.1400541e8
lea rax, vtable.CG_IIDIS_INTERFACE_POINTER.0
mov qword [rsi + 0xc8], rdi
mov qword [rsi], rax
lea rax, vtable.CG_IIDIS_INTERFACE_POINTER.1.0
mov qword [rsi + 0x98], rax
mov qword [rsi + 0xb8], rbx
mov qword [rsi + 0xc0], r12
mov qword [rsi + 0xd0], rdi
mov ebx, 4
mov r9, qword [rbp - 0x68]
cmp qword [r9 + 0x1a0], rdi
je 0x14005190c
mov rcx, r14
call fcn.14002eb54
cmp byte [rax + 0x18], 0x12
jne 0x14005190c
mov edx, 0x31
mov rcx, r9
call fcn.14003a238
mov r8, rax
lea rcx, [rbp - 0x80]
mov rdx, r14
mov rsi, rax
call fcn.14007036c
mov rdx, qword [0x140134380]
mov r8d, 4
mov bx, 0x20
mov cl, byte [rdx + 0x1a]
and cl, bl
neg cl
sbb ecx, ecx
and ecx, r8d
add ecx, r8d
mov dword [rbp - 0x54], ecx
mov al, byte [rdx + 0x1a]
lea rdx, [rbp - 0x58]
and al, bl
mov dword [rbp - 0x50], edi
neg al
sbb cx, cx
and cx, r8w
add cx, r8w
mov word [rbp - 0x58], cx
mov rcx, qword [rbp + 0x88]
add rcx, 0x28
call fcn.140070328
mov ecx, 0xc0
call fcn.1400ca61c
test rax, rax
je 0x140051558
lea r9, [rbp - 0x58]
mov qword [rsp + 0x20], rsi
mov rdx, r14
mov rcx, rax
call fcn.140054970
mov rdi, rax
lea rcx, [rbp - 0x80]
call fcn.14005668c
mov rax, rdi
jmp 0x140051bc0
cmp byte [rsp + 0x78], 1
jne 0x140051c27
mov ecx, 0x128
call fcn.1400ca61c
test rax, rax
je 0x1400518da
lea rcx, [rsp + 0x30]
movzx r9d, r12w
mov qword [rsp + 0x20], rcx
movzx r8d, r13w
mov rcx, rax
mov rdx, r14
call fcn.1400533d4
jmp 0x140051904
cmp qword [rsp + 0x70], rdi
je 0x140051650
mov ecx, 0x108
call fcn.1400ca61c
mov rsi, rax
test rax, rax
je 0x14005163d
movzx r9d, r12w
movzx r8d, r13w
mov rdx, r14
mov rcx, rax
call fcn.1400541e8
lea rax, vtable.CG_RANGE_STRING_POINTER.0
mov qword [rsi + 0xb8], rdi
mov qword [rsi], rax
lea rax, vtable.CG_RANGE_STRING_POINTER.1.0
mov qword [rsi + 0x98], rax
mov qword [rsi + 0xc0], rdi
mov qword [rsi + 0xc8], rdi
mov qword [rsi + 0xd0], rdi
mov qword [rsi + 0xd8], rdi
mov qword [rsi + 0xe0], rdi
mov dword [rsi + 0xe8], edi
mov qword [rsi + 0xf0], rdi
mov rax, qword [rsp + 0x70]
mov qword [rsi + 0xf8], rax
mov qword [rsi + 0x100], rdi
jmp 0x140051640
mov rsi, rdi
cmp byte [rsp + 0x78], 2
je 0x140051bf5
jmp 0x1400514a0
mov ecx, 0xf8
call fcn.1400ca61c
mov rsi, rax
test rax, rax
je 0x1400516c6
movzx r9d, r12w
movzx r8d, r13w
mov rdx, r14
mov rcx, rax
call fcn.1400541e8
lea rax, vtable.CG_STRING_POINTER.1.0
mov qword [rsi + 0xb8], rdi
mov qword [rsi], rax
lea rax, vtable.CG_STRING_POINTER.0
mov qword [rsi + 0x98], rax
mov qword [rsi + 0xc0], rdi
mov qword [rsi + 0xc8], rdi
mov qword [rsi + 0xd0], rdi
mov qword [rsi + 0xd8], rdi
mov qword [rsi + 0xe0], rdi
mov dword [rsi + 0xe8], edi
mov qword [rsi + 0xf0], rdi
jmp 0x1400516c9
mov rsi, rdi
cmp byte [rsp + 0x78], 2
jne 0x1400514a0
mov dword [rsi + 0xe8], 1
jmp 0x1400514a0
bts dword [rbp - 0x3c], 7
mov ecx, 0x140
call fcn.1400ca61c
test rax, rax
je 0x1400518da
lea rcx, [rsp + 0x30]
movzx r9d, r12w
mov qword [rsp + 0x20], rcx
movzx r8d, r13w
mov rcx, rax
mov rdx, r14
call fcn.140053924
jmp 0x140051904
bts dword [rbp - 0x3c], 7
mov ecx, 0x110
call fcn.1400ca61c
test rax, rax
je 0x1400518da
lea rcx, [rsp + 0x30]
movzx r9d, r12w
mov qword [rsp + 0x20], rcx
movzx r8d, r13w
mov rcx, rax
mov rdx, r14
call fcn.140054044
jmp 0x140051904
bts dword [rbp - 0x3c], 7
mov ecx, 0x120
call fcn.1400ca61c
test rax, rax
je 0x1400518da
lea rcx, [rsp + 0x30]
movzx r9d, r12w
mov qword [rsp + 0x20], rcx
movzx r8d, r13w
mov rcx, rax
mov rdx, r14
call fcn.140053bf4
jmp 0x140051904
cmp byte [r15 + 0x18], 0x24
je 0x1400517b0
mov rax, qword [r15]
mov rcx, r15
mov rax, qword [rax + 0x58]
call qword [case.0x1400cd70e.0]
test eax, eax
je 0x14005187b
test byte [rbp - 0x3c], bl
je 0x14005187b
cmp qword [rsp + 0x58], rdi
jne 0x140051bdc
cmp byte [r15 + 0x18], 0x24
jne 0x1400517d1
mov rbx, qword [r15 + 8]
jmp 0x1400517d4
mov rbx, r15
mov ecx, 0xd0
call fcn.1400ca61c
mov rsi, rax
test rax, rax
je 0x140051827
xor r9d, r9d
mov rdx, r14
mov rcx, rax
lea r8d, [r9 + 1]
call fcn.1400541e8
lea rax, vtable.CG_INTERFACE_POINTER.0
mov qword [rsi + 0xc0], rdi
mov qword [rsi], rax
lea rax, vtable.CG_INTERFACE_POINTER.1.0
mov qword [rsi + 0x98], rax
mov qword [rsi + 0xb8], rbx
mov qword [rsi + 0xc8], rdi
jmp 0x14005182a
mov rsi, rdi
cmp byte [r15 + 0x18], 0x24
je 0x14005149b
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x14005149b
cmp byte [rcx + 0x18], 0x1e
jne 0x14005149b
mov rax, qword [rcx]
lea rdx, [rbp - 0x80]
mov rbx, qword [rsi]
mov rax, qword [rax + 0xb8]
call qword [case.0x1400cd70e.0]
mov rdx, rax
mov rcx, rsi
mov rax, qword [rbx + 0x290]
call qword [case.0x1400cd70e.0]
jmp 0x14005149b
test rsi, rsi
je 0x1400518e2
mov ecx, 0xc8
call fcn.1400ca61c
mov rsi, rax
test rax, rax
je 0x1400518da
mov rbx, qword [rbp + 0x90]
xor r9d, r9d
movzx r8d, r13w
mov rdx, r14
mov rcx, rax
mov rbx, qword [rbx + 0x38]
call fcn.1400541e8
lea rax, vtable.CG_BYTE_COUNT_POINTER.0
mov qword [rsi + 0xb8], rbx
mov qword [rsi], rax
lea rax, vtable.CG_BYTE_COUNT_POINTER.1.0
mov qword [rsi + 0x98], rax
mov qword [rsi + 0xc0], rdi
jmp 0x14005149b
mov rsi, rdi
jmp 0x1400514a0
mov ecx, 0xb8
call fcn.1400ca61c
test rax, rax
je 0x1400518da
movzx r9d, r12w
movzx r8d, r13w
mov rdx, r14
mov rcx, rax
call fcn.1400541e8
mov rsi, rax
jmp 0x1400514a0
cmp qword [r9 + 0x2e8], rdi
je 0x14005197b
cmp byte [r15 + 0x18], 0x2d
je 0x14005197b
mov edx, 0x5a
mov rcx, r9
call fcn.14003a238
mov rdx, r14
lea rcx, [rbp - 0x58]
call fcn.1400702e4
mov rcx, qword [rbp + 0x88]
lea rdx, [rbp - 0x58]
add rcx, 0x28
mov dword [rbp - 0x50], 0x14
mov word [rbp - 0x56], bx
call fcn.140070328
mov ecx, 0xd0
call fcn.1400ca61c
test rax, rax
je 0x140051558
lea r9, [rbp - 0x80]
mov rdx, r14
mov rcx, rax
call fcn.140055760
jmp 0x140051555
mov edx, 0x41
mov rcx, r9
call fcn.14003a238
test rax, rax
jne 0x140051ac0
mov rcx, qword [rbp - 0x68]
lea edx, [rax + 0x6f]
call fcn.14003a238
test rax, rax
jne 0x140051ac0
mov rax, qword [r15]
mov rcx, r15
mov rbx, qword [r14 + 8]
mov rax, qword [rax + 0x58]
call qword [case.0x1400cd70e.0]
test eax, eax
jne 0x1400519fa
lea r8d, [rax + 8]
cmp byte [rsp + 0x79], r8b
je 0x1400519fa
mov rax, qword [rsi]
mov rcx, rsi
mov rax, qword [rax + 0x50]
call qword [case.0x1400cd70e.0]
test eax, eax
jne 0x1400519fa
mov rcx, qword [r14 + 8]
lea rdx, [rbp - 0x80]
mov rax, qword [rcx]
mov rax, qword [rax + 0xb8]
call qword [case.0x1400cd70e.0]
mov r12, rax
jmp 0x1400519fd
mov r12, rdi
cmp byte [r15 + 0x18], 0x24
je 0x140051a18
mov rcx, qword [r15]
mov rax, qword [rcx + 0x58]
mov rcx, r15
call qword [case.0x1400cd70e.0]
test eax, eax
je 0x140051a32
mov rax, qword [rsi]
mov rcx, rsi
mov rax, qword [rax + 0x50]
call qword [case.0x1400cd70e.0]
test eax, eax
jne 0x140051a32
mov rsi, r12
mov r12, rdi
test rsi, rsi
jne 0x140051a68
mov rcx, rbx
call fcn.140002470
mov rdx, qword [rbp + 0x88]
mov ebx, 0x7d9
mov r8d, ebx
mov r9, rax
mov rcx, r14
call fcn.14003b748
mov ecx, ebx
call qword [sym.imp.msvcrt.dll_exit]
nop dword [rax + rax]
int3
mov r15, qword [rbp + 0x88]
lea rcx, [rbp - 0x10]
mov r8, r15
mov rdx, r14
call fcn.1400565ec
mov rdx, r14
lea rcx, [rbp + 0x18]
call fcn.140070160
lea rcx, [r15 + 0x28]
lea rdx, [rbp + 0x18]
call fcn.140070328
mov rcx, qword [rsi]
lea rdx, [rbp + 0x18]
mov rax, qword [rcx + 0xa0]
mov rcx, rsi
call qword [case.0x1400cd70e.0]
lea rcx, [rbp - 0x10]
mov qword [rsi + 8], r12
call fcn.14005668c
jmp 0x140051bb4
mov rcx, qword [0x140134380]
lea rdx, [rbp - 0x58]
mov r12d, 4
mov bx, 0x20
mov al, byte [rcx + 0x1a]
and al, bl
neg al
sbb eax, eax
and eax, r12d
add eax, r12d
mov dword [rbp - 0x54], eax
mov al, byte [rcx + 0x1a]
and al, bl
neg al
sbb cx, cx
and cx, r12w
add cx, r12w
mov word [rbp - 0x58], cx
mov rcx, qword [rbp + 0x88]
add rcx, 0x28
call fcn.140070328
mov ecx, 0xa0
call fcn.1400ca61c
mov rsi, rax
test rax, rax
je 0x140051bb1
mov rcx, qword [0x140134380]
lea r8d, [r12 + 4]
cmp dword [rcx + 0x78], edi
je 0x140051b3c
mov r9d, r8d
test byte [rcx + 0x1a], bl
jne 0x140051b3f
mov r9d, r12d
cmp dword [rcx + 0x78], edi
je 0x140051b49
test byte [rcx + 0x1a], bl
jne 0x140051b4d
movzx r8d, r12w
movzx eax, word [rcx + 0x66]
movzx edx, word [rcx + 0x1a]
mov word [rbp - 0x1c], ax
and dx, bx
movzx eax, dx
mov word [rbp - 0x2e], r8w
neg ax
mov dword [rbp - 0x28], r9d
lea r8, [rbp - 0x30]
mov qword [rbp - 0x24], rdi
sbb cx, cx
mov dword [rbp - 0x18], edi
and cx, r12w
add cx, r12w
neg dx
mov word [rbp - 0x30], cx
mov rdx, r14
mov rcx, rsi
sbb eax, eax
and eax, r12d
add eax, r12d
mov dword [rbp - 0x2c], eax
call fcn.1400561c0
lea rax, vtable.CG_IGNORED_POINTER.0
mov qword [rsi + 0x98], rdi
mov qword [rsi], rax
jmp 0x140051bb4
mov rsi, rdi
lea rcx, [rbp - 0x80]
call fcn.14005668c
mov rax, rsi
mov rbx, qword [rsp + 0x180]
add rsp, 0x140
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea r8, str.FAInfo.pIIDIsExpr__NULL
mov edx, 0x5ed
lea rcx, str.com_rpcmidlcodegenilcore.cxx
call fcn.1400c7a2c
int3
lea r8, str.FAInfo.StringKind___STR_BSTRING
mov edx, 0x62c
lea rcx, str.com_rpcmidlcodegenilcore.cxx
call fcn.1400c7a2c
int3
lea r8, str.__Invalid_pointer_kind_
mov edx, 0x658
lea rcx, str.com_rpcmidlcodegenilcore.cxx
call fcn.1400c7a2c
int3
lea r8, [0x1400f48cc]
mov edx, 0x646
lea rcx, str.com_rpcmidlcodegenilcore.cxx
call fcn.1400c7a2c
int3