Function at 0x14002deb0
Capabilities:
Check os version

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0x780]
sub rsp, 0x880
mov rax, qword [0x14030a918]
xor rax, rsp
mov qword [rbp + 0x770], rax
xor esi, esi
xor edx, edx
mov r8d, pe_nt_image_headers64
lea rcx, [rbp + 0x204]
call fcn.1402165f0
mov dword [rbp + 0x200], 0x11c
lea rcx, [rbp + 0x200]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
lea rdi, [rsi - 1]
lea r12, vtable.srl::Name.0
test eax, eax
je 0x14002f241
cmp dword [rbp + 0x204], 6
jb 0x14002df74
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x24]
lea rcx, [rsp + 0x28]
call fcn.14002c6b0
mov eax, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x28]
cmp dword [rbp + 0x204], ecx
jne 0x14002df5e
cmp dword [rbp + 0x208], eax
je 0x14002df74
mov dword [rbp + 0x204], ecx
mov dword [rbp + 0x208], eax
mov eax, dword [rsp + 0x20]
mov dword [rbp + 0x20c], eax
lea rcx, [rbp - 0x20]
call fcn.140018c70
nop
movzx ebx, word [rbp + 0x20c]
mov edx, dword [rbp + 0x204]
lea rcx, [rbp - 0x10]
call fcn.140018e70
mov rcx, rax
mov dl, 0x2e
call fcn.140028c30
mov rcx, rax
mov edx, dword [rbp + 0x208]
call fcn.140018e70
mov rcx, rax
mov dl, 0x2e
call fcn.140028c30
mov rcx, rax
mov edx, ebx
call fcn.140018e70
lea rdx, [rbp + 0x4c0]
lea rcx, [rbp - 8]
call fcn.140019840
nop
lea rbx, vtable.srl::Version.0
mov qword [rsp + 0x50], rbx
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x14002f361
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
lea rdx, [rbp + 0x4c0]
cmp qword [rbp + 0x4d8], 8
jb 0x14002e01e
mov rdx, qword [rbp + 0x4c0]
test rdx, rdx
jne 0x14002e01e
mov eax, esi
jmp 0x14002e02b
mov rax, rdi
inc rax
cmp word [rdx + rax*2], 0
jne 0x14002e021
mov r8d, eax
lea rcx, [rsp + 0x58]
call fcn.140002aa8
nop
mov edx, 0x1168d
lea rcx, [rbp + 0x6b0]
call fcn.140021760
nop
xor r9d, r9d
lea r8, [rsp + 0x50]
mov rdx, rax
call fcn.14004dcd0
nop
lea r15, vtable.srl::GroupID.0
mov qword [rbp + 0x6b0], r15
mov rdx, qword [rbp + 0x6d0]
cmp rdx, 8
jb 0x14002e0b0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x6b8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e0ab
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f36c
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c5590]
movdqu xmmword [rbp + 0x6c8], xmm0
mov word [rbp + 0x6b8], si
mov qword [rsp + 0x50], rbx
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002e0ea
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea r14, vtable.srl::Value.0
mov qword [rsp + 0x50], r14
mov rdx, qword [rbp + 0x4d8]
cmp rdx, 8
jb 0x14002e13c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x4c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e137
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f372
call fcn.14000410c
lea rdx, [rbp + 0x4e0]
lea rcx, [rbp - 8]
call fcn.140019840
nop
mov qword [rsp + 0x60], rbx
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x14002f378
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x68], rax
lea rdx, [rbp + 0x4e0]
cmp qword [rbp + 0x4f8], 8
jb 0x14002e193
mov rdx, qword [rbp + 0x4e0]
test rdx, rdx
jne 0x14002e193
mov eax, esi
jmp 0x14002e1a0
mov rax, rdi
inc rax
cmp word [rdx + rax*2], 0
jne 0x14002e196
mov r8d, eax
lea rcx, [rsp + 0x68]
call fcn.140002aa8
nop
mov edx, 0x115a0
lea rcx, [rbp + 0x630]
call fcn.140021760
nop
xor r9d, r9d
lea r8, [rsp + 0x60]
mov rdx, rax
call fcn.14004dcd0
nop
mov qword [rbp + 0x630], r15
mov rdx, qword [rbp + 0x650]
cmp rdx, 8
jb 0x14002e21e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x638]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e219
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f383
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c5590]
movdqu xmmword [rbp + 0x648], xmm0
mov word [rbp + 0x638], si
mov qword [rsp + 0x60], rbx
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002e258
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0x60], r14
mov rdx, qword [rbp + 0x4f8]
cmp rdx, 8
jb 0x14002e2a3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x4e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e29e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f389
call fcn.14000410c
lea rdx, [0x1402b9b40]
lea rcx, [rbp + 0x320]
call fcn.140009744
nop
lea rcx, [rbp - 8]
call fcn.14001a690
lea rdx, [rbp + 0x320]
cmp qword [rbp + 0x338], 8
cmovae rdx, qword [rbp + 0x320]
mov r9d, dword [rbp + 0x68]
mov r8, qword [rbp + 0x330]
lea rcx, [rbp - 8]
call fcn.140020e70
nop
mov rdx, qword [rbp + 0x338]
cmp rdx, 8
jb 0x14002e332
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x320]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e32d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f38f
call fcn.14000410c
mov edx, dword [rbp + 0x204]
lea rcx, [rbp - 0x10]
call fcn.140018e70
lea rdx, [rbp + 0x500]
lea rcx, [rbp - 8]
call fcn.140019840
nop
mov qword [rsp + 0x70], rbx
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x14002f395
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
lea rdx, [rbp + 0x500]
cmp qword [rbp + 0x518], 8
jb 0x14002e398
mov rdx, qword [rbp + 0x500]
test rdx, rdx
jne 0x14002e398
mov eax, esi
jmp 0x14002e3aa
mov rax, rdi
nop dword [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x14002e3a0
mov r8d, eax
lea rcx, [rsp + 0x78]
call fcn.140002aa8
nop
mov edx, 0x116c7
lea rcx, [rbp + 0x540]
call fcn.140021760
nop
xor r9d, r9d
lea r8, [rsp + 0x70]
mov rdx, rax
call fcn.14004dcd0
nop
mov qword [rbp + 0x540], r15
mov rdx, qword [rbp + 0x560]
cmp rdx, 8
jb 0x14002e428
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x548]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e423
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f3a0
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c5590]
movdqu xmmword [rbp + 0x558], xmm0
mov word [rbp + 0x548], si
mov qword [rsp + 0x70], rbx
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002e462
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0x70], r14
mov rdx, qword [rbp + 0x518]
cmp rdx, 8
jb 0x14002e4ad
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x500]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e4a8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f3a6
call fcn.14000410c
lea rdx, [0x1402b9b40]
lea rcx, [rbp + 0x340]
call fcn.140009744
nop
lea rcx, [rbp - 8]
call fcn.14001a690
lea rdx, [rbp + 0x340]
cmp qword [rbp + 0x358], 8
cmovae rdx, qword [rbp + 0x340]
mov r9d, dword [rbp + 0x68]
mov r8, qword [rbp + 0x350]
lea rcx, [rbp - 8]
call fcn.140020e70
nop
mov rdx, qword [rbp + 0x358]
cmp rdx, 8
jb 0x14002e53c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x340]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e537
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f3ac
call fcn.14000410c
mov edx, dword [rbp + 0x208]
lea rcx, [rbp - 0x10]
call fcn.140018e70
lea rdx, [rbp + 0x400]
lea rcx, [rbp - 8]
call fcn.140019840
nop
mov qword [rbp - 0x80], rbx
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x14002f3b2
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x78], rax
lea rdx, [rbp + 0x400]
cmp qword [rbp + 0x418], 8
jb 0x14002e5a0
mov rdx, qword [rbp + 0x400]
test rdx, rdx
jne 0x14002e5a0
mov eax, esi
jmp 0x14002e5ad
mov rax, rdi
inc rax
cmp word [rdx + rax*2], 0
jne 0x14002e5a3
mov r8d, eax
lea rcx, [rbp - 0x78]
call fcn.140002aa8
nop
mov edx, 0x116c8
lea rcx, [rbp + 0x570]
call fcn.140021760
nop
xor r9d, r9d
lea r8, [rbp - 0x80]
mov rdx, rax
call fcn.14004dcd0
nop
mov qword [rbp + 0x570], r15
mov rdx, qword [rbp + 0x590]
cmp rdx, 8
jb 0x14002e629
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x578]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e624
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f3bd
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c5590]
movdqu xmmword [rbp + 0x588], xmm0
mov word [rbp + 0x578], si
mov qword [rbp - 0x80], rbx
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002e661
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rbp - 0x80], r14
mov rdx, qword [rbp + 0x418]
cmp rdx, 8
jb 0x14002e6ab
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x400]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e6a6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f3c3
call fcn.14000410c
lea rdx, [0x1402b9b40]
lea rcx, [rbp + 0x360]
call fcn.140009744
nop
lea rcx, [rbp - 8]
call fcn.14001a690
lea rdx, [rbp + 0x360]
cmp qword [rbp + 0x378], 8
cmovae rdx, qword [rbp + 0x360]
mov r9d, dword [rbp + 0x68]
mov r8, qword [rbp + 0x370]
lea rcx, [rbp - 8]
call fcn.140020e70
nop
mov rdx, qword [rbp + 0x378]
cmp rdx, 8
jb 0x14002e73a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x360]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e735
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f3c9
call fcn.14000410c
movzx edx, word [rbp + 0x20c]
lea rcx, [rbp - 0x10]
call fcn.140018e70
lea rdx, [rbp + 0x420]
lea rcx, [rbp - 8]
call fcn.140019840
nop
mov qword [rbp - 0x70], rbx
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x14002f3cf
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x68], rax
lea rdx, [rbp + 0x420]
cmp qword [rbp + 0x438], 8
jb 0x14002e79f
mov rdx, qword [rbp + 0x420]
test rdx, rdx
jne 0x14002e79f
mov eax, esi
jmp 0x14002e7ac
mov rax, rdi
inc rax
cmp word [rdx + rax*2], 0
jne 0x14002e7a2
mov r8d, eax
lea rcx, [rbp - 0x68]
call fcn.140002aa8
nop
mov edx, 0x116c6
lea rcx, [rbp + 0x5a0]
call fcn.140021760
nop
xor r9d, r9d
lea r8, [rbp - 0x70]
mov rdx, rax
call fcn.14004dcd0
nop
mov qword [rbp + 0x5a0], r15
mov rdx, qword [rbp + 0x5c0]
cmp rdx, 8
jb 0x14002e828
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x5a8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e823
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f3da
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c5590]
movdqu xmmword [rbp + 0x5b8], xmm0
mov word [rbp + 0x5a8], si
mov qword [rbp - 0x70], rbx
mov rdx, qword [rbp - 0x68]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002e860
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rbp - 0x70], r14
mov rdx, qword [rbp + 0x438]
cmp rdx, 8
jb 0x14002e8aa
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x420]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e8a5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f3e0
call fcn.14000410c
lea rdx, [0x1402b9b40]
lea rcx, [rbp + 0x380]
call fcn.140009744
nop
lea rcx, [rbp - 8]
call fcn.14001a690
lea rdx, [rbp + 0x380]
cmp qword [rbp + 0x398], 8
cmovae rdx, qword [rbp + 0x380]
mov r9d, dword [rbp + 0x68]
mov r8, qword [rbp + 0x390]
lea rcx, [rbp - 8]
call fcn.140020e70
nop
mov rdx, qword [rbp + 0x398]
cmp rdx, 8
jb 0x14002e939
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x380]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e934
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f3e6
call fcn.14000410c
movzx edx, word [rbp + 0x314]
lea rcx, [rbp - 0x10]
call fcn.140032440
lea rdx, [rbp + 0x440]
lea rcx, [rbp - 8]
call fcn.140019840
nop
mov qword [rbp - 0x60], rbx
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x14002f3ec
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x58], rax
lea rdx, [rbp + 0x440]
cmp qword [rbp + 0x458], 8
jb 0x14002e99e
mov rdx, qword [rbp + 0x440]
test rdx, rdx
jne 0x14002e99e
mov eax, esi
jmp 0x14002e9ab
mov rax, rdi
inc rax
cmp word [rdx + rax*2], 0
jne 0x14002e9a1
mov r8d, eax
lea rcx, [rbp - 0x58]
call fcn.140002aa8
nop
mov edx, 0x116c4
lea rcx, [rbp + 0x5d0]
call fcn.140021760
nop
xor r9d, r9d
lea r8, [rbp - 0x60]
mov rdx, rax
call fcn.14004dcd0
nop
mov qword [rbp + 0x5d0], r15
mov rdx, qword [rbp + 0x5f0]
cmp rdx, 8
jb 0x14002ea27
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x5d8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002ea22
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f3f7
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c5590]
movdqu xmmword [rbp + 0x5e8], xmm0
mov word [rbp + 0x5d8], si
mov qword [rbp - 0x60], rbx
mov rdx, qword [rbp - 0x58]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002ea5f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rbp - 0x60], r14
mov rdx, qword [rbp + 0x458]
cmp rdx, 8
jb 0x14002eaa9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x440]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002eaa4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f3fd
call fcn.14000410c
lea rdx, [0x1402b9b40]
lea rcx, [rbp + 0x3a0]
call fcn.140009744
nop
lea rcx, [rbp - 8]
call fcn.14001a690
lea rdx, [rbp + 0x3a0]
cmp qword [rbp + 0x3b8], 8
cmovae rdx, qword [rbp + 0x3a0]
mov r9d, dword [rbp + 0x68]
mov r8, qword [rbp + 0x3b0]
lea rcx, [rbp - 8]
call fcn.140020e70
nop
mov rdx, qword [rbp + 0x3b8]
cmp rdx, 8
jb 0x14002eb38
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x3a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002eb33
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f403
call fcn.14000410c
movzx edx, word [rbp + 0x316]
lea rcx, [rbp - 0x10]
call fcn.140032440
lea rdx, [rbp + 0x460]
lea rcx, [rbp - 8]
call fcn.140019840
nop
mov qword [rbp - 0x50], rbx
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x14002f409
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x48], rax
lea rdx, [rbp + 0x460]
cmp qword [rbp + 0x478], 8
jb 0x14002eb9d
mov rdx, qword [rbp + 0x460]
test rdx, rdx
jne 0x14002eb9d
mov eax, esi
jmp 0x14002ebaa
mov rax, rdi
inc rax
cmp word [rdx + rax*2], 0
jne 0x14002eba0
mov r8d, eax
lea rcx, [rbp - 0x48]
call fcn.140002aa8
nop
mov edx, 0x116c5
lea rcx, [rbp + 0x600]
call fcn.140021760
nop
xor r9d, r9d
lea r8, [rbp - 0x50]
mov rdx, rax
call fcn.14004dcd0
nop
mov qword [rbp + 0x600], r15
mov rdx, qword [rbp + 0x620]
cmp rdx, 8
jb 0x14002ec26
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x608]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002ec21
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f414
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c5590]
movdqu xmmword [rbp + 0x618], xmm0
mov word [rbp + 0x608], si
mov qword [rbp - 0x50], rbx
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002ec5e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rbp - 0x50], r14
mov rdx, qword [rbp + 0x478]
cmp rdx, 8
jb 0x14002eca8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x460]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002eca3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f41a
call fcn.14000410c
lea rdx, [0x1402b9b40]
lea rcx, [rbp + 0x3c0]
call fcn.140009744
nop
lea rcx, [rbp - 8]
call fcn.14001a690
lea rdx, [rbp + 0x3c0]
cmp qword [rbp + 0x3d8], 8
cmovae rdx, qword [rbp + 0x3c0]
mov r9d, dword [rbp + 0x68]
mov r8, qword [rbp + 0x3d0]
lea rcx, [rbp - 8]
call fcn.140020e70
nop
mov rdx, qword [rbp + 0x3d8]
cmp rdx, 8
jb 0x14002ed37
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x3c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002ed32
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f420
call fcn.14000410c
movzx edx, word [rbp + 0x318]
lea rcx, [rbp - 0x10]
call fcn.140032440
lea rdx, [rbp + 0x480]
lea rcx, [rbp - 8]
call fcn.140019840
nop
mov qword [rsp + 0x30], r12
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x14002f426
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x38], rax
lea rdx, [rbp + 0x480]
cmp qword [rbp + 0x498], 8
jb 0x14002eda6
mov rdx, qword [rbp + 0x480]
test rdx, rdx
jne 0x14002eda6
lea rcx, [rsp + 0x38]
call fcn.1400028b4
jmp 0x14002edc8
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x14002edb0
mov r8d, eax
lea rcx, [rsp + 0x38]
call fcn.140002aa8
nop
mov edx, 0x116c3
lea rcx, [rbp + 0x6e0]
call fcn.140021760
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.14004dcd0
nop
mov qword [rbp + 0x6e0], r15
mov rdx, qword [rbp + 0x700]
cmp rdx, 8
jb 0x14002ee38
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x6e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002ee33
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f431
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c5590]
movdqu xmmword [rbp + 0x6f8], xmm0
mov word [rbp + 0x6e8], si
mov qword [rsp + 0x30], r12
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002ee72
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0x30], r14
mov rdx, qword [rbp + 0x498]
cmp rdx, 8
jb 0x14002eebd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x480]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002eeb8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f437
call fcn.14000410c
lea rdx, [0x1402b9b40]
lea rcx, [rbp + 0x3e0]
call fcn.140009744
nop
lea rcx, [rbp - 8]
call fcn.14001a690
lea rdx, [rbp + 0x3e0]
cmp qword [rbp + 0x3f8], 8
cmovae rdx, qword [rbp + 0x3e0]
mov r9d, dword [rbp + 0x68]
mov r8, qword [rbp + 0x3f0]
lea rcx, [rbp - 8]
call fcn.140020e70
nop
mov rdx, qword [rbp + 0x3f8]
cmp rdx, 8
jb 0x14002ef4c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x3e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002ef47
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f43d
call fcn.14000410c
movzx edx, byte [rbp + 0x31a]
lea rcx, [rbp - 0x10]
call fcn.1400126a0
lea rdx, [rbp + 0x4a0]
lea rcx, [rbp - 8]
call fcn.140019840
nop
mov qword [rsp + 0x40], r12
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x14002f443
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
lea rdx, [rbp + 0x4a0]
cmp qword [rbp + 0x4b8], 8
jb 0x14002efbb
mov rdx, qword [rbp + 0x4a0]
test rdx, rdx
jne 0x14002efbb
lea rcx, [rsp + 0x48]
call fcn.1400028b4
jmp 0x14002efd8
mov rax, rdi
nop
inc rax
cmp word [rdx + rax*2], 0
jne 0x14002efc0
mov r8d, eax
lea rcx, [rsp + 0x48]
call fcn.140002aa8
nop
mov edx, 0x116c2
lea rcx, [rbp + 0x660]
call fcn.140021760
nop
xor r9d, r9d
lea r8, [rsp + 0x40]
mov rdx, rax
call fcn.14004dcd0
nop
mov qword [rbp + 0x660], r15
mov rdx, qword [rbp + 0x680]
cmp rdx, 8
jb 0x14002f048
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x668]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002f043
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f44e
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c5590]
movdqu xmmword [rbp + 0x678], xmm0
mov word [rbp + 0x668], si
mov qword [rsp + 0x40], r12
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002f082
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0x40], r14
mov rdx, qword [rbp + 0x4b8]
cmp rdx, 8
jb 0x14002f0cd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x4a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002f0c8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f454
call fcn.14000410c
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
mov ebx, eax
lea rcx, [rbp + 0x100]
call fcn.140018c70
nop
mov rcx, qword [rbp + 0x110]
movsxd rdx, dword [rcx + 4]
mov ecx, dword [rbp + rdx + 0x128]
and ecx, 0xfffff9ff
bts ecx, 0xb
mov dword [rbp + rdx + 0x128], ecx
mov edx, 4
lea rcx, [rbp + 0xe8]
call fcn.140214110
mov rcx, qword [rbp + 0x110]
movsxd rdx, dword [rcx + 4]
lea rcx, [rbp + 0x110]
add rcx, rdx
mov rdx, qword [rax + 8]
call qword [rax]
mov rax, qword [rbp + 0x110]
movsxd rcx, dword [rax + 4]
mov eax, 0x30
mov word [rbp + rcx + 0x168], ax
mov rax, qword [rbp + 0x110]
movsxd rcx, dword [rax + 4]
or dword [rbp + rcx + 0x128], 4
mov edx, ebx
lea rcx, [rbp + 0x110]
call fcn.140018e70
lea rdx, [rbp + 0x520]
lea rcx, [rbp + 0x118]
call fcn.140019840
nop
lea rdx, [rbp + 0x520]
lea rcx, [rbp - 0x40]
call fcn.140048d30
mov rbx, rax
mov edx, 0x116dc
lea rcx, [rbp + 0x710]
call fcn.140021760
nop
xor r9d, r9d
mov r8, rbx
mov rdx, rax
call fcn.14004dcd0
nop
lea rcx, [rbp + 0x710]
call fcn.1400218f0
nop
mov qword [rbp - 0x40], r12
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002f1e0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rbp - 0x40], r14
mov rdx, qword [rbp + 0x538]
cmp rdx, 8
jb 0x14002f22b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x520]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002f225
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f45a
call fcn.14000410c
nop
lea rcx, [rbp + 0x100]
call fcn.140018b60
nop
lea rcx, [rbp - 0x20]
call fcn.140018b60
mov rax, qword [0x140319c88]
test rax, rax
jne 0x14002f277
mov ecx, 0xd0
call fcn.14007475c
mov qword [rbp + 0xe0], rax
test rax, rax
je 0x14002f26d
mov rcx, rax
call fcn.140010c40
jmp 0x14002f270
mov rax, rsi
mov qword [0x140319c88], rax
mov rdx, qword [rax + 0x10]
lea rcx, [rbp + 0x690]
call fcn.140009744
nop
lea rdx, [rbp + 0x690]
lea rcx, [rbp - 0x30]
call fcn.140048d30
mov rbx, rax
mov edx, 0x11627
lea rcx, [rbp + 0x740]
call fcn.140021760
nop
xor r9d, r9d
mov r8, rbx
mov rdx, rax
call fcn.14004dcd0
nop
lea rcx, [rbp + 0x740]
call fcn.1400218f0
nop
mov qword [rbp - 0x30], r12
mov rdx, qword [rbp - 0x28]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x14002f2e9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x6a8]
cmp rdx, 8
jb 0x14002f32b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x690]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002f326
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f35b
call fcn.14000410c
mov rcx, qword [rbp + 0x770]
xor rcx, rsp
call fcn.1402117c0
lea r11, [rsp + 0x880]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.14021a7fc
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021a7fc
nop
call fcn.14021a7fc
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021a7fc
nop
call fcn.14021a7fc
int3
call fcn.14021a7fc
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021a7fc
nop
call fcn.14021a7fc
int3
call fcn.14021a7fc
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021a7fc
nop
call fcn.14021a7fc
int3
call fcn.14021a7fc
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021a7fc
nop
call fcn.14021a7fc
int3
call fcn.14021a7fc
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021a7fc
nop
call fcn.14021a7fc
int3
call fcn.14021a7fc
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021a7fc
nop
call fcn.14021a7fc
int3
call fcn.14021a7fc
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021a7fc
nop
call fcn.14021a7fc
int3
call fcn.14021a7fc
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021a7fc
nop
call fcn.14021a7fc
nop
call fcn.14021a7fc
int3