Function at 0x140030e80
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 [0x14030c918]
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.140217dc0
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 0x140032211
cmp dword [rbp + 0x204], 6
jb 0x140030f44
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x24]
lea rcx, [rsp + 0x28]
call fcn.14002f850
mov eax, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x28]
cmp dword [rbp + 0x204], ecx
jne 0x140030f2e
cmp dword [rbp + 0x208], eax
je 0x140030f44
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.140018c50
nop
movzx ebx, word [rbp + 0x20c]
mov edx, dword [rbp + 0x204]
lea rcx, [rbp - 0x10]
call fcn.140018e50
mov rcx, rax
mov dl, 0x2e
call fcn.140028990
mov rcx, rax
mov edx, dword [rbp + 0x208]
call fcn.140018e50
mov rcx, rax
mov dl, 0x2e
call fcn.140028990
mov rcx, rax
mov edx, ebx
call fcn.140018e50
lea rdx, [rbp + 0x4c0]
lea rcx, [rbp - 8]
call fcn.140019820
nop
lea rbx, vtable.srl::Version.0
mov qword [rsp + 0x50], rbx
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140032331
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 0x140030fee
mov rdx, qword [rbp + 0x4c0]
test rdx, rdx
jne 0x140030fee
mov eax, esi
jmp 0x140030ffb
mov rax, rdi
inc rax
cmp word [rdx + rax*2], 0
jne 0x140030ff1
mov r8d, eax
lea rcx, [rsp + 0x58]
call fcn.140002aa8
nop
mov edx, 0x1168d
lea rcx, [rbp + 0x6b0]
call fcn.1400214c0
nop
xor r9d, r9d
lea r8, [rsp + 0x50]
mov rdx, rax
call fcn.14004ecb0
nop
lea r15, vtable.srl::GroupID.0
mov qword [rbp + 0x6b0], r15
mov rdx, qword [rbp + 0x6d0]
cmp rdx, 8
jb 0x140031080
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x6b8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003107b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003233c
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c75d0]
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 0x1400310ba
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 0x14003110c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x4c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031107
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140032342
call fcn.14000410c
lea rdx, [rbp + 0x4e0]
lea rcx, [rbp - 8]
call fcn.140019820
nop
mov qword [rsp + 0x60], rbx
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140032348
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 0x140031163
mov rdx, qword [rbp + 0x4e0]
test rdx, rdx
jne 0x140031163
mov eax, esi
jmp 0x140031170
mov rax, rdi
inc rax
cmp word [rdx + rax*2], 0
jne 0x140031166
mov r8d, eax
lea rcx, [rsp + 0x68]
call fcn.140002aa8
nop
mov edx, 0x115a0
lea rcx, [rbp + 0x630]
call fcn.1400214c0
nop
xor r9d, r9d
lea r8, [rsp + 0x60]
mov rdx, rax
call fcn.14004ecb0
nop
mov qword [rbp + 0x630], r15
mov rdx, qword [rbp + 0x650]
cmp rdx, 8
jb 0x1400311ee
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x638]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400311e9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140032353
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c75d0]
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 0x140031228
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 0x140031273
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x4e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003126e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140032359
call fcn.14000410c
lea rdx, [0x1402bbac0]
lea rcx, [rbp + 0x320]
call fcn.140009744
nop
lea rcx, [rbp - 8]
call fcn.14001a670
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.140020bd0
nop
mov rdx, qword [rbp + 0x338]
cmp rdx, 8
jb 0x140031302
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x320]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400312fd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003235f
call fcn.14000410c
mov edx, dword [rbp + 0x204]
lea rcx, [rbp - 0x10]
call fcn.140018e50
lea rdx, [rbp + 0x500]
lea rcx, [rbp - 8]
call fcn.140019820
nop
mov qword [rsp + 0x70], rbx
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140032365
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 0x140031368
mov rdx, qword [rbp + 0x500]
test rdx, rdx
jne 0x140031368
mov eax, esi
jmp 0x14003137a
mov rax, rdi
nop dword [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140031370
mov r8d, eax
lea rcx, [rsp + 0x78]
call fcn.140002aa8
nop
mov edx, 0x116c7
lea rcx, [rbp + 0x540]
call fcn.1400214c0
nop
xor r9d, r9d
lea r8, [rsp + 0x70]
mov rdx, rax
call fcn.14004ecb0
nop
mov qword [rbp + 0x540], r15
mov rdx, qword [rbp + 0x560]
cmp rdx, 8
jb 0x1400313f8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x548]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400313f3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140032370
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c75d0]
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 0x140031432
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 0x14003147d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x500]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031478
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140032376
call fcn.14000410c
lea rdx, [0x1402bbac0]
lea rcx, [rbp + 0x340]
call fcn.140009744
nop
lea rcx, [rbp - 8]
call fcn.14001a670
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.140020bd0
nop
mov rdx, qword [rbp + 0x358]
cmp rdx, 8
jb 0x14003150c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x340]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031507
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003237c
call fcn.14000410c
mov edx, dword [rbp + 0x208]
lea rcx, [rbp - 0x10]
call fcn.140018e50
lea rdx, [rbp + 0x400]
lea rcx, [rbp - 8]
call fcn.140019820
nop
mov qword [rbp - 0x80], rbx
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140032382
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 0x140031570
mov rdx, qword [rbp + 0x400]
test rdx, rdx
jne 0x140031570
mov eax, esi
jmp 0x14003157d
mov rax, rdi
inc rax
cmp word [rdx + rax*2], 0
jne 0x140031573
mov r8d, eax
lea rcx, [rbp - 0x78]
call fcn.140002aa8
nop
mov edx, 0x116c8
lea rcx, [rbp + 0x570]
call fcn.1400214c0
nop
xor r9d, r9d
lea r8, [rbp - 0x80]
mov rdx, rax
call fcn.14004ecb0
nop
mov qword [rbp + 0x570], r15
mov rdx, qword [rbp + 0x590]
cmp rdx, 8
jb 0x1400315f9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x578]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400315f4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003238d
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c75d0]
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 0x140031631
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 0x14003167b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x400]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031676
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140032393
call fcn.14000410c
lea rdx, [0x1402bbac0]
lea rcx, [rbp + 0x360]
call fcn.140009744
nop
lea rcx, [rbp - 8]
call fcn.14001a670
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.140020bd0
nop
mov rdx, qword [rbp + 0x378]
cmp rdx, 8
jb 0x14003170a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x360]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031705
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140032399
call fcn.14000410c
movzx edx, word [rbp + 0x20c]
lea rcx, [rbp - 0x10]
call fcn.140018e50
lea rdx, [rbp + 0x420]
lea rcx, [rbp - 8]
call fcn.140019820
nop
mov qword [rbp - 0x70], rbx
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x14003239f
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 0x14003176f
mov rdx, qword [rbp + 0x420]
test rdx, rdx
jne 0x14003176f
mov eax, esi
jmp 0x14003177c
mov rax, rdi
inc rax
cmp word [rdx + rax*2], 0
jne 0x140031772
mov r8d, eax
lea rcx, [rbp - 0x68]
call fcn.140002aa8
nop
mov edx, 0x116c6
lea rcx, [rbp + 0x5a0]
call fcn.1400214c0
nop
xor r9d, r9d
lea r8, [rbp - 0x70]
mov rdx, rax
call fcn.14004ecb0
nop
mov qword [rbp + 0x5a0], r15
mov rdx, qword [rbp + 0x5c0]
cmp rdx, 8
jb 0x1400317f8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x5a8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400317f3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400323aa
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c75d0]
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 0x140031830
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 0x14003187a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x420]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031875
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400323b0
call fcn.14000410c
lea rdx, [0x1402bbac0]
lea rcx, [rbp + 0x380]
call fcn.140009744
nop
lea rcx, [rbp - 8]
call fcn.14001a670
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.140020bd0
nop
mov rdx, qword [rbp + 0x398]
cmp rdx, 8
jb 0x140031909
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x380]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031904
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400323b6
call fcn.14000410c
movzx edx, word [rbp + 0x314]
lea rcx, [rbp - 0x10]
call fcn.140035480
lea rdx, [rbp + 0x440]
lea rcx, [rbp - 8]
call fcn.140019820
nop
mov qword [rbp - 0x60], rbx
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x1400323bc
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 0x14003196e
mov rdx, qword [rbp + 0x440]
test rdx, rdx
jne 0x14003196e
mov eax, esi
jmp 0x14003197b
mov rax, rdi
inc rax
cmp word [rdx + rax*2], 0
jne 0x140031971
mov r8d, eax
lea rcx, [rbp - 0x58]
call fcn.140002aa8
nop
mov edx, 0x116c4
lea rcx, [rbp + 0x5d0]
call fcn.1400214c0
nop
xor r9d, r9d
lea r8, [rbp - 0x60]
mov rdx, rax
call fcn.14004ecb0
nop
mov qword [rbp + 0x5d0], r15
mov rdx, qword [rbp + 0x5f0]
cmp rdx, 8
jb 0x1400319f7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x5d8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400319f2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400323c7
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c75d0]
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 0x140031a2f
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 0x140031a79
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x440]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031a74
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400323cd
call fcn.14000410c
lea rdx, [0x1402bbac0]
lea rcx, [rbp + 0x3a0]
call fcn.140009744
nop
lea rcx, [rbp - 8]
call fcn.14001a670
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.140020bd0
nop
mov rdx, qword [rbp + 0x3b8]
cmp rdx, 8
jb 0x140031b08
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x3a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031b03
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400323d3
call fcn.14000410c
movzx edx, word [rbp + 0x316]
lea rcx, [rbp - 0x10]
call fcn.140035480
lea rdx, [rbp + 0x460]
lea rcx, [rbp - 8]
call fcn.140019820
nop
mov qword [rbp - 0x50], rbx
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x1400323d9
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 0x140031b6d
mov rdx, qword [rbp + 0x460]
test rdx, rdx
jne 0x140031b6d
mov eax, esi
jmp 0x140031b7a
mov rax, rdi
inc rax
cmp word [rdx + rax*2], 0
jne 0x140031b70
mov r8d, eax
lea rcx, [rbp - 0x48]
call fcn.140002aa8
nop
mov edx, 0x116c5
lea rcx, [rbp + 0x600]
call fcn.1400214c0
nop
xor r9d, r9d
lea r8, [rbp - 0x50]
mov rdx, rax
call fcn.14004ecb0
nop
mov qword [rbp + 0x600], r15
mov rdx, qword [rbp + 0x620]
cmp rdx, 8
jb 0x140031bf6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x608]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031bf1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400323e4
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c75d0]
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 0x140031c2e
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 0x140031c78
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x460]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031c73
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400323ea
call fcn.14000410c
lea rdx, [0x1402bbac0]
lea rcx, [rbp + 0x3c0]
call fcn.140009744
nop
lea rcx, [rbp - 8]
call fcn.14001a670
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.140020bd0
nop
mov rdx, qword [rbp + 0x3d8]
cmp rdx, 8
jb 0x140031d07
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x3c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031d02
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400323f0
call fcn.14000410c
movzx edx, word [rbp + 0x318]
lea rcx, [rbp - 0x10]
call fcn.140035480
lea rdx, [rbp + 0x480]
lea rcx, [rbp - 8]
call fcn.140019820
nop
mov qword [rsp + 0x30], r12
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x1400323f6
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 0x140031d76
mov rdx, qword [rbp + 0x480]
test rdx, rdx
jne 0x140031d76
lea rcx, [rsp + 0x38]
call fcn.1400028b4
jmp 0x140031d98
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140031d80
mov r8d, eax
lea rcx, [rsp + 0x38]
call fcn.140002aa8
nop
mov edx, 0x116c3
lea rcx, [rbp + 0x6e0]
call fcn.1400214c0
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.14004ecb0
nop
mov qword [rbp + 0x6e0], r15
mov rdx, qword [rbp + 0x700]
cmp rdx, 8
jb 0x140031e08
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x6e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031e03
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140032401
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c75d0]
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 0x140031e42
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 0x140031e8d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x480]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031e88
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140032407
call fcn.14000410c
lea rdx, [0x1402bbac0]
lea rcx, [rbp + 0x3e0]
call fcn.140009744
nop
lea rcx, [rbp - 8]
call fcn.14001a670
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.140020bd0
nop
mov rdx, qword [rbp + 0x3f8]
cmp rdx, 8
jb 0x140031f1c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x3e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031f17
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003240d
call fcn.14000410c
movzx edx, byte [rbp + 0x31a]
lea rcx, [rbp - 0x10]
call fcn.140012680
lea rdx, [rbp + 0x4a0]
lea rcx, [rbp - 8]
call fcn.140019820
nop
mov qword [rsp + 0x40], r12
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140032413
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 0x140031f8b
mov rdx, qword [rbp + 0x4a0]
test rdx, rdx
jne 0x140031f8b
lea rcx, [rsp + 0x48]
call fcn.1400028b4
jmp 0x140031fa8
mov rax, rdi
nop
inc rax
cmp word [rdx + rax*2], 0
jne 0x140031f90
mov r8d, eax
lea rcx, [rsp + 0x48]
call fcn.140002aa8
nop
mov edx, 0x116c2
lea rcx, [rbp + 0x660]
call fcn.1400214c0
nop
xor r9d, r9d
lea r8, [rsp + 0x40]
mov rdx, rax
call fcn.14004ecb0
nop
mov qword [rbp + 0x660], r15
mov rdx, qword [rbp + 0x680]
cmp rdx, 8
jb 0x140032018
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x668]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140032013
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003241e
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c75d0]
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 0x140032052
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 0x14003209d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x4a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140032098
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140032424
call fcn.14000410c
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
mov ebx, eax
lea rcx, [rbp + 0x100]
call fcn.140018c50
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.1402158e0
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.140018e50
lea rdx, [rbp + 0x520]
lea rcx, [rbp + 0x118]
call fcn.140019820
nop
lea rdx, [rbp + 0x520]
lea rcx, [rbp - 0x40]
call fcn.140049d10
mov rbx, rax
mov edx, 0x116dc
lea rcx, [rbp + 0x710]
call fcn.1400214c0
nop
xor r9d, r9d
mov r8, rbx
mov rdx, rax
call fcn.14004ecb0
nop
lea rcx, [rbp + 0x710]
call fcn.140021650
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 0x1400321b0
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 0x1400321fb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x520]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400321f5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003242a
call fcn.14000410c
nop
lea rcx, [rbp + 0x100]
call fcn.140018b40
nop
lea rcx, [rbp - 0x20]
call fcn.140018b40
mov rax, qword [0x14031bc18]
test rax, rax
jne 0x140032247
mov ecx, 0xc8
call fcn.140075f2c
mov qword [rbp + 0xe0], rax
test rax, rax
je 0x14003223d
mov rcx, rax
call fcn.140010c40
jmp 0x140032240
mov rax, rsi
mov qword [0x14031bc18], rax
mov rdx, qword [rax + 0x10]
lea rcx, [rbp + 0x690]
call fcn.140009744
nop
lea rdx, [rbp + 0x690]
lea rcx, [rbp - 0x30]
call fcn.140049d10
mov rbx, rax
mov edx, 0x11627
lea rcx, [rbp + 0x740]
call fcn.1400214c0
nop
xor r9d, r9d
mov r8, rbx
mov rdx, rax
call fcn.14004ecb0
nop
lea rcx, [rbp + 0x740]
call fcn.140021650
nop
mov qword [rbp - 0x30], r12
mov rdx, qword [rbp - 0x28]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x1400322b9
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 0x1400322fb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x690]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400322f6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003232b
call fcn.14000410c
mov rcx, qword [rbp + 0x770]
xor rcx, rsp
call fcn.140212f90
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.14021bfcc
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021bfcc
nop
call fcn.14021bfcc
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021bfcc
nop
call fcn.14021bfcc
int3
call fcn.14021bfcc
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021bfcc
nop
call fcn.14021bfcc
int3
call fcn.14021bfcc
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021bfcc
nop
call fcn.14021bfcc
int3
call fcn.14021bfcc
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021bfcc
nop
call fcn.14021bfcc
int3
call fcn.14021bfcc
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021bfcc
nop
call fcn.14021bfcc
int3
call fcn.14021bfcc
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021bfcc
nop
call fcn.14021bfcc
int3
call fcn.14021bfcc
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021bfcc
nop
call fcn.14021bfcc
int3
call fcn.14021bfcc
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021bfcc
nop
call fcn.14021bfcc
nop
call fcn.14021bfcc
int3