Function at 0x14005f460
Capabilities:
Get common file path

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x8e0
mov rax, qword [0x14030b930]
xor rax, rsp
mov qword [rsp + 0x8d0], rax
mov r15, r8
mov r14, rdx
mov qword [rsp + 0x50], rcx
call fcn.14001fe60
cmp dword [rax + 8], 3
jl 0x14005fa92
call fcn.14001fe60
mov rdi, rax
lea rcx, [rsp + 0x100]
call fcn.140018dc0
nop
mov qword [rsp + 0x278], 7
mov qword [rsp + 0x270], 5
movsd xmm0, qword [str.TRACE]
movsd qword [rsp + 0x260], xmm0
movzx eax, word [0x1402bfb20]
mov word [rsp + 0x268], ax
xor r12d, r12d
mov word [rsp + 0x26a], r12w
mov qword [rsp + 0x200], r12
mov r8d, r12d
mov qword [rsp + 0x210], r12
mov r9d, 7
mov qword [rsp + 0x218], r9
mov word [rsp + 0x200], r12w
mov ebx, r12d
cmp ebx, dword [rdi + 0x10]
jge 0x14005f5b9
cmp ebx, 0xa
jge 0x14005f5b9
mov rax, r9
sub rax, r8
lea rcx, [rsp + 0x200]
cmp rax, 2
jb 0x14005f588
lea rdx, [r8 + 2]
mov qword [rsp + 0x210], rdx
cmp r9, 8
cmovae rcx, qword [rsp + 0x200]
mov eax, dword [0x1402bfb10]
mov dword [rcx + r8*2], eax
mov word [rcx + rdx*2], r12w
inc ebx
mov r9, qword [rsp + 0x218]
mov r8, qword [rsp + 0x210]
jmp 0x14005f526
mov qword [rsp + 0x20], 2
lea r9, [0x1402bfb10]
mov edx, 2
call fcn.140020f80
inc ebx
mov r9, qword [rsp + 0x218]
mov r8, qword [rsp + 0x210]
jmp 0x14005f526
mov qword [rsp + 0x240], r12
mov qword [rsp + 0x250], r12
mov qword [rsp + 0x258], 7
mov word [rsp + 0x240], r12w
mov qword [rsp + 0x220], r12
mov qword [rsp + 0x230], r12
mov qword [rsp + 0x238], 7
mov word [rsp + 0x220], r12w
lea r8, [rsp + 0x220]
lea rdx, [rsp + 0x240]
mov rcx, rdi
call fcn.14001ffb0
lea rsi, [rsp + 0x200]
cmp qword [rsp + 0x218], 8
cmovae rsi, qword [rsp + 0x200]
mov edx, 0x2040
lea rcx, [rsp + 0xa0]
call fcn.140215384
mov rcx, qword [rsp + 0x110]
movsxd rdx, dword [rcx + 4]
lea rcx, [rsp + 0x110]
add rcx, rdx
mov edx, dword [rax + 8]
call qword [rax]
lea rdx, [rsp + 0x240]
cmp qword [rsp + 0x258], 8
cmovae rdx, qword [rsp + 0x240]
mov r8, qword [rsp + 0x250]
lea rcx, [rsp + 0x110]
call fcn.1400165e0
mov rbx, rax
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rsp + 0xb0]
call fcn.140215384
mov rdi, rax
lea rdx, [0x1402bf648]
mov rcx, rbx
call fcn.140016310
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov edx, dword [rdi + 8]
call qword [rdi]
mov edx, 6
lea rcx, [rsp + 0xc0]
call fcn.1402153ac
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call qword [rax]
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
mov eax, 0x30
mov word [rcx + rbx + 0x58], ax
lea edx, [rax - 0x2d]
lea rcx, [rsp + 0xd0]
call fcn.140215398
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call qword [rax]
lea rdx, [rsp + 0x220]
cmp qword [rsp + 0x238], 8
cmovae rdx, qword [rsp + 0x220]
mov r8, qword [rsp + 0x230]
mov rcx, rbx
call fcn.1400165e0
mov rbx, rax
mov edx, 5
lea rcx, [rsp + 0xe0]
call fcn.1402153ac
mov rdi, rax
lea rdx, [0x1402bf648]
mov rcx, rbx
call fcn.140016310
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov rdx, qword [rdi + 8]
call qword [rdi]
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
mov eax, 0x20
mov word [rcx + rbx + 0x58], ax
lea edx, [rax + 0x20]
lea rcx, [rsp + 0xf0]
call fcn.140215384
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov edx, dword [rax + 8]
call qword [rax]
lea rdx, [rsp + 0x260]
cmp qword [rsp + 0x278], 8
cmovae rdx, qword [rsp + 0x260]
mov r8, qword [rsp + 0x270]
mov rcx, rbx
call fcn.1400165e0
lea rdx, [0x1402bfb40]
mov rcx, rax
call fcn.140016310
mov rdx, rsi
mov rcx, rax
call fcn.140016310
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x14031b04c], eax
jg 0x140060379
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x118]
call fcn.1400199b0
nop
mov rdx, qword [reloc.OLEAUT32.dll_VariantInit]
cmp rdx, 8
jb 0x14005f872
lea rdx, [rdx*2 + 2]
mov rcx, qword [0x14030c5e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005f86d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400603c7
call fcn.140004104
movups xmm0, xmmword [rsp + 0x280]
movups xmmword [0x14030c5e0], xmm0
movups xmm1, xmmword [rsp + 0x290]
movups xmmword [0x14030c5f0], xmm1
mov qword [rsp + 0x290], r12
mov qword [rsp + 0x298], 7
mov word [rsp + 0x280], r12w
mov rdx, qword [rsp + 0x238]
cmp rdx, 8
jb 0x14005f8f5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x220]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005f8f0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400603cd
call fcn.140004104
mov qword [rsp + 0x230], r12
mov qword [rsp + 0x238], 7
mov word [rsp + 0x220], r12w
mov rdx, qword [rsp + 0x258]
cmp rdx, 8
jb 0x14005f95a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x240]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005f955
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400603d3
call fcn.140004104
mov qword [rsp + 0x250], r12
mov qword [rsp + 0x258], 7
mov word [rsp + 0x240], r12w
mov rdx, qword [rsp + 0x218]
cmp rdx, 8
jb 0x14005f9bf
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x200]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005f9ba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400603d9
call fcn.140004104
mov qword [rsp + 0x210], r12
mov qword [rsp + 0x218], 7
mov word [rsp + 0x200], r12w
mov rdx, qword [rsp + 0x278]
cmp rdx, 8
jb 0x14005fa24
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x260]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005fa1f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400603df
call fcn.140004104
mov qword [rsp + 0x270], r12
mov qword [rsp + 0x278], 7
mov word [rsp + 0x260], r12w
lea rcx, [rsp + 0x100]
call fcn.140018ca0
call fcn.14001fe60
lea rdx, [0x14030c5e0]
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
cmovae rdx, qword [0x14030c5e0]
mov r8, qword [0x14030c5f0]
mov rcx, rax
call fcn.1400165e0
lea rdx, str.Here_1
mov rcx, rax
call fcn.140016310
mov rcx, rax
call fcn.1400174d0
jmp 0x14005fa95
xor r12d, r12d
mov rdx, r14
lea rcx, [rsp + 0x70]
call fcn.140061190
nop
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x1400603e5
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
lea rdx, str.ven_
mov rsi, 0xffffffffffffffff
mov rax, rsi
inc rax
cmp word [rdx + rax*2], 0
jne 0x14005fad4
mov r8d, eax
lea rcx, [rsp + 0x40]
call fcn.140002a88
lea rcx, [rsp + 0x70]
call fcn.140062650
mov rdx, rax
test rax, rax
jne 0x14005fb02
mov eax, r12d
jmp 0x14005fb0f
mov rax, rsi
inc rax
cmp word [rdx + rax*2], 0
jne 0x14005fb05
mov r8d, eax
lea rcx, [rsp + 0x40]
call fcn.140005a94
lea rdx, str.dev_
mov rax, rsi
inc rax
cmp word [rdx + rax*2], 0
jne 0x14005fb26
mov r8d, eax
lea rcx, [rsp + 0x40]
call fcn.140005a94
lea rcx, [rsp + 0x70]
call fcn.140062850
mov rdx, rax
test rax, rax
jne 0x14005fb54
mov eax, r12d
jmp 0x14005fb6a
mov rax, rsi
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x14005fb60
mov r8d, eax
lea rcx, [rsp + 0x40]
call fcn.140005a94
mov edx, 0x1f4
lea rcx, [rsp + 0x4b0]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
test eax, eax
jne 0x14005fbdc
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14005fbad
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rax, vtable.srl::DeviceID.0
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x14005fbd5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov al, 1
jmp 0x140060356
lea rcx, [rsp + 0x4b0]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
cmp word [rsp + rcx*2 + 0x4ae], 0x5c
je 0x14005fc0d
lea rdx, [0x1402c1604]
lea rcx, [rsp + 0x4b0]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, str.inf_
lea rcx, [rsp + 0x4b0]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x1400603f0
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x4b0]
cmp rax, 0x10000
jae 0x14005fc69
lea rax, [rsp + 0x4b0]
movzx edx, ax
lea rcx, [rsp + 0x48]
call fcn.140010c90
jmp 0x14005fc94
lea rcx, [rsp + 0x4b0]
mov rax, rsi
inc rax
cmp word [rcx + rax*2], 0
jne 0x14005fc74
mov r8d, eax
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x48]
call fcn.140002a88
nop
test r15, r15
jne 0x14005fc9e
mov eax, r12d
jmp 0x14005fcac
mov rax, rsi
inc rax
cmp word [r15 + rax*2], 0
jne 0x14005fca1
mov r8d, eax
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.140005a94
lea r9, [rsp + 0x98]
xor edx, edx
lea r8d, [rdx + 2]
mov rdi, qword [rsp + 0x48]
mov rcx, rdi
mov r14, qword [rsp + 0x50]
call qword [r14 + VarBstrFromDisp]
mov r13, rax
call fcn.14001fe60
cmp dword [rax + 8], 3
jl 0x14005fd33
call fcn.14001fe60
mov edx, 3
mov rcx, rax
call fcn.1400202f0
mov rbx, rax
call fcn.14001fe60
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x14005fd10
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, rax
call fcn.1400165e0
lea rdx, str.Here_2
mov rcx, rax
call fcn.140016310
mov rcx, rax
call fcn.1400174d0
cmp r13, 0xffffffffffffffff
jne 0x14005fda1
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14005fd53
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14005fd72
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rax, vtable.srl::DeviceID.0
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x14005fd9a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov al, 1
jmp 0x140060356
lea r9, [rsp + 0x58]
xor r8d, r8d
lea rdx, str.Manufacturer
mov rcx, r13
call qword [r14 + 0x58]
test eax, eax
jne 0x14005fe03
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14005fdd5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x14005fdf2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x70]
call fcn.140061220
mov al, 1
jmp 0x140060356
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x1f4
lea rax, [rsp + 0x2a0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x58]
call qword [r14 + 0x68]
test eax, eax
jne 0x14005fe7a
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14005fe4c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x14005fe69
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x70]
call fcn.140061220
mov al, 1
jmp 0x140060356
lea r9, [rsp + 0x58]
xor r8d, r8d
lea rdx, [rsp + 0x2a0]
mov rcx, r13
call qword [r14 + 0x58]
test eax, eax
jne 0x14005ff6a
lea rdx, [0x1402c4a10]
lea rcx, [rsp + 0x2a0]
call fcn.140216d00
mov r8, rax
mov edx, 0x104
lea rcx, [rsp + 0x6c0]
call fcn.140227200
lea rax, [rsp + 0x6c0]
mov rdx, rsi
nop dword [rax]
inc rdx
cmp word [rax + rdx*2], 0
jne 0x14005fed0
lea rcx, [rsp + 0x2a0]
mov rax, rsi
inc rax
cmp word [rcx + rax*2], 0
jne 0x14005fee5
sub rax, rdx
mov ecx, 0x2e
mov word [rsp + rax*2 + 0x2a0], cx
lea r9, [rsp + 0x58]
xor r8d, r8d
lea rdx, [rsp + 0x2a0]
mov rcx, r13
call qword [r14 + 0x58]
test eax, eax
jne 0x14005ff6a
mov rcx, r13
call qword [r14 + 0x78]
nop
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14005ff3c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x14005ff59
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x70]
call fcn.140061220
mov al, 1
jmp 0x140060356
call fcn.14001fe60
cmp dword [rax + 8], 3
jl 0x14005ffbf
call fcn.14001fe60
mov edx, 3
mov rcx, rax
call fcn.1400202f0
mov rbx, rax
call fcn.14001fe60
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x14005ff9c
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, rax
call fcn.1400165e0
lea rdx, str.Here_3
mov rcx, rax
call fcn.140016310
mov rcx, rax
call fcn.1400174d0
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x1f4
lea rax, [rsp + 0x2a0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x58]
call qword [r14 + 0x68]
mov rbx, qword [rsp + 0x40]
nop
test eax, eax
je 0x14006030a
call fcn.14001fe60
cmp dword [rax + 8], 3
jl 0x14006004d
call fcn.14001fe60
mov edx, 3
mov rcx, rax
call fcn.1400202f0
mov r14, rax
call fcn.14001fe60
mov rdx, r14
cmp qword [r14 + 0x18], 8
jb 0x14006002a
mov rdx, qword [r14]
mov r8, qword [r14 + 0x10]
mov rcx, rax
call fcn.1400165e0
lea rdx, str.Here_4
mov rcx, rax
call fcn.140016310
mov rcx, rax
call fcn.1400174d0
mov edx, 0x104
lea rcx, [rsp + 0x2a0]
call fcn.14021f1ec
lea rdx, [0x1402c4a38]
lea rcx, [rsp + 0x2a0]
call fcn.140216d00
mov r15, rax
call fcn.14001fe60
cmp dword [rax + 8], 3
jl 0x1400600d6
call fcn.14001fe60
mov edx, 3
mov rcx, rax
call fcn.1400202f0
mov r14, rax
call fcn.14001fe60
mov rdx, r14
cmp qword [r14 + 0x18], 8
jb 0x1400600a8
mov rdx, qword [r14]
mov r8, qword [r14 + 0x10]
mov rcx, rax
call fcn.1400165e0
lea rdx, str.Compare_1:
mov rcx, rax
call fcn.140014d10
mov rdx, r15
mov rcx, rax
call fcn.140016310
mov rcx, rax
call fcn.1400174d0
call fcn.14001fe60
cmp dword [rax + 8], 3
jl 0x140060136
call fcn.14001fe60
mov edx, 3
mov rcx, rax
call fcn.1400202f0
mov r14, rax
call fcn.14001fe60
mov rdx, r14
cmp qword [r14 + 0x18], 8
jb 0x140060108
mov rdx, qword [r14]
mov r8, qword [r14 + 0x10]
mov rcx, rax
call fcn.1400165e0
lea rdx, str.Compare_2:
mov rcx, rax
call fcn.140014d10
mov rdx, rbx
mov rcx, rax
call fcn.140016310
mov rcx, rax
call fcn.1400174d0
test r15, r15
je 0x1400602c3
mov r8, rsi
inc r8
cmp word [rbx + r8*2], 0
jne 0x140060142
mov rdx, rbx
mov rcx, r15
call fcn.140227068
test eax, eax
jne 0x1400602c3
mov rcx, r13
mov rax, qword [rsp + 0x50]
call qword [rax + 0x78]
mov rax, rsi
nop
lea rax, [rax + 1]
cmp word [rbx + rax*2], 0
jne 0x140060170
cmp word [r15 + rax*2], 0
je 0x140060225
call fcn.14001fe60
cmp dword [rax + 8], 3
jl 0x1400601dd
call fcn.14001fe60
mov edx, 3
mov rcx, rax
call fcn.1400202f0
mov rbx, rax
call fcn.14001fe60
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1400601b9
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, rax
call fcn.1400165e0
lea rdx, str.Got_4ID
mov rcx, rax
call fcn.140016310
mov rcx, rax
call fcn.1400174d0
nop
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400601f7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x140060214
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x70]
call fcn.140061220
xor al, al
jmp 0x140060356
call fcn.14001fe60
cmp dword [rax + 8], 3
jl 0x14006027b
call fcn.14001fe60
mov edx, 3
mov rcx, rax
call fcn.1400202f0
mov rbx, rax
call fcn.14001fe60
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x140060257
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, rax
call fcn.1400165e0
lea rdx, str.Got_2ID
mov rcx, rax
call fcn.140016310
mov rcx, rax
call fcn.1400174d0
nop
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140060295
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x1400602b2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x70]
call fcn.140061220
mov al, 1
jmp 0x140060356
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x58]
mov r14, qword [rsp + 0x50]
call qword [r14 + 0x60]
test eax, eax
je 0x14006030a
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x1f4
lea rax, [rsp + 0x2a0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x58]
call qword [r14 + 0x68]
jmp 0x14005fff0
mov rcx, r13
call qword [r14 + 0x78]
nop
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14006032c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x140060349
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x70]
call fcn.140061220
nop
mov al, 1
mov rcx, qword [rsp + 0x8d0]
xor rcx, rsp
call fcn.140212a70
add rsp, 0x8e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
lea rcx, [0x14031b04c]
call fcn.140212e94
cmp dword [0x14031b04c], 0xffffffff
jne 0x14005f816
mov qword [0x14030c5e0], r12
movdqa xmm0, xmmword [0x1402c6510]
movdqu xmmword [0x14030c5f0], xmm0
lea rcx, [0x14025f1b0]
call fcn.140212cc8
lea rcx, [0x14031b04c]
call fcn.140212e34
nop
jmp 0x14005f816
call fcn.14021b87c
nop
call fcn.14021b87c
nop
call fcn.14021b87c
nop
call fcn.14021b87c
nop
call fcn.14021b87c
nop
mov ecx, 0x80004005
call fcn.140002d08
nop
mov ecx, 0x80004005
call fcn.140002d08
int3