Function at 0x14002dff0
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 [0x14030b918]
xor rax, rsp
mov qword [rbp + 0x770], rax
xor esi, esi
xor edx, edx
mov r8d, 0x118
lea rcx, [rbp + 0x204]
call fcn.1402167a0
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 0x14002f381
cmp dword [rbp + 0x204], 6
jb 0x14002e0b4
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x24]
lea rcx, [rsp + 0x28]
call fcn.14002c7f0
mov eax, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x28]
cmp dword [rbp + 0x204], ecx
jne 0x14002e09e
cmp dword [rbp + 0x208], eax
je 0x14002e0b4
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.140018c90
nop
movzx ebx, word [rbp + 0x20c]
mov edx, dword [rbp + 0x204]
lea rcx, [rbp - 0x10]
call fcn.140018e90
mov rcx, rax
mov dl, 0x2e
call fcn.140028d70
mov rcx, rax
mov edx, dword [rbp + 0x208]
call fcn.140018e90
mov rcx, rax
mov dl, 0x2e
call fcn.140028d70
mov rcx, rax
mov edx, ebx
call fcn.140018e90
lea rdx, [rbp + 0x4c0]
lea rcx, [rbp - 8]
call fcn.140019860
nop
lea rbx, vtable.srl::Version.0
mov qword [rsp + 0x50], rbx
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x14002f4a1
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 0x14002e15e
mov rdx, qword [rbp + 0x4c0]
test rdx, rdx
jne 0x14002e15e
mov eax, esi
jmp 0x14002e16b
mov rax, rdi
inc rax
cmp word [rdx + rax*2], 0
jne 0x14002e161
mov r8d, eax
lea rcx, [rsp + 0x58]
call fcn.140002aa8
nop
mov edx, 0x1168d
lea rcx, [rbp + 0x6b0]
call fcn.140021860
nop
xor r9d, r9d
lea r8, [rsp + 0x50]
mov rdx, rax
call fcn.14004de80
nop
lea r15, vtable.srl::GroupID.0
mov qword [rbp + 0x6b0], r15
mov rdx, qword [rbp + 0x6d0]
cmp rdx, 8
jb 0x14002e1f0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x6b8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e1eb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f4ac
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c5610]
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 0x14002e22a
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 0x14002e27c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x4c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e277
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f4b2
call fcn.14000410c
lea rdx, [rbp + 0x4e0]
lea rcx, [rbp - 8]
call fcn.140019860
nop
mov qword [rsp + 0x60], rbx
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x14002f4b8
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 0x14002e2d3
mov rdx, qword [rbp + 0x4e0]
test rdx, rdx
jne 0x14002e2d3
mov eax, esi
jmp 0x14002e2e0
mov rax, rdi
inc rax
cmp word [rdx + rax*2], 0
jne 0x14002e2d6
mov r8d, eax
lea rcx, [rsp + 0x68]
call fcn.140002aa8
nop
mov edx, 0x115a0
lea rcx, [rbp + 0x630]
call fcn.140021860
nop
xor r9d, r9d
lea r8, [rsp + 0x60]
mov rdx, rax
call fcn.14004de80
nop
mov qword [rbp + 0x630], r15
mov rdx, qword [rbp + 0x650]
cmp rdx, 8
jb 0x14002e35e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x638]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e359
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f4c3
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c5610]
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 0x14002e398
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 0x14002e3e3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x4e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e3de
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f4c9
call fcn.14000410c
lea rdx, [0x1402b9b30]
lea rcx, [rbp + 0x320]
call fcn.140009744
nop
lea rcx, [rbp - 8]
call fcn.14001a6b0
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.140020f70
nop
mov rdx, qword [rbp + 0x338]
cmp rdx, 8
jb 0x14002e472
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x320]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e46d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f4cf
call fcn.14000410c
mov edx, dword [rbp + 0x204]
lea rcx, [rbp - 0x10]
call fcn.140018e90
lea rdx, [rbp + 0x500]
lea rcx, [rbp - 8]
call fcn.140019860
nop
mov qword [rsp + 0x70], rbx
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x14002f4d5
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 0x14002e4d8
mov rdx, qword [rbp + 0x500]
test rdx, rdx
jne 0x14002e4d8
mov eax, esi
jmp 0x14002e4ea
mov rax, rdi
nop dword [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x14002e4e0
mov r8d, eax
lea rcx, [rsp + 0x78]
call fcn.140002aa8
nop
mov edx, 0x116c7
lea rcx, [rbp + 0x540]
call fcn.140021860
nop
xor r9d, r9d
lea r8, [rsp + 0x70]
mov rdx, rax
call fcn.14004de80
nop
mov qword [rbp + 0x540], r15
mov rdx, qword [rbp + 0x560]
cmp rdx, 8
jb 0x14002e568
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x548]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e563
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f4e0
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c5610]
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 0x14002e5a2
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 0x14002e5ed
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x500]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e5e8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f4e6
call fcn.14000410c
lea rdx, [0x1402b9b30]
lea rcx, [rbp + 0x340]
call fcn.140009744
nop
lea rcx, [rbp - 8]
call fcn.14001a6b0
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.140020f70
nop
mov rdx, qword [rbp + 0x358]
cmp rdx, 8
jb 0x14002e67c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x340]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e677
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f4ec
call fcn.14000410c
mov edx, dword [rbp + 0x208]
lea rcx, [rbp - 0x10]
call fcn.140018e90
lea rdx, [rbp + 0x400]
lea rcx, [rbp - 8]
call fcn.140019860
nop
mov qword [rbp - 0x80], rbx
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x14002f4f2
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 0x14002e6e0
mov rdx, qword [rbp + 0x400]
test rdx, rdx
jne 0x14002e6e0
mov eax, esi
jmp 0x14002e6ed
mov rax, rdi
inc rax
cmp word [rdx + rax*2], 0
jne 0x14002e6e3
mov r8d, eax
lea rcx, [rbp - 0x78]
call fcn.140002aa8
nop
mov edx, 0x116c8
lea rcx, [rbp + 0x570]
call fcn.140021860
nop
xor r9d, r9d
lea r8, [rbp - 0x80]
mov rdx, rax
call fcn.14004de80
nop
mov qword [rbp + 0x570], r15
mov rdx, qword [rbp + 0x590]
cmp rdx, 8
jb 0x14002e769
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x578]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e764
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f4fd
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c5610]
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 0x14002e7a1
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 0x14002e7eb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x400]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e7e6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f503
call fcn.14000410c
lea rdx, [0x1402b9b30]
lea rcx, [rbp + 0x360]
call fcn.140009744
nop
lea rcx, [rbp - 8]
call fcn.14001a6b0
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.140020f70
nop
mov rdx, qword [rbp + 0x378]
cmp rdx, 8
jb 0x14002e87a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x360]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e875
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f509
call fcn.14000410c
movzx edx, word [rbp + 0x20c]
lea rcx, [rbp - 0x10]
call fcn.140018e90
lea rdx, [rbp + 0x420]
lea rcx, [rbp - 8]
call fcn.140019860
nop
mov qword [rbp - 0x70], rbx
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x14002f50f
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 0x14002e8df
mov rdx, qword [rbp + 0x420]
test rdx, rdx
jne 0x14002e8df
mov eax, esi
jmp 0x14002e8ec
mov rax, rdi
inc rax
cmp word [rdx + rax*2], 0
jne 0x14002e8e2
mov r8d, eax
lea rcx, [rbp - 0x68]
call fcn.140002aa8
nop
mov edx, 0x116c6
lea rcx, [rbp + 0x5a0]
call fcn.140021860
nop
xor r9d, r9d
lea r8, [rbp - 0x70]
mov rdx, rax
call fcn.14004de80
nop
mov qword [rbp + 0x5a0], r15
mov rdx, qword [rbp + 0x5c0]
cmp rdx, 8
jb 0x14002e968
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x5a8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e963
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f51a
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c5610]
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 0x14002e9a0
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 0x14002e9ea
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x420]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e9e5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f520
call fcn.14000410c
lea rdx, [0x1402b9b30]
lea rcx, [rbp + 0x380]
call fcn.140009744
nop
lea rcx, [rbp - 8]
call fcn.14001a6b0
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.140020f70
nop
mov rdx, qword [rbp + 0x398]
cmp rdx, 8
jb 0x14002ea79
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x380]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002ea74
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f526
call fcn.14000410c
movzx edx, word [rbp + 0x314]
lea rcx, [rbp - 0x10]
call fcn.140032580
lea rdx, [rbp + 0x440]
lea rcx, [rbp - 8]
call fcn.140019860
nop
mov qword [rbp - 0x60], rbx
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x14002f52c
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 0x14002eade
mov rdx, qword [rbp + 0x440]
test rdx, rdx
jne 0x14002eade
mov eax, esi
jmp 0x14002eaeb
mov rax, rdi
inc rax
cmp word [rdx + rax*2], 0
jne 0x14002eae1
mov r8d, eax
lea rcx, [rbp - 0x58]
call fcn.140002aa8
nop
mov edx, 0x116c4
lea rcx, [rbp + 0x5d0]
call fcn.140021860
nop
xor r9d, r9d
lea r8, [rbp - 0x60]
mov rdx, rax
call fcn.14004de80
nop
mov qword [rbp + 0x5d0], r15
mov rdx, qword [rbp + 0x5f0]
cmp rdx, 8
jb 0x14002eb67
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x5d8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002eb62
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f537
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c5610]
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 0x14002eb9f
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 0x14002ebe9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x440]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002ebe4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f53d
call fcn.14000410c
lea rdx, [0x1402b9b30]
lea rcx, [rbp + 0x3a0]
call fcn.140009744
nop
lea rcx, [rbp - 8]
call fcn.14001a6b0
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.140020f70
nop
mov rdx, qword [rbp + 0x3b8]
cmp rdx, 8
jb 0x14002ec78
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x3a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002ec73
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f543
call fcn.14000410c
movzx edx, word [rbp + 0x316]
lea rcx, [rbp - 0x10]
call fcn.140032580
lea rdx, [rbp + 0x460]
lea rcx, [rbp - 8]
call fcn.140019860
nop
mov qword [rbp - 0x50], rbx
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x14002f549
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 0x14002ecdd
mov rdx, qword [rbp + 0x460]
test rdx, rdx
jne 0x14002ecdd
mov eax, esi
jmp 0x14002ecea
mov rax, rdi
inc rax
cmp word [rdx + rax*2], 0
jne 0x14002ece0
mov r8d, eax
lea rcx, [rbp - 0x48]
call fcn.140002aa8
nop
mov edx, 0x116c5
lea rcx, [rbp + 0x600]
call fcn.140021860
nop
xor r9d, r9d
lea r8, [rbp - 0x50]
mov rdx, rax
call fcn.14004de80
nop
mov qword [rbp + 0x600], r15
mov rdx, qword [rbp + 0x620]
cmp rdx, 8
jb 0x14002ed66
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x608]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002ed61
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f554
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c5610]
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 0x14002ed9e
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 0x14002ede8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x460]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002ede3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f55a
call fcn.14000410c
lea rdx, [0x1402b9b30]
lea rcx, [rbp + 0x3c0]
call fcn.140009744
nop
lea rcx, [rbp - 8]
call fcn.14001a6b0
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.140020f70
nop
mov rdx, qword [rbp + 0x3d8]
cmp rdx, 8
jb 0x14002ee77
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x3c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002ee72
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f560
call fcn.14000410c
movzx edx, word [rbp + 0x318]
lea rcx, [rbp - 0x10]
call fcn.140032580
lea rdx, [rbp + 0x480]
lea rcx, [rbp - 8]
call fcn.140019860
nop
mov qword [rsp + 0x30], r12
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x14002f566
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 0x14002eee6
mov rdx, qword [rbp + 0x480]
test rdx, rdx
jne 0x14002eee6
lea rcx, [rsp + 0x38]
call fcn.1400028b4
jmp 0x14002ef08
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x14002eef0
mov r8d, eax
lea rcx, [rsp + 0x38]
call fcn.140002aa8
nop
mov edx, 0x116c3
lea rcx, [rbp + 0x6e0]
call fcn.140021860
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.14004de80
nop
mov qword [rbp + 0x6e0], r15
mov rdx, qword [rbp + 0x700]
cmp rdx, 8
jb 0x14002ef78
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x6e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002ef73
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f571
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c5610]
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 0x14002efb2
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 0x14002effd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x480]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002eff8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f577
call fcn.14000410c
lea rdx, [0x1402b9b30]
lea rcx, [rbp + 0x3e0]
call fcn.140009744
nop
lea rcx, [rbp - 8]
call fcn.14001a6b0
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.140020f70
nop
mov rdx, qword [rbp + 0x3f8]
cmp rdx, 8
jb 0x14002f08c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x3e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002f087
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f57d
call fcn.14000410c
movzx edx, byte [rbp + 0x31a]
lea rcx, [rbp - 0x10]
call fcn.1400126c0
lea rdx, [rbp + 0x4a0]
lea rcx, [rbp - 8]
call fcn.140019860
nop
mov qword [rsp + 0x40], r12
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x14002f583
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 0x14002f0fb
mov rdx, qword [rbp + 0x4a0]
test rdx, rdx
jne 0x14002f0fb
lea rcx, [rsp + 0x48]
call fcn.1400028b4
jmp 0x14002f118
mov rax, rdi
nop
inc rax
cmp word [rdx + rax*2], 0
jne 0x14002f100
mov r8d, eax
lea rcx, [rsp + 0x48]
call fcn.140002aa8
nop
mov edx, 0x116c2
lea rcx, [rbp + 0x660]
call fcn.140021860
nop
xor r9d, r9d
lea r8, [rsp + 0x40]
mov rdx, rax
call fcn.14004de80
nop
mov qword [rbp + 0x660], r15
mov rdx, qword [rbp + 0x680]
cmp rdx, 8
jb 0x14002f188
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x668]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002f183
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f58e
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c5610]
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 0x14002f1c2
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 0x14002f20d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x4a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002f208
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f594
call fcn.14000410c
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
mov ebx, eax
lea rcx, [rbp + 0x100]
call fcn.140018c90
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.1402142c0
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.140018e90
lea rdx, [rbp + 0x520]
lea rcx, [rbp + 0x118]
call fcn.140019860
nop
lea rdx, [rbp + 0x520]
lea rcx, [rbp - 0x40]
call fcn.140048ee0
mov rbx, rax
mov edx, 0x116dc
lea rcx, [rbp + 0x710]
call fcn.140021860
nop
xor r9d, r9d
mov r8, rbx
mov rdx, rax
call fcn.14004de80
nop
lea rcx, [rbp + 0x710]
call fcn.1400219f0
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 0x14002f320
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 0x14002f36b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x520]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002f365
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f59a
call fcn.14000410c
nop
lea rcx, [rbp + 0x100]
call fcn.140018b80
nop
lea rcx, [rbp - 0x20]
call fcn.140018b80
mov rax, qword [0x14031ac88]
test rax, rax
jne 0x14002f3b7
mov ecx, 0xd8
call fcn.14007490c
mov qword [rbp + 0xe0], rax
test rax, rax
je 0x14002f3ad
mov rcx, rax
call fcn.140010c40
jmp 0x14002f3b0
mov rax, rsi
mov qword [0x14031ac88], rax
mov rdx, qword [rax + 0x10]
lea rcx, [rbp + 0x690]
call fcn.140009744
nop
lea rdx, [rbp + 0x690]
lea rcx, [rbp - 0x30]
call fcn.140048ee0
mov rbx, rax
mov edx, 0x11627
lea rcx, [rbp + 0x740]
call fcn.140021860
nop
xor r9d, r9d
mov r8, rbx
mov rdx, rax
call fcn.14004de80
nop
lea rcx, [rbp + 0x740]
call fcn.1400219f0
nop
mov qword [rbp - 0x30], r12
mov rdx, qword [rbp - 0x28]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x14002f429
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 0x14002f46b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x690]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002f466
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f49b
call fcn.14000410c
mov rcx, qword [rbp + 0x770]
xor rcx, rsp
call fcn.140211970
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.14021a9ac
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021a9ac
nop
call fcn.14021a9ac
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021a9ac
nop
call fcn.14021a9ac
int3
call fcn.14021a9ac
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021a9ac
nop
call fcn.14021a9ac
int3
call fcn.14021a9ac
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021a9ac
nop
call fcn.14021a9ac
int3
call fcn.14021a9ac
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021a9ac
nop
call fcn.14021a9ac
int3
call fcn.14021a9ac
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021a9ac
nop
call fcn.14021a9ac
int3
call fcn.14021a9ac
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021a9ac
nop
call fcn.14021a9ac
int3
call fcn.14021a9ac
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021a9ac
nop
call fcn.14021a9ac
int3
call fcn.14021a9ac
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021a9ac
nop
call fcn.14021a9ac
nop
call fcn.14021a9ac
int3