Function at 0x140002f3c
Capabilities:
Access peb ldr_data

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0xd8]
sub rsp, 0x1b0
mov qword [rbp - 0x80], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x14002f948]
xor rax, rsp
mov qword [rbp + 0x98], rax
mov rdi, rdx
mov ebx, ecx
xor r14d, r14d
mov dword [rsp + 0x54], r14d
lea ecx, [r14 + 0x18]
call fcn.14000dff8
mov qword [rsp + 0x58], rax
lea rcx, vtable.appv::utility::scope_guard_func_impl_class_std::_Binder_struct_std::_Unforced__void____cdecl___long_int___class_std::reference_wrapper_long_int___.0
mov qword [rax], rcx
lea rcx, [0x140002dc0]
mov qword [rax + 8], rcx
lea rcx, [rsp + 0x54]
mov qword [rax + 0x10], rcx
mov qword [rsp + 0x60], rax
mov qword [rbp - 0x58], r14
lea r15d, [r14 + 7]
mov qword [rbp - 0x50], r15
mov word [rbp - 0x68], r14w
mov dword [rbp - 0x70], 0x80070057
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
lea rsi, [0x1400300f8]
lea r12d, [r14 + 1]
mov eax, dword [rdx + rcx]
cmp dword [0x140030118], eax
jg 0x1400033bd
mov r8, rdi
mov edx, ebx
mov rcx, rsi
call fcn.140008f80
mov rax, qword [0x140030108]
mov rbx, qword [rax]
cmp rbx, rax
je 0x14000306e
lea rdx, [rbx + 0x10]
cmp qword [rdx + 0x18], 8
jb 0x140003025
mov rdx, qword [rdx]
lea rcx, [rsp + 0x70]
call fcn.140009514
movups xmm6, xmmword [rax]
movq rax, xmm6
cmp rax, qword [0x140027f78]
jne 0x1400032e7
movdqa xmm0, xmm6
psrldq xmm0, 8
movq rax, xmm0
cmp rax, qword [0x140027f80]
jne 0x1400032e7
mov rax, qword [rbx]
mov rbx, rax
cmp rax, qword [0x140030108]
jne 0x140003017
mov ebx, dword [rbp - 0x70]
test ebx, ebx
js 0x140003081
lea rcx, [rbp - 0x70]
call fcn.140009684
mov ebx, dword [rbp - 0x70]
test ebx, ebx
js 0x14000308e
movups xmm0, xmmword [rbp - 0x48]
movdqu xmmword [rbp + 0x20], xmm0
mov dword [rsp + 0x54], ebx
test ebx, ebx
js 0x140003358
mov r8d, 0x3a
lea rdx, str.wmain
lea rcx, [rbp + 0x40]
call fcn.14000bde8
mov rdi, rax
call fcn.1400034e0
lea rdx, str.AppVDllSurrogate_started_for_CLSID__1_.
lea rcx, [rbp]
call fcn.140004344
nop
lea r8, [rbp]
lea rdx, [rbp + 0x68]
call fcn.14000bdb0
nop
lea rdx, [rbp + 0x20]
mov rcx, rax
call fcn.14000c4dc
mov rbx, rax
lea rdx, str.VCom
lea rcx, [rbp - 0x20]
call fcn.140004344
nop
mov r9, rbx
lea r8, [rbp - 0x20]
mov edx, 4
mov rcx, rdi
call fcn.14000be34
nop
mov rdx, qword [rbp - 8]
cmp rdx, 8
jb 0x140003127
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
call fcn.140007120
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], r15
mov word [rbp - 0x20], r14w
lea rcx, [rbp + 0x68]
call fcn.14000c48c
nop
mov rdx, qword [rbp + 0x18]
cmp rdx, 8
jb 0x140003159
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp]
call fcn.140007120
mov qword [rbp + 0x10], r14
mov qword [rbp + 0x18], r15
mov word [rbp], r14w
mov rdx, qword [rbp + 0x58]
cmp rdx, 0x10
jb 0x14000317c
inc rdx
mov rcx, qword [rbp + 0x40]
call fcn.140007120
mov dword [rsp + 0x70], r14d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
nop dword [rax + rax]
mov dword [rsp + 0x78], eax
movzx esi, r14b
test eax, eax
cmovns esi, r12d
mov byte [rsp + 0x74], sil
mov ebx, dword [rbp - 0x70]
test ebx, ebx
js 0x1400031b4
movups xmm0, xmmword [rbp - 0x38]
movdqu xmmword [rbp + 0x30], xmm0
mov dword [rsp + 0x54], ebx
test ebx, ebx
js 0x140003346
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x38], 8
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
or edx, 0xffffffff
lea rcx, [rbp + 0x30]
call qword [sym.imp.ole32.dll_CoInitializeSecurity]
nop dword [rax + rax]
mov ebx, eax
mov dword [rsp + 0x54], eax
test eax, eax
js 0x140003346
mov byte [rsp + 0x50], r12b
mov ecx, 0x70
call fcn.14000dff8
mov rdi, rax
mov qword [rsp + 0x58], rax
lea rax, vtable.SurrogateImpl.0
mov qword [rdi], rax
mov dword [rdi + 8], r14d
lea rax, [rsp + 0x50]
mov qword [rdi + 0x10], rax
lea rcx, [rdi + 0x18]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop dword [rax + rax]
mov qword [rdi + 0x40], r14
lea rbx, [rdi + 0x48]
mov qword [rsp + 0x68], rbx
mov qword [rbx], r14
mov qword [rbx + 8], r14
mov ecx, 0x38
call fcn.14000dff8
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbx], rax
mov qword [rdi + 0x58], r14
mov qword [rdi + 0x60], r14
mov qword [rdi + 0x68], r14
mov qword [rsp + 0x68], rdi
mov rax, qword [rdi]
movabs r10, 0xfd41b67356dad870
mov rcx, rdi
mov rax, qword [rax + 8]
call qword [0x140016980]
nop
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoRegisterSurrogate]
nop dword [rax + rax]
mov ebx, eax
mov dword [rsp + 0x54], eax
test eax, eax
js 0x14000332b
mov rax, qword [rdi]
movabs r10, 0xcf0986f778d10170
lea rdx, [rbp + 0x20]
mov rcx, rdi
mov rax, qword [rax + 0x18]
call qword [0x140016980]
mov ebx, eax
mov dword [rsp + 0x54], eax
test eax, eax
js 0x14000332b
mov ecx, 0x1388
jmp 0x140003309
lea rdx, [rbx + 0x10]
lea rcx, [rbp - 0x68]
call fcn.140009a04
movdqu xmmword [rbp - 0x48], xmm6
mov ebx, r14d
mov dword [rbp - 0x70], ebx
jmp 0x140003071
mov ecx, 0x7d0
call qword [sym.imp.KERNEL32.dll_Sleep]
nop dword [rax + rax]
call qword [sym.imp.ole32.dll_CoFreeUnusedLibraries]
nop dword [rax + rax]
cmp byte [rsp + 0x50], r14b
je 0x140003304
mov ebx, r14d
mov rax, qword [rdi]
movabs r10, 0xbaac1f10365eb170
mov rcx, rdi
mov rax, qword [rax + 0x10]
call qword [0x140016980]
nop
test sil, sil
je 0x140003358
call qword [sym.imp.ole32.dll_CoUninitialize]
nop dword [rax + rax]
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, 8
jb 0x140003373
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
call fcn.140007120
mov qword [rbp - 0x58], r14
mov qword [rbp - 0x50], r15
mov word [rbp - 0x68], r14w
lea rcx, [rsp + 0x60]
call fcn.140002d24
mov eax, ebx
mov rcx, qword [rbp + 0x98]
xor rcx, rsp
call fcn.14000dfd0
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
lea rcx, [0x140030118]
call fcn.14000e4b0
cmp dword [0x140030118], 0xffffffff
jne 0x140002ffb
mov qword [0x1400300f8], r14
mov qword [0x140030100], r14
mov ecx, 0x60
call fcn.14000dff8
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [0x1400300f8], rax
mov qword [0x140030108], r14
mov qword [0x140030110], r14
mov ecx, 0x30
call fcn.14000dff8
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x140030108], rax
lea rcx, [0x14000fe30]
call fcn.14000e29c
nop
lea rcx, [0x140030118]
call fcn.14000e448
jmp 0x140002ffb