Function at 0x140060a00
Capabilities:
Check for time delay via gettickcount
Get common file path

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd60
movaps xmmword [rsp + 0xd50], xmm6
mov rax, qword [0x14031a940]
xor rax, rsp
mov qword [rsp + 0xd40], rax
mov r14, r8
mov rsi, rdx
mov rbx, rcx
mov qword [rsp + 0x80], rcx
xor r12d, r12d
call fcn.1400210a0
cmp dword [rax + 8], 3
jl 0x140061163
call fcn.1400210a0
mov rdi, rax
lea rcx, [rsp + 0x160]
call fcn.1400194c0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x5e0], xmm0
mov qword [rsp + 0x5f0], r12
mov qword [rsp + 0x5f8], 7
mov word [rsp + 0x5e0], r12w
lea rdx, str.TRACE
lea rcx, [rsp + 0x5e0]
call fcn.140018440
xorps xmm0, xmm0
movups xmmword [rsp + 0x580], xmm0
mov edx, r12d
mov qword [rsp + 0x590], rdx
mov r8d, 7
mov qword [rsp + 0x598], r8
mov word [rsp + 0x580], r12w
mov ebx, r12d
cmp ebx, dword [rdi + 0x10]
jge 0x140060b65
cmp ebx, 0xa
jge 0x140060b65
mov rax, r8
sub rax, rdx
lea rcx, [rsp + 0x580]
cmp rax, 2
jb 0x140060b34
lea rax, [rdx + 2]
mov qword [rsp + 0x590], rax
cmp r8, 8
cmovae rcx, qword [rsp + 0x580]
mov eax, dword [0x1402cca20]
mov dword [rcx + rdx*2], eax
mov word [rcx + rdx*2 + 4], r12w
inc ebx
mov r8, qword [rsp + 0x598]
mov rdx, qword [rsp + 0x590]
jmp 0x140060ad2
mov qword [rsp + 0x20], 2
lea r9, [0x1402cca20]
mov edx, 2
call fcn.140022090
inc ebx
mov r8, qword [rsp + 0x598]
mov rdx, qword [rsp + 0x590]
jmp 0x140060ad2
xorps xmm0, xmm0
movups xmmword [rsp + 0x640], xmm0
mov qword [rsp + 0x650], r12
mov qword [rsp + 0x658], 7
mov word [rsp + 0x640], r12w
movups xmmword [rsp + 0x5a0], xmm0
mov qword [rsp + 0x5b0], r12
mov qword [rsp + 0x5b8], 7
mov word [rsp + 0x5a0], r12w
call fcn.14023116c
mov edx, VariantTimeToDosDateTime
lea rcx, [rsp + 0x6f8]
call fcn.1402312bc
lea rdx, [rsp + 0x6f8]
lea rcx, [rsp + 0x640]
call fcn.140018440
lea rcx, [rsp + 0x360]
call fcn.1400194c0
nop
cmp dword [rdi + 0x14], 0
jne 0x140060c14
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rdi + 0x14], eax
xor edx, edx
lea rcx, [rsp + 0x370]
call fcn.140012fa0
movsd xmm6, qword [0x1402d3510]
jmp 0x140060c3e
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [rdi + 0x14]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
movsd xmm6, qword [0x1402d3510]
divsd xmm1, xmm6
lea rcx, [rsp + 0x370]
call fcn.140021a80
lea rdx, [rsp + 0x660]
lea rcx, [rsp + 0x378]
call fcn.14001a0c0
nop
mov rdx, qword [rsp + 0x5b8]
cmp rdx, 8
jb 0x140060c9c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x5a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140060c97
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140062167
call fcn.140004144
movups xmm0, xmmword [rsp + 0x660]
movups xmmword [rsp + 0x5a0], xmm0
movups xmm1, xmmword [rsp + 0x670]
movups xmmword [rsp + 0x5b0], xmm1
movdqa xmm0, xmmword [0x1402d3560]
movdqu xmmword [rsp + 0x670], xmm0
mov word [rsp + 0x660], r12w
lea rcx, [rsp + 0x360]
call fcn.1400193b0
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rsp + 0xa0]
call fcn.140222e78
mov rdi, rax
mov edx, 0x2040
lea rcx, [rsp + 0xb0]
call fcn.140222e78
mov rcx, qword [rsp + 0x170]
movsxd rdx, dword [rcx + 4]
lea rcx, [rsp + 0x170]
add rcx, rdx
mov edx, dword [rax + 8]
call qword [rax]
lea rdx, [rsp + 0x640]
cmp qword [rsp + 0x658], 8
cmovae rdx, qword [rsp + 0x640]
mov r8, qword [rsp + 0x650]
lea rcx, [rsp + 0x170]
call fcn.140016ce0
lea rdx, [0x1402cc558]
mov rcx, rax
call fcn.140016a20
mov rbx, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rbx
mov edx, dword [rdi + 8]
call qword [rdi]
mov edx, 6
lea rcx, [rsp + 0xc0]
call fcn.140222ea0
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 word [rcx + rbx + 0x58], 0x30
mov edx, 3
lea rcx, [rsp + 0xd0]
call fcn.140222e8c
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call qword [rax]
lea rdx, [rsp + 0x5a0]
cmp qword [rsp + 0x5b8], 8
cmovae rdx, qword [rsp + 0x5a0]
mov r8, qword [rsp + 0x5b0]
mov rcx, rbx
call fcn.140016ce0
mov rbx, rax
mov edx, 5
lea rcx, [rsp + 0xe0]
call fcn.140222ea0
mov rdi, rax
lea rdx, [0x1402cc558]
mov rcx, rbx
call fcn.140016a20
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 word [rcx + rbx + 0x58], 0x20
mov edx, 0x40
lea rcx, [rsp + 0xf0]
call fcn.140222e78
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov edx, dword [rax + 8]
call qword [rax]
lea rdx, [rsp + 0x5e0]
cmp qword [rsp + 0x5f8], 8
cmovae rdx, qword [rsp + 0x5e0]
mov r8, qword [rsp + 0x5f0]
mov rcx, rbx
call fcn.140016ce0
lea rbx, [rsp + 0x580]
cmp qword [rsp + 0x598], 8
cmovae rbx, qword [rsp + 0x580]
lea rdx, [0x1402cca70]
mov rcx, rax
call fcn.140016a20
mov rdx, rbx
mov rcx, rax
call fcn.140016a20
mov r13d, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [r13 + rcx]
cmp dword [0x14032a09c], eax
jg 0x14006216d
xor r12d, r12d
lea rdx, [rsp + 0x680]
lea rcx, [rsp + 0x178]
call fcn.14001a0c0
nop
mov rdx, qword [reloc.OLEAUT32.dll_VariantInit]
cmp rdx, 8
jb 0x140060f3b
lea rdx, [rdx*2 + 2]
mov rcx, qword [0x14031b5e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140060f36
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400621c8
call fcn.140004144
movups xmm0, xmmword [rsp + 0x680]
movups xmmword [0x14031b5e0], xmm0
movups xmm1, xmmword [rsp + 0x690]
movups xmmword [0x14031b5f0], xmm1
movdqa xmm0, xmmword [0x1402d3560]
movdqu xmmword [rsp + 0x690], xmm0
mov word [rsp + 0x680], r12w
mov rdx, qword [rsp + 0x5b8]
cmp rdx, 8
jb 0x140060fbb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x5a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140060fb6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400621ce
call fcn.140004144
mov qword [rsp + 0x5b0], r12
mov qword [rsp + 0x5b8], 7
mov word [rsp + 0x5a0], r12w
mov rdx, qword [rsp + 0x658]
cmp rdx, 8
jb 0x140061020
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x640]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006101b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400621d4
call fcn.140004144
mov qword [rsp + 0x650], r12
mov qword [rsp + 0x658], 7
mov word [rsp + 0x640], r12w
mov rdx, qword [rsp + 0x598]
cmp rdx, 8
jb 0x140061085
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x580]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140061080
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400621da
call fcn.140004144
mov qword [rsp + 0x590], r12
mov qword [rsp + 0x598], 7
mov word [rsp + 0x580], r12w
mov rdx, qword [rsp + 0x5f8]
cmp rdx, 8
jb 0x1400610ea
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x5e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400610e5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400621e0
call fcn.140004144
mov qword [rsp + 0x5f0], r12
mov qword [rsp + 0x5f8], 7
mov word [rsp + 0x5e0], r12w
lea rcx, [rsp + 0x160]
call fcn.1400193b0
call fcn.1400210a0
lea r15, [0x14031b5e0]
mov rdx, r15
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
cmovae rdx, qword [0x14031b5e0]
mov r8, qword [0x14031b5f0]
mov rcx, rax
call fcn.140016ce0
lea rdx, str.Here_1
mov rcx, rax
call fcn.140016a20
mov rcx, rax
call fcn.140017c00
mov rbx, qword [rsp + 0x80]
jmp 0x140061178
mov r13d, 4
lea r15, [0x14031b5e0]
movsd xmm6, qword [0x1402d3510]
lea rax, vtable.srl::DeviceID.0
mov qword [rsp + 0x58], rax
call fcn.140010254
mov rcx, rax
test rax, rax
je 0x1400621e6
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
lea rdx, [rsi + 8]
lea rcx, [rsp + 0x60]
call fcn.140002bcc
mov eax, dword [rsi + 0x10]
mov dword [rsp + 0x68], eax
mov eax, dword [rsi + 0x14]
mov dword [rsp + 0x6c], eax
mov eax, dword [rsi + 0x18]
mov dword [rsp + 0x70], eax
mov eax, dword [rsi + 0x1c]
mov dword [rsp + 0x74], eax
mov eax, dword [rsi + 0x20]
mov dword [rsp + 0x78], eax
call fcn.140010254
mov rcx, rax
test rax, rax
je 0x1400621f1
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
lea rdx, str.ven_
mov rsi, 0xffffffffffffffff
mov r8, rsi
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x140061210
lea rcx, [rsp + 0x40]
call fcn.140002a9c
lea rcx, [rsp + 0x58]
call fcn.1400641a0
test rax, rax
jne 0x140061239
mov r8d, r12d
jmp 0x14006124b
mov r8, rsi
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140061240
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140005af4
lea rdx, str.dev_
mov r8, rsi
inc r8
cmp word [rdx + r8*2], 0
jne 0x140061262
lea rcx, [rsp + 0x40]
call fcn.140005af4
lea rcx, [rsp + 0x58]
call fcn.1400643a0
test rax, rax
jne 0x14006128b
mov r8d, r12d
jmp 0x14006129b
mov r8, rsi
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x140061290
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140005af4
mov edx, 0x1f4
lea rcx, [rsp + 0x920]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
test eax, eax
jne 0x140061301
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400612de
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x1400612fa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov al, 1
jmp 0x14006213c
lea rcx, [rsp + 0x920]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
cmp word [rsp + rcx*2 + 0x91e], 0x5c
je 0x140061332
lea rdx, [0x1402ce1cc]
lea rcx, [rsp + 0x920]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, str.inf_
lea rcx, [rsp + 0x920]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
call fcn.140010254
mov rcx, rax
test rax, rax
je 0x1400621fc
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x920]
cmp rax, 0x10000
lea rax, [rsp + 0x920]
jae 0x14006138e
movzx edx, ax
lea rcx, [rsp + 0x48]
call fcn.140010ab0
jmp 0x1400613af
mov r8, rsi
inc r8
cmp word [rax + r8*2], 0
jne 0x140061391
lea rdx, [rsp + 0x920]
lea rcx, [rsp + 0x48]
call fcn.140002a9c
nop
test r14, r14
jne 0x1400613b9
mov r8d, r12d
jmp 0x1400613cb
mov r8, rsi
nop dword [rax]
inc r8
cmp word [r14 + r8*2], 0
jne 0x1400613c0
mov rdx, r14
lea rcx, [rsp + 0x48]
call fcn.140005af4
lea r9, [rsp + 0x50]
xor edx, edx
lea r8d, [rdx + 2]
mov rdi, qword [rsp + 0x48]
mov rcx, rdi
call qword [rbx + VarBstrFromDisp]
mov r12, rax
call fcn.1400210a0
cmp dword [rax + 8], 3
jl 0x140061afe
call fcn.1400210a0
mov r14, rax
lea rcx, [rsp + 0x260]
call fcn.1400194c0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x620], xmm0
xor eax, eax
mov qword [rsp + 0x630], rax
mov qword [rsp + 0x638], 7
mov word [rsp + 0x620], ax
lea rdx, str.TRACE
lea rcx, [rsp + 0x620]
call fcn.140018440
xorps xmm0, xmm0
movups xmmword [rsp + 0x560], xmm0
xor r9d, r9d
mov edx, r9d
mov qword [rsp + 0x570], rdx
mov r8d, 7
mov qword [rsp + 0x578], r8
mov word [rsp + 0x560], r9w
mov ebx, r9d
cmp ebx, dword [r14 + 0x10]
jge 0x14006151d
cmp ebx, 0xa
jge 0x14006151d
mov rax, r8
sub rax, rdx
lea rcx, [rsp + 0x560]
cmp rax, 2
jb 0x1400614e9
lea rax, [rdx + 2]
mov qword [rsp + 0x570], rax
cmp r8, 8
cmovae rcx, qword [rsp + 0x560]
mov eax, dword [0x1402cca20]
mov dword [rcx + rdx*2], eax
mov word [rcx + rdx*2 + 4], r9w
inc ebx
mov r8, qword [rsp + 0x578]
mov rdx, qword [rsp + 0x570]
jmp 0x140061486
mov qword [rsp + 0x20], 2
lea r9, [0x1402cca20]
mov edx, 2
call fcn.140022090
xor r9d, r9d
inc ebx
mov r8, qword [rsp + 0x578]
mov rdx, qword [rsp + 0x570]
jmp 0x140061486
xorps xmm0, xmm0
movups xmmword [rsp + 0x600], xmm0
mov qword [rsp + 0x610], r9
mov qword [rsp + 0x618], 7
mov word [rsp + 0x600], r9w
movups xmmword [rsp + 0x5c0], xmm0
mov qword [rsp + 0x5d0], r9
mov qword [rsp + 0x5d8], 7
mov word [rsp + 0x5c0], r9w
call fcn.14023116c
mov edx, VariantTimeToDosDateTime
lea rcx, [rsp + 0x6e0]
call fcn.1402312bc
lea rdx, [rsp + 0x6e0]
lea rcx, [rsp + 0x600]
call fcn.140018440
lea rcx, [rsp + 0x460]
call fcn.1400194c0
nop
cmp dword [r14 + 0x14], 0
jne 0x1400615c6
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [r14 + 0x14], eax
xor edx, edx
lea rcx, [rsp + 0x470]
call fcn.140012fa0
jmp 0x1400615e9
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [r14 + 0x14]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
divsd xmm1, xmm6
lea rcx, [rsp + 0x470]
call fcn.140021a80
lea rdx, [rsp + 0x6a0]
lea rcx, [rsp + 0x478]
call fcn.14001a0c0
nop
mov rdx, qword [rsp + 0x5d8]
cmp rdx, 8
jb 0x140061647
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x5c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140061642
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140062207
call fcn.140004144
movups xmm0, xmmword [rsp + 0x6a0]
movups xmmword [rsp + 0x5c0], xmm0
movups xmm1, xmmword [rsp + 0x6b0]
movups xmmword [rsp + 0x5d0], xmm1
movdqa xmm0, xmmword [0x1402d3560]
movdqu xmmword [rsp + 0x6b0], xmm0
xor eax, eax
mov word [rsp + 0x6a0], ax
lea rcx, [rsp + 0x460]
call fcn.1400193b0
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rsp + 0x100]
call fcn.140222e78
mov r14, rax
mov edx, 0x2040
lea rcx, [rsp + 0x110]
call fcn.140222e78
mov rcx, qword [rsp + 0x270]
movsxd rdx, dword [rcx + 4]
lea rcx, [rsp + 0x270]
add rcx, rdx
mov edx, dword [rax + 8]
call qword [rax]
lea rdx, [rsp + 0x600]
cmp qword [rsp + 0x618], 8
cmovae rdx, qword [rsp + 0x600]
mov r8, qword [rsp + 0x610]
lea rcx, [rsp + 0x270]
call fcn.140016ce0
lea rdx, [0x1402cc558]
mov rcx, rax
call fcn.140016a20
mov rbx, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rbx
mov edx, dword [r14 + 8]
call qword [r14]
mov edx, 6
lea rcx, [rsp + 0x120]
call fcn.140222ea0
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 word [rcx + rbx + 0x58], 0x30
mov edx, 3
lea rcx, [rsp + 0x130]
call fcn.140222e8c
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call qword [rax]
lea rdx, [rsp + 0x5c0]
cmp qword [rsp + 0x5d8], 8
cmovae rdx, qword [rsp + 0x5c0]
mov r8, qword [rsp + 0x5d0]
mov rcx, rbx
call fcn.140016ce0
mov rbx, rax
mov edx, 5
lea rcx, [rsp + 0x140]
call fcn.140222ea0
mov r14, rax
lea rdx, [0x1402cc558]
mov rcx, rbx
call fcn.140016a20
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov rdx, qword [r14 + 8]
call qword [r14]
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
mov word [rcx + rbx + 0x58], 0x20
mov edx, 0x40
lea rcx, [rsp + 0x150]
call fcn.140222e78
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov edx, dword [rax + 8]
call qword [rax]
lea rdx, [rsp + 0x620]
cmp qword [rsp + 0x638], 8
cmovae rdx, qword [rsp + 0x620]
mov r8, qword [rsp + 0x630]
mov rcx, rbx
call fcn.140016ce0
lea rbx, [rsp + 0x560]
cmp qword [rsp + 0x578], 8
cmovae rbx, qword [rsp + 0x560]
lea rdx, [0x1402cca70]
mov rcx, rax
call fcn.140016a20
mov rdx, rbx
mov rcx, rax
call fcn.140016a20
mov edx, r13d
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x14032a09c], eax
jg 0x14006220d
xor r14d, r14d
lea rdx, [rsp + 0x6c0]
lea rcx, [rsp + 0x278]
call fcn.14001a0c0
nop
mov rdx, qword [reloc.OLEAUT32.dll_VariantInit]
cmp rdx, 8
jb 0x1400618e5
lea rdx, [rdx*2 + 2]
mov rcx, qword [0x14031b5e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400618e0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140062268
call fcn.140004144
movups xmm0, xmmword [rsp + 0x6c0]
movups xmmword [0x14031b5e0], xmm0
movups xmm1, xmmword [rsp + 0x6d0]
movups xmmword [0x14031b5f0], xmm1
movdqa xmm0, xmmword [0x1402d3560]
movdqu xmmword [rsp + 0x6d0], xmm0
mov word [rsp + 0x6c0], r14w
mov rdx, qword [rsp + 0x5d8]
cmp rdx, 8
jb 0x140061965
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x5c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140061960
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006226e
call fcn.140004144
mov qword [rsp + 0x5d0], r14
mov qword [rsp + 0x5d8], 7
mov word [rsp + 0x5c0], r14w
mov rdx, qword [rsp + 0x618]
cmp rdx, 8
jb 0x1400619ca
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x600]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400619c5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140062274
call fcn.140004144
mov qword [rsp + 0x610], r14
mov qword [rsp + 0x618], 7
mov word [rsp + 0x600], r14w
mov rdx, qword [rsp + 0x578]
cmp rdx, 8
jb 0x140061a2f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x560]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140061a2a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006227a
call fcn.140004144
mov qword [rsp + 0x570], r14
mov qword [rsp + 0x578], 7
mov word [rsp + 0x560], r14w
mov rdx, qword [rsp + 0x638]
cmp rdx, 8
jb 0x140061a94
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x620]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140061a8f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140062280
call fcn.140004144
mov qword [rsp + 0x630], r14
mov qword [rsp + 0x638], 7
mov word [rsp + 0x620], r14w
lea rcx, [rsp + 0x260]
call fcn.1400193b0
call fcn.1400210a0
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
cmovae r15, qword [0x14031b5e0]
mov r8, qword [0x14031b5f0]
mov rdx, r15
mov rcx, rax
call fcn.140016ce0
lea rdx, str.Here_2
mov rcx, rax
call fcn.140016a20
mov rcx, rax
call fcn.140017c00
jmp 0x140061b01
xor r14d, r14d
cmp r12, 0xffffffffffffffff
jne 0x140061b63
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140061b21
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 0x140061b40
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x140061b5c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov al, 1
jmp 0x14006213c
lea r9, [rsp + 0x88]
xor r8d, r8d
lea rdx, str.Manufacturer
mov rcx, r12
mov r13, qword [rsp + 0x80]
call qword [r13 + 0x58]
test eax, eax
jne 0x140061bd0
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140061ba2
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 0x140061bbf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x58]
call fcn.140062c40
mov al, 1
jmp 0x14006213c
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x1f4
lea rax, [rsp + 0x710]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x88]
call qword [r13 + 0x68]
test eax, eax
jne 0x140061c4a
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140061c1c
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 0x140061c39
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x58]
call fcn.140062c40
mov al, 1
jmp 0x14006213c
lea r9, [rsp + 0x88]
xor r8d, r8d
lea rdx, [rsp + 0x710]
mov rcx, r12
call qword [r13 + 0x58]
test eax, eax
jne 0x140061d3d
lea rdx, [0x1402d18d0]
lea rcx, [rsp + 0x710]
call fcn.140224828
mov r8, rax
mov edx, 0x104
lea rcx, [rsp + 0xb30]
call fcn.140236ed4
lea rax, [rsp + 0xb30]
mov rdx, rsi
inc rdx
cmp word [rax + rdx*2], 0
jne 0x140061ca0
lea rcx, [rsp + 0x710]
mov rax, rsi
inc rax
cmp word [rcx + rax*2], 0
jne 0x140061cb5
sub rax, rdx
mov ecx, 0x2e
mov word [rsp + rax*2 + 0x710], cx
lea r9, [rsp + 0x88]
xor r8d, r8d
lea rdx, [rsp + 0x710]
mov rcx, r12
call qword [r13 + 0x58]
test eax, eax
jne 0x140061d3d
mov rcx, r12
call qword [r13 + 0x78]
nop
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140061d0f
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 0x140061d2c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x58]
call fcn.140062c40
mov al, 1
jmp 0x14006213c
call fcn.1400210a0
cmp dword [rax + 8], 3
jl 0x140061d92
call fcn.1400210a0
mov edx, 3
mov rcx, rax
call fcn.1400213a0
mov rbx, rax
call fcn.1400210a0
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x140061d6f
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, rax
call fcn.140016ce0
lea rdx, str.Here_3
mov rcx, rax
call fcn.140016a20
mov rcx, rax
call fcn.140017c00
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x1f4
lea rax, [rsp + 0x710]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x88]
call qword [r13 + 0x68]
mov rbx, qword [rsp + 0x40]
test eax, eax
je 0x1400620f0
call fcn.1400210a0
cmp dword [rax + 8], 3
jl 0x140061e22
call fcn.1400210a0
mov edx, 3
mov rcx, rax
call fcn.1400213a0
mov r14, rax
call fcn.1400210a0
mov rdx, r14
cmp qword [r14 + 0x18], 8
jb 0x140061dff
mov rdx, qword [r14]
mov r8, qword [r14 + 0x10]
mov rcx, rax
call fcn.140016ce0
lea rdx, str.Here_4
mov rcx, rax
call fcn.140016a20
mov rcx, rax
call fcn.140017c00
mov edx, 0x104
lea rcx, [rsp + 0x710]
call fcn.14022ee84
lea rdx, [0x1402d18f8]
lea rcx, [rsp + 0x710]
call fcn.140224828
mov r15, rax
call fcn.1400210a0
cmp dword [rax + 8], 3
jl 0x140061eab
call fcn.1400210a0
mov edx, 3
mov rcx, rax
call fcn.1400213a0
mov r14, rax
call fcn.1400210a0
mov rdx, r14
cmp qword [r14 + 0x18], 8
jb 0x140061e7d
mov rdx, qword [r14]
mov r8, qword [r14 + 0x10]
mov rcx, rax
call fcn.140016ce0
lea rdx, str.Compare_1:
mov rcx, rax
call fcn.140015360
mov rdx, r15
mov rcx, rax
call fcn.140016a20
mov rcx, rax
call fcn.140017c00
call fcn.1400210a0
cmp dword [rax + 8], 3
jl 0x140061f0b
call fcn.1400210a0
mov edx, 3
mov rcx, rax
call fcn.1400213a0
mov r14, rax
call fcn.1400210a0
mov rdx, r14
cmp qword [r14 + 0x18], 8
jb 0x140061edd
mov rdx, qword [r14]
mov r8, qword [r14 + 0x10]
mov rcx, rax
call fcn.140016ce0
lea rdx, str.Compare_2:
mov rcx, rax
call fcn.140015360
mov rdx, rbx
mov rcx, rax
call fcn.140016a20
mov rcx, rax
call fcn.140017c00
test r15, r15
je 0x1400620a3
mov r8, rsi
nop word [rax + rax]
inc r8
cmp word [rbx + r8*2], 0
jne 0x140061f20
mov rdx, rbx
mov rcx, r15
call fcn.140236d38
test eax, eax
jne 0x1400620a3
mov rcx, r12
call qword [r13 + 0x78]
mov rax, rsi
nop dword [rax + rax]
lea rax, [rax + 1]
cmp word [rbx + rax*2], 0
jne 0x140061f50
cmp word [r15 + rax*2], 0
je 0x140062005
call fcn.1400210a0
cmp dword [rax + 8], 3
jl 0x140061fbd
call fcn.1400210a0
mov edx, 3
mov rcx, rax
call fcn.1400213a0
mov rbx, rax
call fcn.1400210a0
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x140061f99
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, rax
call fcn.140016ce0
lea rdx, str.Got_4ID
mov rcx, rax
call fcn.140016a20
mov rcx, rax
call fcn.140017c00
nop
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140061fd7
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 0x140061ff4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x58]
call fcn.140062c40
xor al, al
jmp 0x14006213c
call fcn.1400210a0
cmp dword [rax + 8], 3
jl 0x14006205b
call fcn.1400210a0
mov edx, 3
mov rcx, rax
call fcn.1400213a0
mov rbx, rax
call fcn.1400210a0
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x140062037
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, rax
call fcn.140016ce0
lea rdx, str.Got_2ID
mov rcx, rax
call fcn.140016a20
mov rcx, rax
call fcn.140017c00
nop
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140062075
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 0x140062092
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x58]
call fcn.140062c40
mov al, 1
jmp 0x14006213c
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x88]
call qword [r13 + 0x60]
test eax, eax
je 0x1400620f0
xor eax, eax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x1f4
lea rax, [rsp + 0x710]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x88]
call qword [r13 + 0x68]
jmp 0x140061dc5
mov rcx, r12
call qword [r13 + 0x78]
nop
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140062112
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 0x14006212f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x58]
call fcn.140062c40
nop
mov al, 1
mov rcx, qword [rsp + 0xd40]
xor rcx, rsp
call fcn.140220510
movaps xmm6, xmmword [rsp + 0xd50]
add rsp, 0xd60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call fcn.140229804
nop
lea rcx, [0x14032a09c]
call fcn.140220854
xor r12d, r12d
cmp dword [0x14032a09c], 0xffffffff
jne 0x140060edf
xorps xmm0, xmm0
movups xmmword [0x14031b5e0], xmm0
movdqa xmm1, xmmword [0x1402d3560]
movdqu xmmword [0x14031b5f0], xmm1
mov word [0x14031b5e0], r12w
lea rcx, [0x14026e6e0]
call fcn.140220768
lea rcx, [0x14032a09c]
call fcn.1402207e8
jmp 0x140060edf
call fcn.140229804
nop
call fcn.140229804
nop
call fcn.140229804
nop
call fcn.140229804
nop
call fcn.140229804
nop
mov ecx, 0x80004005
call fcn.140002d6c
nop
mov ecx, 0x80004005
call fcn.140002d6c
nop
mov ecx, 0x80004005
call fcn.140002d6c
nop
call fcn.140229804
nop
lea rcx, [0x14032a09c]
call fcn.140220854
xor r14d, r14d
cmp dword [0x14032a09c], 0xffffffff
jne 0x140061889
xorps xmm0, xmm0
movups xmmword [0x14031b5e0], xmm0
movdqa xmm1, xmmword [0x1402d3560]
movdqu xmmword [0x14031b5f0], xmm1
mov word [0x14031b5e0], r14w
lea rcx, [0x14026e6e0]
call fcn.140220768
lea rcx, [0x14032a09c]
call fcn.1402207e8
jmp 0x140061889
call fcn.140229804
nop
call fcn.140229804
nop
call fcn.140229804
nop
call fcn.140229804
nop
call fcn.140229804
int3