Function at 0x140001a70
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
push rdi
sub rsp, 0x340
xor edi, edi
lea rax, [rax + 0x20]
mov rsi, r8
mov qword [rax], rdi
mov rbx, rdx
lea r9, [0x140051790]
lea r8d, [rdi + 0x15]
lea rcx, [0x1400517f0]
xor edx, edx
mov qword [rsp + 0x20], rax
call qword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, edi
jl 0x140001f06
cmp qword [rsp + 0x368], rdi
je 0x140001f06
lea rcx, [rsp + 0x30]
xor edx, edx
mov r8d, 0x310
call fcn.1400208e0
cmp byte [0x140067e30], 1
mov byte [rsp + 0x48], dil
jne 0x140001af3
or dword [rsp + 0x4c], 0x20
mov byte [0x140067e30], dil
mov eax, dword [rbx]
mov ecx, dword [rbx + 0x1c0]
mov dword [rsp + 0x70], eax
movzx eax, word [rbx + 4]
mov dword [rsp + 0x68], ecx
mov word [rsp + 0x8c], ax
movzx eax, word [rbx + 8]
mov word [rsp + 0x8e], ax
movzx eax, word [rbx + 0x10]
mov word [rsp + 0x92], ax
movzx eax, word [rbx + 0xc]
mov word [rsp + 0x90], ax
cmp dword [rbx + 0x34], edi
je 0x140001b44
movzx eax, word [rbx + 0x34]
mov word [rsp + 0x9c], ax
mov eax, dword [rbx + 0x18]
mov dword [rsp + 0x17c], eax
mov eax, dword [rbx + 0x14]
mov dword [rsp + 0x18c], eax
mov eax, dword [rbx + 0x38]
mov dword [rsp + 0x19c], eax
mov eax, dword [rbx + 0x3c]
mov dword [rsp + 0x1ac], eax
cmp ecx, 1
je 0x140001bfd
mov eax, dword [rbx + 0x70]
mov dword [rsp + 0xb4], eax
movzx eax, word [rbx + 0x74]
mov word [rsp + 0xd0], ax
movzx eax, word [rbx + 0x78]
mov word [rsp + 0xd2], ax
movzx eax, word [rbx + 0x80]
mov word [rsp + 0xd6], ax
movzx eax, word [rbx + 0x7c]
mov word [rsp + 0xd4], ax
cmp dword [rbx + 0xa4], edi
je 0x140001bc9
movzx eax, word [rbx + 0xa4]
mov word [rsp + 0xe0], ax
mov eax, dword [rbx + 0x88]
mov dword [rsp + 0x180], eax
mov eax, dword [rbx + 0x84]
mov dword [rsp + 0x190], eax
mov eax, dword [rbx + 0xa8]
mov dword [rsp + 0x1a0], eax
mov eax, dword [rbx + 0xac]
mov dword [rsp + 0x1b0], eax
cmp ecx, 0x10
je 0x140001c10
cmp ecx, 0x40
je 0x140001c10
cmp ecx, 0x20
jne 0x140001ca4
mov eax, dword [rbx + 0xe0]
mov dword [rsp + 0xf8], eax
movzx eax, word [rbx + 0xe4]
mov word [rsp + 0x114], ax
movzx eax, word [rbx + 0xe8]
mov word [rsp + 0x116], ax
movzx eax, word [rbx + 0xf0]
mov word [rsp + 0x11a], ax
movzx eax, word [rbx + 0xec]
mov word [rsp + 0x118], ax
cmp dword [rbx + 0x114], edi
je 0x140001c70
movzx eax, word [rbx + 0x114]
mov word [rsp + 0x124], ax
mov eax, dword [rbx + 0xf8]
mov dword [rsp + 0x184], eax
mov eax, dword [rbx + 0xf4]
mov dword [rsp + 0x194], eax
mov eax, dword [rbx + 0x118]
mov dword [rsp + 0x1a4], eax
mov eax, dword [rbx + 0x11c]
mov dword [rsp + 0x1b4], eax
cmp ecx, 0x40
jne 0x140001d41
mov eax, dword [rbx + 0x150]
mov dword [rsp + 0x13c], eax
movzx eax, word [rbx + 0x154]
mov word [rsp + 0x158], ax
movzx eax, word [rbx + 0x158]
mov word [rsp + 0x15a], ax
movzx eax, word [rbx + 0x160]
mov word [rsp + 0x15e], ax
movzx eax, word [rbx + 0x15c]
mov word [rsp + 0x15c], ax
cmp dword [rbx + 0x184], edi
je 0x140001d0d
movzx eax, word [rbx + 0x184]
mov word [rsp + 0x168], ax
mov eax, dword [rbx + 0x168]
mov dword [rsp + 0x188], eax
mov eax, dword [rbx + 0x164]
mov dword [rsp + 0x198], eax
mov eax, dword [rbx + 0x188]
mov dword [rsp + 0x1a8], eax
mov eax, dword [rbx + 0x18c]
mov dword [rsp + 0x1b8], eax
mov rcx, qword [rsp + 0x368]
lea r8, [rsp + 0x30]
mov edx, 0x310
mov rax, qword [rcx]
call qword [rax + 0x58]
cmp eax, edi
jl 0x140001ef8
cmp byte [rsp + 0x30], dil
jne 0x140001ef8
mov edx, dword [rsp + 0x4c]
test dl, 4
je 0x140001ef6
mov eax, dword [rsp + 0x1e8]
mov ecx, dword [rsp + 0x1e0]
mov dword [rbx], eax
movzx eax, word [rsp + 0x204]
mov dword [rbx + 0x1c0], ecx
mov dword [rbx + 4], eax
movzx eax, word [rsp + 0x206]
mov dword [rbx + 8], eax
movzx eax, word [rsp + 0x20a]
mov dword [rbx + 0x10], eax
movzx eax, word [rsp + 0x208]
mov dword [rbx + 0xc], eax
cmp word [rsp + 0x214], di
je 0x140001dd0
movzx eax, word [rsp + 0x214]
mov dword [rbx + 0x34], eax
cmp ecx, 1
je 0x140001e26
mov eax, dword [rsp + 0x22c]
mov dword [rbx + 0x70], eax
movzx eax, word [rsp + 0x248]
mov dword [rbx + 0x74], eax
movzx eax, word [rsp + 0x24a]
mov dword [rbx + 0x78], eax
movzx eax, word [rsp + 0x24e]
mov dword [rbx + 0x80], eax
movzx eax, word [rsp + 0x24c]
mov dword [rbx + 0x7c], eax
cmp word [rsp + 0x258], di
je 0x140001e26
movzx eax, word [rsp + 0x258]
mov dword [rbx + 0xa4], eax
cmp ecx, 0x10
je 0x140001e34
cmp ecx, 0x40
jne 0x140001ef3
mov eax, dword [rsp + 0x270]
mov dword [rbx + 0xe0], eax
movzx eax, word [rsp + 0x28c]
mov dword [rbx + 0xe4], eax
movzx eax, word [rsp + 0x28e]
mov dword [rbx + 0xe8], eax
movzx eax, word [rsp + 0x292]
mov dword [rbx + 0xf0], eax
movzx eax, word [rsp + 0x290]
mov dword [rbx + 0xec], eax
cmp word [rsp + 0x29c], di
je 0x140001e91
movzx eax, word [rsp + 0x29c]
mov dword [rbx + 0x114], eax
cmp ecx, 0x40
jne 0x140001ef3
mov eax, dword [rsp + 0x2b4]
mov dword [rbx + 0x150], eax
movzx eax, word [rsp + 0x2d0]
mov dword [rbx + 0x154], eax
movzx eax, word [rsp + 0x2d2]
mov dword [rbx + 0x158], eax
movzx eax, word [rsp + 0x2d6]
mov dword [rbx + 0x160], eax
movzx eax, word [rsp + 0x2d4]
mov dword [rbx + 0x15c], eax
cmp word [rsp + 0x2e0], di
je 0x140001ef3
movzx eax, word [rsp + 0x2e0]
mov dword [rbx + 0x184], eax
mov dil, 1
mov dword [rsi], edx
mov rcx, qword [rsp + 0x368]
mov rdx, qword [rcx]
call qword [rdx + 0x10]
lea r11, [rsp + 0x340]
mov al, dil
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret