Function at 0x140001180
Capabilities:
Check os version

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x128]
sub rsp, 0x200
mov qword [rbp - 0x50], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x14001b070]
xor rax, rsp
mov qword [rbp + 0xf8], rax
mov r12, rdx
mov r13d, ecx
mov dword [rbp - 0x60], ecx
xor esi, esi
mov dword [rsp + 0x78], esi
lea rax, [0x140002b40]
mov qword [rsp + 0x20], rax
lea r9, [0x140002b00]
lea edx, [rsi + 8]
lea r8d, [rsi + 3]
lea rcx, [rbp + 0xe0]
call fcn.1400036a8
nop
mov r14d, esi
or r8, 0xffffffffffffffff
test r13d, r13d
jle 0x140001322
lea rdi, [rbp + 0xe0]
lea rax, [rbp + 0xe0]
sub r12, rax
jmp 0x140001224
or r8, 0xffffffffffffffff
cmp r14d, 3
jge 0x140001322
mov rdx, qword [r12 + rdi]
movsxd rax, r14d
lea rcx, [rbp + 0xe0]
lea rcx, [rcx + rax*8]
test rdx, rdx
jne 0x140001249
mov eax, esi
jmp 0x14000125a
mov rax, r8
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140001250
mov r8d, eax
call fcn.140002b60
mov rax, qword [rdi]
movsxd rbx, dword [rax - 0x10]
test ebx, ebx
js 0x140001317
mov ecx, 1
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, ebx
or eax, ecx
jge 0x14000128c
mov edx, ebx
mov rcx, rdi
call fcn.140002d70
lea eax, [rbx + 1]
movsxd rdx, eax
mov rcx, qword [rdi]
call fcn.140003b90
mov rax, qword [rdi]
cmp ebx, dword [rax - 0xc]
jg 0x14000130c
mov dword [rax - 0x10], ebx
mov rax, qword [rdi]
mov word [rax + rbx*2], si
mov rdx, qword [rdi]
lea rbx, [rdx - 0x18]
cmp rbx, rbx
je 0x1400012fa
cmp dword [rbx + 0x10], 0
jl 0x1400012ee
mov rax, qword [rbx]
cmp rax, rax
jne 0x1400012ee
mov rcx, rbx
call fcn.140002c50
mov r15, rax
lock add dword [rbx + 0x10], 0xffffffff
jg 0x1400012e5
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [r8 + 8]
lea rax, [r15 + 0x18]
mov qword [rdi], rax
jmp 0x1400012fa
mov r8d, dword [rdx - 0x10]
mov rcx, rdi
call fcn.140002b60
inc r14d
add rdi, 8
cmp r14d, r13d
jl 0x140001220
jmp 0x140001322
mov ecx, 0x80070057
call fcn.140003310
int3
mov ecx, 0x80070057
call fcn.140003310
int3
mov r14d, dword [rbp - 0x60]
cmp r14d, 1
jg 0x140001336
mov ebx, 0x46
jmp 0x14000273c
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rsi
mov qword [rbp - 0x68], rsi
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x58], rsi
mov qword [rbp - 0x80], rsi
mov qword [rsp + 0x68], rsi
mov dword [rbp - 0x74], esi
mov dword [rbp - 0x78], esi
mov dword [rbp - 0x70], esi
mov word [rsp + 0x40], si
xor edx, edx
mov r8d, 0x114
lea rcx, [rbp - 0x40]
call fcn.140003df0
mov dword [rbp - 0x40], 0x114
lea rcx, [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x140001555
cmp dword [rbp - 0x3c], 5
ja 0x140001555
mov ebx, 1
mov dword [rbp - 0x74], ebx
mov r15d, ebx
mov r12d, esi
mov dword [rsp + 0x3c], esi
lea rax, [rbp - 0x80]
test rax, rax
je 0x140001476
lea rax, [rsp + 0x68]
test rax, rax
je 0x140001476
mov dword [rsp + 0x60], esi
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
lea r9, [0x1400182d0]
xor edx, edx
mov r8d, ebx
lea rcx, [0x1400182e0]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x14000140c
mov edx, eax
lea rcx, str.Cannot_create_PropSet_instance_0x_08X
call fcn.14000383c
mov qword [rbp - 0x80], rsi
jmp 0x140001476
mov rcx, qword [rbp - 0x80]
mov rax, qword [rcx]
lea rdx, [rsp + 0x60]
call qword [rax + 0x40]
cmp dword [rsp + 0x60], r12d
jne 0x14000142d
mov edx, eax
lea rcx, str.Cannot_initialize_PropSet_0x_08X
jmp 0x140001471
mov rcx, qword [rbp - 0x80]
mov rax, qword [rcx]
lea r8, [rsp + 0x68]
lea rdx, [0x1400182c0]
call qword [rax]
test eax, eax
jns 0x140001451
mov edx, eax
lea rcx, str.Cannot_Query_Interface_PropSet10114_0x_08X
jmp 0x140001471
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
lea rdx, [rbp - 0x78]
call qword [rax + 0x40]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
lea rdx, [rbp - 0x70]
call qword [rax + 0x38]
jmp 0x140001479
call fcn.14000383c
mov r15d, esi
mov rax, qword [rbp + 0xe8]
movzx r8d, word [0x140017f14]
movzx edx, word [0x140017f12]
movzx r9d, word [0x140017f10]
cmp word [rax], r9w
jne 0x1400014ae
cmp word [rax + 2], dx
jne 0x1400014ae
cmp word [rax + 4], r8w
jne 0x1400014ae
mov eax, esi
jmp 0x1400014b2
sbb eax, eax
or eax, ebx
test eax, eax
je 0x1400014f8
mov rcx, qword [rbp + 0xe8]
movzx eax, word [rcx]
cmp ax, word [0x140017f20]
jne 0x1400014e7
movzx eax, word [rcx + 2]
cmp ax, word [0x140017f22]
jne 0x1400014e7
movzx eax, word [rcx + 4]
cmp ax, word [0x140017f24]
jne 0x1400014e7
mov eax, esi
jmp 0x1400014eb
sbb eax, eax
or eax, ebx
test eax, eax
je 0x1400014f8
mov edi, dword [rsp + 0x78]
jmp 0x140001824
mov rax, qword [rbp + 0xe8]
cmp word [rax], r9w
jne 0x140001516
cmp word [rax + 2], dx
jne 0x140001516
cmp word [rax + 4], r8w
jne 0x140001516
mov eax, esi
jmp 0x14000151a
sbb eax, eax
or eax, ebx
test eax, eax
jne 0x140001523
test r15d, r15d
jmp 0x140001528
cmp dword [rsp + 0x3c], r12d
setne sil
mov dword [rsp + 0x30], esi
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x14000153f
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x1400026da
mov rax, qword [rcx]
jmp 0x1400026d7
mov r15d, 1
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea r9, [0x140018230]
xor edx, edx
lea r8d, [r15 + 0x16]
lea rcx, [0x1400182a8]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x14000159e
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
lea rdx, [rsp + 0x38]
call qword [rax + 0x38]
test eax, eax
js 0x14000159e
cmp dword [rsp + 0x38], 0
jg 0x1400015f9
mov r15d, esi
mov r12d, 1
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [0x140018220]
xor edx, edx
lea r8d, [r12 + 0x16]
lea rcx, [0x140018298]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x1400015d5
mov r12d, esi
jmp 0x1400015fe
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
lea rdx, [rsp + 0x38]
call qword [rax + 0x38]
test eax, eax
jns 0x1400015ee
mov r12d, esi
jmp 0x1400015fe
cmp dword [rsp + 0x38], 0
cmovle r12d, esi
jmp 0x1400015fe
mov r12d, dword [rsp + 0x78]
mov dword [rsp + 0x3c], 1
mov dword [rsp + 0x64], esi
mov dword [rsp + 0x60], esi
lea rax, [rbp - 0x68]
mov qword [rsp + 0x20], rax
lea r9, [0x140018210]
xor edx, edx
lea r8d, [rdx + 0x17]
lea rcx, [0x140018288]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov edi, eax
test eax, eax
jns 0x14000175b
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [0x140018200]
xor edx, edx
lea r8d, [rdx + 0x17]
lea rcx, [0x140018278]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov edi, eax
test eax, eax
js 0x140001757
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
lea r8, [rsp + 0x3c]
mov edx, 0xa
call qword [rax + 0x18]
mov eax, dword [rsp + 0x3c]
test eax, eax
jne 0x1400016a8
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
lea r8, [rsp + 0x3c]
mov edx, 9
call qword [rax + 0x18]
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x64], eax
jmp 0x14000175b
mov dword [rsp + 0x60], eax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
lea r9, [0x1400181f0]
xor edx, edx
lea r8d, [rdx + 4]
lea rcx, [0x1400182f0]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov edi, eax
test eax, eax
js 0x14000175b
mov r14, qword [rsp + 0x58]
lea rcx, str.B94BA572_658F_40E6_861D_DFB7BB4001A8
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rbp - 0x58], rax
test rax, rax
jne 0x140001703
mov ecx, 0x8007000e
call fcn.140003310
nop
mov dword [rsp + 0x78], 1
mov rax, qword [r14]
lea r8, [rsp + 0x40]
mov rdx, rbx
mov rcx, r14
call qword [rax + 0x38]
test eax, eax
js 0x14000172c
cmp si, word [rsp + 0x40]
je 0x14000172c
xor r14b, r14b
jmp 0x14000172f
mov r14b, 1
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
test r14b, r14b
je 0x14000175b
mov r14, qword [rsp + 0x58]
test r14, r14
je 0x14000175b
mov qword [rsp + 0x58], rsi
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x10]
jmp 0x14000175b
mov dword [rsp + 0x3c], esi
mov rax, qword [rbp + 0xe8]
movzx r11d, word [0x140017f14]
movzx r10d, word [0x140017f12]
movzx ebx, word [0x140017f10]
cmp word [rax], bx
jne 0x140001790
cmp word [rax + 2], r10w
jne 0x140001790
cmp word [rax + 4], r11w
jne 0x140001790
mov eax, esi
jmp 0x140001795
sbb eax, eax
or eax, 1
movzx r9d, word [0x140017f1c]
movzx r8d, word [0x140017f1a]
movzx edx, word [0x140017f18]
test eax, eax
je 0x140002609
mov rax, qword [rbp + 0xe8]
cmp word [rax], dx
jne 0x1400017d2
cmp word [rax + 2], r8w
jne 0x1400017d2
cmp word [rax + 4], r9w
jne 0x1400017d2
mov eax, esi
jmp 0x1400017d7
sbb eax, eax
or eax, 1
test eax, eax
je 0x140002609
mov rcx, qword [rbp + 0xe8]
movzx eax, word [rcx]
cmp ax, word [0x140017f20]
jne 0x140001810
movzx eax, word [rcx + 2]
cmp ax, word [0x140017f22]
jne 0x140001810
movzx eax, word [rcx + 4]
cmp ax, word [0x140017f24]
jne 0x140001810
mov eax, esi
jmp 0x140001815
sbb eax, eax
or eax, 1
test eax, eax
je 0x140002609
mov ebx, dword [rbp - 0x74]
mov r14d, dword [rbp - 0x60]
mov rcx, qword [rbp + 0xe8]
movzx eax, word [rcx]
cmp ax, word [0x140017f28]
jne 0x140001855
movzx eax, word [rcx + 2]
cmp ax, word [0x140017f2a]
jne 0x140001855
movzx eax, word [rcx + 4]
cmp ax, word [0x140017f2c]
jne 0x140001855
mov eax, esi
jmp 0x14000185a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x140001880
test r15d, r15d
jne 0x140001873
cmp dword [rsp + 0x3c], r15d
jne 0x140001873
mov dword [rsp + 0x30], esi
jmp 0x1400026e0
mov dword [rsp + 0x30], 1
jmp 0x1400026e0
mov r13d, 0xff
mov dword [rsp + 0x30], r13d
mov rcx, rsi
mov rdx, qword [rbp + 0xe8]
lea r8, [0x140017f30]
nop dword [rax]
movzx eax, word [rdx + rcx*2]
inc rcx
cmp ax, word [r8 + rcx*2 - 2]
jne 0x1400018b9
cmp rcx, 4
jne 0x1400018a0
mov eax, esi
jmp 0x1400018be
sbb eax, eax
or eax, 1
test eax, eax
jne 0x14000190f
cmp r14d, 2
jg 0x1400018cf
xor edx, edx
lea ecx, [rax + 1]
jmp 0x140001906
mov rcx, qword [rbp + 0xf0]
movzx eax, word [rcx]
cmp ax, word [0x140017eb0]
jne 0x1400018f3
movzx eax, word [rcx + 2]
cmp ax, word [0x140017eb2]
jne 0x1400018f3
mov eax, esi
jmp 0x1400018f8
sbb eax, eax
or eax, 1
test eax, eax
sete al
movzx edx, al
mov dword [rsp + 0x34], edx
xor ecx, ecx
call fcn.140001090
mov dword [rsp + 0x30], eax
test r15d, r15d
je 0x140001fc1
mov rcx, qword [rbp + 0xe8]
movzx eax, word [rcx]
cmp ax, word [0x140017f38]
jne 0x140001949
movzx eax, word [rcx + 2]
cmp ax, word [0x140017f3a]
jne 0x140001949
movzx eax, word [rcx + 4]
cmp ax, word [0x140017f3c]
jne 0x140001949
mov eax, esi
jmp 0x14000194e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x140001a4c
cmp r14d, 2
jg 0x1400019c4
test ebx, ebx
jne 0x140001992
mov ebx, esi
cmp dword [rsp + 0x38], ebx
jle 0x1400019ae
nop dword [rax + rax]
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
lea r8, [rsp + 0x34]
mov edx, ebx
call qword [rax + 0x60]
mov edi, eax
test eax, eax
jns 0x1400019b6
inc ebx
cmp ebx, dword [rsp + 0x38]
jl 0x140001970
jmp 0x1400019ae
cmp dword [rbp - 0x70], 0
je 0x140001f03
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
lea rdx, [rsp + 0x34]
call qword [rax + 0x48]
mov edi, eax
test edi, edi
js 0x140001f03
mov eax, esi
cmp dword [rsp + 0x34], eax
setne al
jmp 0x1400023c7
mov rcx, qword [rbp + 0xf0]
movzx eax, word [rcx]
cmp ax, word [0x140017eb0]
jne 0x1400019e8
movzx eax, word [rcx + 2]
cmp ax, word [0x140017eb2]
jne 0x1400019e8
mov eax, esi
jmp 0x1400019ed
sbb eax, eax
or eax, 1
test eax, eax
sete al
movzx edx, al
mov dword [rsp + 0x34], edx
test ebx, ebx
jne 0x140001a30
mov ebx, dword [rsp + 0x38]
dec ebx
js 0x1400023bf
nop dword [rax]
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
mov r8d, edx
mov edx, ebx
call qword [rax + 0x58]
mov edi, eax
dec ebx
js 0x1400023bf
mov edx, dword [rsp + 0x34]
jmp 0x140001a10
cmp dword [rbp - 0x70], 0
je 0x1400023ba
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
call qword [rax + 0x50]
mov edi, eax
jmp 0x1400023bf
mov rcx, qword [rbp + 0xe8]
movzx eax, word [rcx]
cmp ax, word [0x140017f40]
jne 0x140001a7d
movzx eax, word [rcx + 2]
cmp ax, word [0x140017f42]
jne 0x140001a7d
movzx eax, word [rcx + 4]
cmp ax, word [0x140017f44]
jne 0x140001a7d
mov eax, esi
jmp 0x140001a82
sbb eax, eax
or eax, 1
test eax, eax
jne 0x140001b51
test ebx, ebx
je 0x140001a98
mov dword [rsp + 0x30], r13d
jmp 0x1400023cb
cmp r14d, 2
jg 0x140001ae9
mov ebx, esi
cmp dword [rsp + 0x38], ebx
jle 0x140001ad7
nop word [rax + rax]
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
lea r8, [rsp + 0x34]
mov edx, ebx
call qword [rax + 0x90]
mov edi, eax
test eax, eax
jns 0x1400019b6
inc ebx
cmp ebx, dword [rsp + 0x38]
jl 0x140001ab0
test edi, edi
jns 0x1400019b6
mov dword [rsp + 0x30], r13d
jmp 0x1400023cb
mov rcx, qword [rbp + 0xf0]
movzx eax, word [rcx]
cmp ax, word [0x140017eb0]
jne 0x140001b0d
movzx eax, word [rcx + 2]
cmp ax, word [0x140017eb2]
jne 0x140001b0d
mov eax, esi
jmp 0x140001b12
sbb eax, eax
or eax, 1
test eax, eax
sete al
movzx r8d, al
mov dword [rsp + 0x34], r8d
mov ebx, dword [rsp + 0x38]
dec ebx
js 0x1400023bf
nop dword [rax]
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
mov edx, ebx
call qword [rax + 0x88]
mov edi, eax
dec ebx
js 0x1400023bf
mov r8d, dword [rsp + 0x34]
jmp 0x140001b30
mov rcx, qword [rbp + 0xe8]
movzx eax, word [rcx]
cmp ax, word [0x140017f48]
jne 0x140001b82
movzx eax, word [rcx + 2]
cmp ax, word [0x140017f4a]
jne 0x140001b82
movzx eax, word [rcx + 4]
cmp ax, word [0x140017f4c]
jne 0x140001b82
mov eax, esi
jmp 0x140001b87
sbb eax, eax
or eax, 1
test eax, eax
jne 0x140001c4e
test ebx, ebx
je 0x140001b9d
mov dword [rsp + 0x30], r13d
jmp 0x1400023cb
cmp r14d, 2
jg 0x140001be6
mov ebx, esi
cmp dword [rsp + 0x38], ebx
jle 0x140001bd4
nop dword [rax + rax]
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
lea r8, [rsp + 0x34]
mov edx, ebx
call qword [rax + 0x70]
mov edi, eax
test eax, eax
jns 0x1400019b6
inc ebx
cmp ebx, dword [rsp + 0x38]
jl 0x140001bb0
test edi, edi
jns 0x1400019b6
mov dword [rsp + 0x30], r13d
jmp 0x1400023cb
mov rcx, qword [rbp + 0xf0]
movzx eax, word [rcx]
cmp ax, word [0x140017eb0]
jne 0x140001c0a
movzx eax, word [rcx + 2]
cmp ax, word [0x140017eb2]
jne 0x140001c0a
mov eax, esi
jmp 0x140001c0f
sbb eax, eax
or eax, 1
test eax, eax
sete al
movzx r8d, al
mov dword [rsp + 0x34], r8d
mov ebx, dword [rsp + 0x38]
dec ebx
js 0x1400023bf
nop dword [rax]
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
mov edx, ebx
call qword [rax + 0x68]
mov edi, eax
dec ebx
js 0x1400023bf
mov r8d, dword [rsp + 0x34]
jmp 0x140001c30
mov rcx, qword [rbp + 0xe8]
movzx eax, word [rcx]
cmp ax, word [0x140017f50]
jne 0x140001c7f
movzx eax, word [rcx + 2]
cmp ax, word [0x140017f52]
jne 0x140001c7f
movzx eax, word [rcx + 4]
cmp ax, word [0x140017f54]
jne 0x140001c7f
mov eax, esi
jmp 0x140001c84
sbb eax, eax
or eax, 1
test eax, eax
jne 0x140001d7c
cmp r14d, 2
jg 0x140001cf9
test ebx, ebx
jne 0x140001cc5
mov ebx, esi
cmp dword [rsp + 0x38], ebx
jle 0x140001ce1
nop
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
lea r8, [rsp + 0x34]
mov edx, ebx
call qword [rax + 0x80]
mov edi, eax
test eax, eax
jns 0x140001ce9
inc ebx
cmp ebx, dword [rsp + 0x38]
jl 0x140001ca0
jmp 0x140001ce1
cmp dword [rbp - 0x78], 0
je 0x140001f03
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
lea rdx, [rsp + 0x34]
call qword [rax + 0x58]
mov edi, eax
test edi, edi
js 0x140001f03
mov eax, esi
cmp dword [rsp + 0x34], eax
setne al
inc eax
jmp 0x1400023c7
mov rcx, qword [rbp + 0xf0]
movzx eax, word [rcx]
cmp ax, word [0x140017f58]
jne 0x140001d1d
movzx eax, word [rcx + 2]
cmp ax, word [0x140017f5a]
jne 0x140001d1d
mov eax, esi
jmp 0x140001d22
sbb eax, eax
or eax, 1
test eax, eax
sete al
movzx edx, al
mov dword [rsp + 0x34], edx
test ebx, ebx
jne 0x140001d60
mov ebx, dword [rsp + 0x38]
dec ebx
js 0x1400023bf
nop
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
mov r8d, edx
mov edx, ebx
call qword [rax + 0x78]
mov edi, eax
dec ebx
js 0x1400023bf
mov edx, dword [rsp + 0x34]
jmp 0x140001d40
cmp dword [rbp - 0x78], 0
je 0x1400023ba
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
call qword [rax + 0x60]
mov edi, eax
jmp 0x1400023bf
mov rcx, qword [rbp + 0xe8]
movzx eax, word [rcx]
cmp ax, word [0x140017f5c]
jne 0x140001dad
movzx eax, word [rcx + 2]
cmp ax, word [0x140017f5e]
jne 0x140001dad
movzx eax, word [rcx + 4]
cmp ax, word [0x140017f60]
jne 0x140001dad
mov eax, esi
jmp 0x140001db2
sbb eax, eax
or eax, 1
test eax, eax
jne 0x140001dc0
mov dword [rsp + 0x30], r13d
jmp 0x1400023cb
mov rcx, qword [rbp + 0xe8]
movzx eax, word [rcx]
cmp ax, word [0x140017f64]
jne 0x140001df1
movzx eax, word [rcx + 2]
cmp ax, word [0x140017f66]
jne 0x140001df1
movzx eax, word [rcx + 4]
cmp ax, word [0x140017f68]
jne 0x140001df1
mov eax, esi
jmp 0x140001df6
sbb eax, eax
or eax, 1
test eax, eax
jne 0x140001ec1
test ebx, ebx
je 0x140001e0c
mov dword [rsp + 0x30], r13d
jmp 0x1400023cb
cmp r14d, 2
jg 0x140001e59
mov ebx, esi
cmp dword [rsp + 0x38], ebx
jle 0x140001e47
nop word [rax + rax]
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
lea r8, [rsp + 0x34]
mov edx, ebx
call qword [rax + 0xa0]
mov edi, eax
test eax, eax
jns 0x1400019b6
inc ebx
cmp ebx, dword [rsp + 0x38]
jl 0x140001e20
test edi, edi
jns 0x1400019b6
mov dword [rsp + 0x30], r13d
jmp 0x1400023cb
mov rcx, qword [rbp + 0xf0]
movzx eax, word [rcx]
cmp ax, word [0x140017eb0]
jne 0x140001e7d
movzx eax, word [rcx + 2]
cmp ax, word [0x140017eb2]
jne 0x140001e7d
mov eax, esi
jmp 0x140001e82
sbb eax, eax
or eax, 1
test eax, eax
sete al
movzx r8d, al
mov dword [rsp + 0x34], r8d
mov ebx, dword [rsp + 0x38]
dec ebx
js 0x1400023bf
nop dword [rax]
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
mov edx, ebx
call qword [rax + 0x98]
mov edi, eax
dec ebx
js 0x1400023bf
mov r8d, dword [rsp + 0x34]
jmp 0x140001ea0
mov rcx, qword [rbp + 0xe8]
movzx eax, word [rcx]
cmp ax, word [0x140017f6c]
jne 0x140001ef2
movzx eax, word [rcx + 2]
cmp ax, word [0x140017f6e]
jne 0x140001ef2
movzx eax, word [rcx + 4]
cmp ax, word [0x140017f70]
jne 0x140001ef2
mov eax, esi
jmp 0x140001ef7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1400023cb
test ebx, ebx
je 0x140001f0d
mov dword [rsp + 0x30], r13d
jmp 0x1400023cb
cmp r14d, 2
jg 0x140001f59
mov ebx, esi
cmp dword [rsp + 0x38], ebx
jle 0x140001f47
nop dword [rax + rax]
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
lea r8, [rsp + 0x34]
mov edx, ebx
call qword [rax + 0xb0]
mov edi, eax
test eax, eax
jns 0x1400019b6
inc ebx
cmp ebx, dword [rsp + 0x38]
jl 0x140001f20
test edi, edi
jns 0x1400019b6
mov dword [rsp + 0x30], r13d
jmp 0x1400023cb
mov rcx, qword [rbp + 0xf0]
movzx eax, word [rcx]
cmp ax, word [0x140017eb0]
jne 0x140001f7d
movzx eax, word [rcx + 2]
cmp ax, word [0x140017eb2]
jne 0x140001f7d
mov eax, esi
jmp 0x140001f82
sbb eax, eax
or eax, 1
test eax, eax
sete al
movzx r8d, al
mov dword [rsp + 0x34], r8d
mov ebx, dword [rsp + 0x38]
dec ebx
js 0x1400023bf
nop dword [rax]
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
mov edx, ebx
call qword [rax + 0xa8]
mov edi, eax
dec ebx
js 0x1400023bf
mov r8d, dword [rsp + 0x34]
jmp 0x140001fa0
test r12d, r12d
je 0x1400023cb
mov rcx, qword [rbp + 0xe8]
movzx eax, word [rcx]
cmp ax, word [0x140017f38]
jne 0x140001ffb
movzx eax, word [rcx + 2]
cmp ax, word [0x140017f3a]
jne 0x140001ffb
movzx eax, word [rcx + 4]
cmp ax, word [0x140017f3c]
jne 0x140001ffb
mov eax, esi
jmp 0x140002000
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1400020ce
cmp r14d, 2
jg 0x140002059
test ebx, ebx
jne 0x140001f03
mov ebx, esi
cmp dword [rsp + 0x38], ebx
jle 0x1400019ae
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
lea r8, [rsp + 0x34]
mov edx, ebx
call qword [rax + 0x50]
mov edi, eax
test eax, eax
jns 0x1400019b6
inc ebx
cmp ebx, dword [rsp + 0x38]
jl 0x140002030
jmp 0x1400019ae
mov rcx, qword [rbp + 0xf0]
movzx eax, word [rcx]
cmp ax, word [0x140017eb0]
jne 0x14000207d
movzx eax, word [rcx + 2]
cmp ax, word [0x140017eb2]
jne 0x14000207d
mov eax, esi
jmp 0x140002082
sbb eax, eax
or eax, 1
test eax, eax
sete al
movzx r8d, al
mov dword [rsp + 0x34], r8d
test ebx, ebx
jne 0x1400023ba
mov ebx, dword [rsp + 0x38]
dec ebx
js 0x1400023bf
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
mov edx, ebx
call qword [rax + 0x48]
mov edi, eax
dec ebx
js 0x1400023bf
mov r8d, dword [rsp + 0x34]
jmp 0x1400020b0
mov rcx, qword [rbp + 0xe8]
movzx eax, word [rcx]
cmp ax, word [0x140017f48]
jne 0x1400020ff
movzx eax, word [rcx + 2]
cmp ax, word [0x140017f4a]
jne 0x1400020ff
movzx eax, word [rcx + 4]
cmp ax, word [0x140017f4c]
jne 0x1400020ff
mov eax, esi
jmp 0x140002104
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1400021ce
test ebx, ebx
je 0x14000211a
mov dword [rsp + 0x30], r13d
jmp 0x1400023cb
cmp r14d, 2
jg 0x140002166
mov ebx, esi
cmp dword [rsp + 0x38], ebx
jle 0x140002154
nop dword [rax + rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
lea r8, [rsp + 0x34]
mov edx, ebx
call qword [rax + 0x60]
mov edi, eax
test eax, eax
jns 0x1400019b6
inc ebx
cmp ebx, dword [rsp + 0x38]
jl 0x140002130
test edi, edi
jns 0x1400019b6
mov dword [rsp + 0x30], r13d
jmp 0x1400023cb
mov rcx, qword [rbp + 0xf0]
movzx eax, word [rcx]
cmp ax, word [0x140017eb0]
jne 0x14000218a
movzx eax, word [rcx + 2]
cmp ax, word [0x140017eb2]
jne 0x14000218a
mov eax, esi
jmp 0x14000218f
sbb eax, eax
or eax, 1
test eax, eax
sete al
movzx r8d, al
mov dword [rsp + 0x34], r8d
mov ebx, dword [rsp + 0x38]
dec ebx
js 0x1400023bf
nop dword [rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
mov edx, ebx
call qword [rax + 0x58]
mov edi, eax
dec ebx
js 0x1400023bf
mov r8d, dword [rsp + 0x34]
jmp 0x1400021b0
mov rcx, qword [rbp + 0xe8]
movzx eax, word [rcx]
cmp ax, word [0x140017f50]
jne 0x1400021ff
movzx eax, word [rcx + 2]
cmp ax, word [0x140017f52]
jne 0x1400021ff
movzx eax, word [rcx + 4]
cmp ax, word [0x140017f54]
jne 0x1400021ff
mov eax, esi
jmp 0x140002204
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1400022ce
cmp r14d, 2
jg 0x140002259
test ebx, ebx
jne 0x140001f03
mov ebx, esi
cmp dword [rsp + 0x38], ebx
jle 0x140001ce1
nop word [rax + rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
lea r8, [rsp + 0x34]
mov edx, ebx
call qword [rax + 0x70]
mov edi, eax
test eax, eax
jns 0x140001ce9
inc ebx
cmp ebx, dword [rsp + 0x38]
jl 0x140002230
jmp 0x140001ce1
mov rcx, qword [rbp + 0xf0]
movzx eax, word [rcx]
cmp ax, word [0x140017f58]
jne 0x14000227d
movzx eax, word [rcx + 2]
cmp ax, word [0x140017f5a]
jne 0x14000227d
mov eax, esi
jmp 0x140002282
sbb eax, eax
or eax, 1
test eax, eax
sete al
movzx r8d, al
mov dword [rsp + 0x34], r8d
test ebx, ebx
jne 0x1400023ba
mov ebx, dword [rsp + 0x38]
dec ebx
js 0x1400023bf
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
mov edx, ebx
call qword [rax + 0x68]
mov edi, eax
dec ebx
js 0x1400023bf
mov r8d, dword [rsp + 0x34]
jmp 0x1400022b0
mov rcx, qword [rbp + 0xe8]
movzx eax, word [rcx]
cmp ax, word [0x140017f5c]
jne 0x1400022ff
movzx eax, word [rcx + 2]
cmp ax, word [0x140017f5e]
jne 0x1400022ff
movzx eax, word [rcx + 4]
cmp ax, word [0x140017f60]
jne 0x1400022ff
mov eax, esi
jmp 0x140002304
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1400023cb
cmp r14d, 2
jg 0x14000235c
test ebx, ebx
jne 0x140001f03
mov ebx, esi
cmp dword [rsp + 0x38], ebx
jle 0x1400019ae
nop word [rax + rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
lea r8, [rsp + 0x34]
mov edx, ebx
call qword [rax + 0x80]
mov edi, eax
test eax, eax
jns 0x1400019b6
inc ebx
cmp ebx, dword [rsp + 0x38]
jl 0x140002330
jmp 0x1400019ae
mov rcx, qword [rbp + 0xf0]
movzx eax, word [rcx]
cmp ax, word [0x140017eb0]
jne 0x140002380
movzx eax, word [rcx + 2]
cmp ax, word [0x140017eb2]
jne 0x140002380
mov eax, esi
jmp 0x140002385
sbb eax, eax
or eax, 1
test eax, eax
sete al
movzx r8d, al
mov dword [rsp + 0x34], r8d
test ebx, ebx
jne 0x1400023ba
mov ebx, dword [rsp + 0x38]
dec ebx
js 0x1400023bf
nop
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
mov edx, ebx
call qword [rax + 0x78]
mov edi, eax
dec ebx
js 0x1400023bf
mov r8d, dword [rsp + 0x34]
jmp 0x1400023a0
mov edi, 0x80004005
mov eax, esi
test edi, edi
cmovs eax, r13d
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x3c], 0
je 0x1400025fd
mov rcx, rsi
mov rdx, qword [rbp + 0xe8]
lea r8, [0x140017f78]
nop word [rax + rax]
movzx eax, word [rdx + rcx*2]
inc rcx
cmp ax, word [r8 + rcx*2 - 2]
jne 0x140002409
cmp rcx, 4
jne 0x1400023f0
mov eax, esi
jmp 0x14000240e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1400024e0
cmp dword [rsp + 0x60], eax
je 0x140002491
cmp qword [rsp + 0x58], 0
je 0x1400025f8
cmp r14d, 2
mov r14, qword [rsp + 0x58]
jg 0x140002460
mov rax, qword [r14]
lea rdx, [rsp + 0x40]
mov rcx, r14
call qword [rax + 0x40]
test eax, eax
js 0x1400025f8
mov eax, esi
or rcx, 0xffffffffffffffff
cmp cx, word [rsp + 0x40]
sete al
mov dword [rsp + 0x30], eax
jmp 0x1400025fd
mov rbx, qword [r14]
mov rcx, qword [rbp + 0xf0]
call fcn.140003818
mov ecx, esi
cmp eax, 1
setne cl
lea edx, [rcx - 1]
mov rcx, r14
call qword [rbx + 0x48]
mov ecx, esi
test eax, eax
cmovs ecx, r13d
mov dword [rsp + 0x30], ecx
jmp 0x1400025fd
cmp r14d, 2
jg 0x1400024b2
mov ecx, dword [rsp + 0x64]
call fcn.1400027a0
mov dword [rsp + 0x30], eax
cmp eax, 1
jbe 0x1400025fd
jmp 0x1400025f8
mov rcx, qword [rbp + 0xf0]
call fcn.140003818
mov ecx, esi
cmp eax, 1
sete cl
mov edx, dword [rsp + 0x64]
call fcn.140002850
mov ecx, esi
test eax, eax
cmove ecx, r13d
mov dword [rsp + 0x30], ecx
jmp 0x1400025fd
mov rcx, rsi
mov rdx, qword [rbp + 0xe8]
lea r8, str.EQHP
movzx eax, word [rdx + rcx*2]
inc rcx
cmp ax, word [r8 + rcx*2 - 2]
jne 0x14000250a
cmp rcx, 5
jne 0x1400024f1
mov eax, esi
jmp 0x14000250f
sbb eax, eax
or eax, 1
test eax, eax
je 0x140002556
mov rcx, rsi
mov rdx, qword [rbp + 0xe8]
lea r8, str.EQSPKR
nop dword [rax]
nop dword [rax + rax]
movzx eax, word [rdx + rcx*2]
inc rcx
cmp ax, word [r8 + rcx*2 - 2]
jne 0x140002549
cmp rcx, 7
jne 0x140002530
mov eax, esi
jmp 0x14000254e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1400025fd
mov ebx, dword [rsp + 0x60]
test ebx, ebx
je 0x14000256a
cmp qword [rsp + 0x58], 0
je 0x1400025f8
cmp r14d, 2
jg 0x1400025b0
test ebx, ebx
je 0x14000259a
mov r14, qword [rsp + 0x58]
mov rax, qword [r14]
lea rdx, [rsp + 0x30]
mov rcx, r14
call qword [rax + 0x50]
test eax, eax
js 0x1400025f8
mov ecx, dword [rsp + 0x30]
call fcn.140002a90
mov dword [rsp + 0x30], eax
jmp 0x1400025fd
mov ecx, dword [rsp + 0x64]
call fcn.140002910
mov ecx, eax
call fcn.140002a90
mov dword [rsp + 0x30], eax
jmp 0x1400025fd
mov rcx, qword [rbp + 0xf0]
call fcn.140003818
mov ecx, eax
call fcn.140002a90
mov dword [rsp + 0x30], eax
test ebx, ebx
je 0x1400025e7
mov rcx, qword [rsp + 0x58]
mov r8, qword [rcx]
mov edx, eax
call qword [r8 + 0x58]
mov ecx, esi
test eax, eax
cmovs ecx, r13d
mov dword [rsp + 0x30], ecx
jmp 0x1400025fd
mov edx, dword [rsp + 0x64]
mov ecx, eax
call fcn.1400029c0
test eax, eax
cmovne r13d, esi
mov dword [rsp + 0x30], r13d
mov eax, dword [rbp - 0x74]
test eax, eax
je 0x140002670
jmp 0x140001530
mov rax, qword [rbp + 0xe8]
cmp word [rax], bx
jne 0x140002627
cmp word [rax + 2], r10w
jne 0x140002627
cmp word [rax + 4], r11w
jne 0x140002627
mov eax, esi
jmp 0x14000262c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x140002637
mov eax, esi
test r15d, r15d
jmp 0x140002669
mov rax, qword [rbp + 0xe8]
cmp word [rax], dx
jne 0x140002655
cmp word [rax + 2], r8w
jne 0x140002655
cmp word [rax + 4], r9w
jne 0x140002655
mov eax, esi
jmp 0x14000265a
sbb eax, eax
or eax, 1
test eax, eax
mov eax, esi
jne 0x140002665
test r12d, r12d
jmp 0x140002669
cmp dword [rsp + 0x3c], eax
setne al
mov dword [rsp + 0x30], eax
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140002685
mov qword [rsp + 0x48], rsi
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14000269a
mov qword [rsp + 0x50], rsi
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x1400026ad
mov qword [rbp - 0x68], rsi
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x1400026c2
mov qword [rsp + 0x70], rsi
mov rax, qword [rcx]
call qword [rax + 0x10]
mov r14, qword [rsp + 0x58]
test r14, r14
je 0x1400026da
mov qword [rsp + 0x58], rsi
mov rcx, r14
mov rax, qword [r14]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
mov ebx, dword [rsp + 0x30]
mov r14, qword [rsp + 0x58]
test r14, r14
je 0x1400026f8
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x140002709
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x140002719
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14000272a
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14000273c
mov r10, qword [rcx]
call qword [r10 + 0x10]
nop
lea r9, [0x140002b40]
mov edx, 8
lea r8d, [rdx - 5]
lea rcx, [rbp + 0xe0]
call fcn.140003710
mov eax, ebx
mov rcx, qword [rbp + 0xf8]
xor rcx, rsp
call fcn.140003600
lea r11, [rsp + 0x200]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret