Function at 0x16004cc40
Capabilities:
Check for time delay via gettickcount
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x2340
call fcn.160072500
sub rsp, rax
mov qword [rsp + 0x488], 0xfffffffffffffffe
mov rax, qword [0x160270bd8]
xor rax, rsp
mov qword [rsp + 0x2330], rax
mov r12, rcx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0xe0], rcx
xor esi, esi
mov r14d, esi
mov dword [rsp + 0x40], esi
cmp dword [rcx + 0x98], esi
je 0x16004ccaa
mov eax, 0x80040d76
jmp 0x1600517f8
mov rax, qword [rcx]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xf0], xmm0
mov rbx, qword [rax + 8]
mov rdi, qword [rax]
test rbx, rbx
je 0x16004ccce
lock inc dword [rbx + 8]
mov r14d, dword [rsp + 0x40]
mov qword [rsp + 0xf8], rbx
mov qword [rsp + 0xf0], rdi
mov rax, qword [rcx]
cmp dword [rax + 0x3430], 1
jne 0x16004cd44
mov rax, qword [0x160273d18]
mov rsi, qword [rax + 0xf98]
test rsi, rsi
je 0x16004cd30
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 8]
call qword [case.0x16003fc5a.0]
mov rax, qword [r12]
mov rdx, qword [rax + 0x37b0]
mov rcx, rsi
call fcn.160014fa8
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax]
call qword [case.0x16003fc5a.0]
nop
test rbx, rbx
je 0x16004cd3d
mov rcx, rbx
call fcn.16003fbc0
xor eax, eax
jmp 0x1600517f8
mov eax, dword [rsp + 0x2388]
mov dword [rsp + 0x9c], eax
mov edi, 1
mov dword [rsp + 0x78], edi
mov qword [rsp + 0x60], rsi
lea rbx, fcn.160065ac0
lea r15, [0x1601bbdf0]
lea r11, [fcn.16003e020]
lea rcx, [0x1601bbe98]
lea r8, [0x1601bbed0]
lea r9, [0x1601bbe28]
lea r10, fcn.16003df60
lea rdx, [0x1601bbf40]
test r14d, r14d
js 0x160051583
mov dword [rsp + 0xe58], esi
mov qword [rsp + 0xe50], rdx
xor eax, eax
mov qword [rsp + 0xe60], rax
mov qword [rsp + 0xe68], rax
mov qword [rsp + 0xe70], rax
mov qword [rsp + 0xeb8], r15
lea rax, [rsp + 0xed0]
mov qword [rsp + 0xec0], rax
mov qword [rsp + 0xec8], 0x21
mov word [rsp + 0xed0], si
mov qword [rsp + 0xeb8], r10
mov qword [rsp + 0xf38], r15
lea rax, [rsp + 0xf50]
mov qword [rsp + 0xf40], rax
mov qword [rsp + 0xf48], 0x61
mov word [rsp + 0xf50], si
mov qword [rsp + 0xf38], r9
mov qword [rsp + 0x1018], r15
lea rax, [rsp + 0x1030]
mov qword [rsp + 0x1020], rax
mov qword [rsp + 0x1028], 0x101
mov word [rsp + 0x1030], si
mov qword [rsp + 0x1018], r8
mov qword [rsp + 0x1238], rsi
mov qword [rsp + 0x1240], rsi
mov dword [rsp + 0x1248], esi
mov dword [rsp + 0x124c], edi
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x1250], xmm0
mov qword [rsp + 0x1260], rsi
mov dword [rsp + 0x1268], esi
mov dword [rsp + 0xf18], esi
mov qword [rsp + 0xf20], rsi
mov qword [rsp + 0xf28], 0
mov dword [rsp + 0xf30], 0xffffffff
mov qword [rsp + 0xe50], rcx
mov dword [rsp + 0x1270], esi
mov r13, rsi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rsi
mov rax, qword [0x160273d18]
mov r15, qword [rax + 0xf98]
test r15, r15
je 0x16004d2b1
mov rbx, qword [rsp + 0xf0]
mov rax, qword [rbx]
mov rax, qword [rax + 8]
lea rcx, [fcn.160028bc0]
cmp rax, rcx
jne 0x16004cf56
xor eax, eax
mov qword [rsp + 0x490], rax
lea rcx, [rbx + 0x10]
cmp rax, qword [rcx]
jne 0x16004cf64
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetSystemTimeAsFileTime]
mov rdx, rbx
call fcn.160028bf0
mov rcx, qword [rsp + 0x2378]
test eax, eax
jns 0x16004cf64
mov r9d, eax
lea r8, [0x1601dc100]
mov edx, 0x13a
call fcn.160071f6c
jmp 0x16004cf64
mov rcx, qword [rsp + 0xf0]
call qword [case.0x16003fc5a.0]
mov rax, qword [r12]
mov r13, qword [rax + 0x37b0]
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetTickCount]
mov ebx, eax
mov dword [r15 + 0x1b4], eax
mov rax, qword [r15 + 0x58]
cmp dword [rax + 0x2c], 0
je 0x16004cfbd
nop dword [rax + rax]
mov eax, dword [0x160271bb8]
cmp ebx, eax
jb 0x16004cfbd
mov rcx, qword [r15 + 0x58]
mov rcx, qword [rcx + 0x18]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_SetEvent]
mov ecx, 5
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
mov rax, qword [r15 + 0x58]
cmp dword [rax + 0x2c], 0
jne 0x16004cf90
lock inc dword [r15 + 0x15c]
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetCurrentThreadId]
mov r14d, eax
lea rbx, [r15 + 0x288]
mov qword [rsp + 0x1e8], rbx
lea r12, [rbx + 0x10]
mov rcx, r12
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
lock inc dword [rbx]
mov rbx, qword [rsp + 0x1e8]
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetCurrentThreadId]
mov dword [rbx + 4], eax
lea rdi, [rbx + 0x38]
mov qword [rsp + 0x498], rdi
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
nop
cmp dword [rbx + 8], 0
je 0x16004d030
mov rcx, rbx
call fcn.16000dfd0
mov rcx, qword [rbx + 0x68]
call fcn.160054648
mov esi, 1
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
nop
test esi, esi
je 0x16004d04b
or edx, 0xffffffff
mov rcx, qword [rbx + 0x68]
call fcn.160054628
nop
mov rax, qword [r15 + 0x280]
test rax, rax
je 0x16004d076
nop word [rax + rax]
mov rsi, qword [rax + 8]
cmp dword [rsi + 0x18], r14d
je 0x16004d111
mov rax, qword [rax]
test rax, rax
jne 0x16004d060
mov ecx, 0x30
mov rax, qword [0x1601c0fd0]
call qword [case.0x16003fc5a.0]
mov rsi, rax
mov qword [rsp + 0x288], rax
xor r14d, r14d
test rax, rax
je 0x16004d0cc
mov eax, dword [r15 + 0x2f8]
mov qword [rsi], r14
mov qword [rsi + 8], r14
mov dword [rsi + 0x10], eax
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetTickCount]
mov dword [rsi + 0x14], eax
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetCurrentThreadId]
mov dword [rsi + 0x18], eax
mov byte [rsi + 0x1c], r14b
mov dword [rsi + 0x20], r14d
mov qword [rsi + 0x28], r14
jmp 0x16004d0cf
mov rsi, r14
mov rcx, rsi
mov qword [rsp + 0x2c0], rcx
test rsi, rsi
je 0x16004d106
mov rcx, r14
mov qword [rsp + 0x2c0], rcx
mov rax, qword [r15 + 0x280]
mov qword [rsi], rax
mov qword [rsi + 8], rsi
mov qword [r15 + 0x280], rsi
inc dword [r15 + 0x2fc]
test rcx, rcx
je 0x16004d111
call fcn.160015580
nop
test rsi, rsi
je 0x16004d11a
mov byte [rsi + 0x1c], 1
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
cmp dword [rbx], 1
jne 0x16004d12f
mov dword [rbx + 4], 0xffffffff
lock dec dword [rbx]
mov rbx, qword [rsp + 0x1e8]
mov rax, qword [rbx + 0x60]
test rax, rax
jne 0x16004d174
lea ecx, [rax + 8]
mov rax, qword [0x1601c0fd8]
call qword [case.0x16003fc5a.0]
mov qword [rsp + 0x208], rax
test rax, rax
je 0x16004d16a
mov rcx, rax
call fcn.160054664
jmp 0x16004d170
xor r14d, r14d
mov eax, r14d
mov qword [rbx + 0x60], rax
mov rcx, qword [rax]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_SetEvent]
test eax, eax
je 0x16005181b
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
nop
mov rcx, r12
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
nop
test rsi, rsi
je 0x16004d1b0
mov r8d, dword [r15 + 0x2fc]
mov rdx, r13
mov rcx, rsi
call fcn.160015340
lock dec dword [r15 + 0x15c]
mov rbx, qword [rsp + 0xf0]
mov rax, qword [rbx]
mov rax, qword [rax]
lea rcx, [fcn.160028b60]
cmp rax, rcx
jne 0x16004d289
xor eax, eax
mov qword [rsp + 0x440], rax
mov qword [rsp + 0x448], rax
movups xmm0, xmmword [rsp + 0x440]
movups xmmword [rbx + 8], xmm0
lea rcx, [0x1602739a0]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
lea rax, [0x160273960]
mov qword [rsp + 0x518], rax
xor esi, esi
cmp qword [0x160273988], rsi
jne 0x16004d268
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x30], esi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rax
lea r9, [0x1601a1320]
xor r8d, r8d
mov rdx, qword [0x1601f6ab0]
lea rcx, [0x160273988]
call qword [sym.imp.ntdll.dll_RtlSubscribeWnfStateChangeNotification]
cmp byte [0x160273981], sil
jne 0x16004d268
mov rcx, qword [rsp + 0x2378]
test eax, eax
jns 0x16004d268
mov r9d, eax
call fcn.1600723a0
mov byte [0x160273981], 1
lea rcx, [0x1602739a0]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
nop
lea rcx, [rbx + 8]
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetSystemTimeAsFileTime]
jmp 0x16004d299
mov rcx, qword [rsp + 0xf0]
call qword [case.0x16003fc5a.0]
xor esi, esi
mov r13, qword [rsp + 0x50]
lea r11, [fcn.16003e020]
lea rbx, fcn.160065ac0
mov qword [rsp + 0x48], r13
mov r12, rsi
mov r14d, esi
mov rdi, qword [rsp + 0x58]
cmp dword [rdi + 0x90], 0
je 0x16004d389
lea rcx, [rdi + 0x78]
cmp dword [rcx + 0x18], 0
jne 0x16004d2d8
mov rbx, rsi
jmp 0x16004d2ff
lea rax, [rcx + 8]
cmp rcx, rax
jne 0x16004d2e6
mov rbx, rsi
jmp 0x16004d2ff
mov rbx, qword [rcx]
mov rax, qword [rbx]
mov qword [rcx], rax
cmp rbx, qword [rcx + 0x10]
jne 0x16004d2f9
mov qword [rcx + 0x10], rcx
dec dword [rcx + 0x18]
mov qword [rbx], rsi
test rbx, rbx
je 0x16004d371
mov rcx, qword [rbx + 8]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
lea rdx, [fcn.160032400]
cmp rax, rdx
jne 0x16004d322
call fcn.160032400
jmp 0x16004d328
call qword [case.0x16003fc5a.0]
mov r13, qword [rbx + 8]
mov qword [rsp + 0x48], r13
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x16004d35b
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
lea rdx, [fcn.160032540]
cmp rax, rdx
jne 0x16004d354
call fcn.160032540
jmp 0x16004d35b
call qword [case.0x16003fc5a.0]
nop
mov rcx, rbx
mov rax, qword [0x1601c0fe0]
call qword [case.0x16003fc5a.0]
nop
mov qword [rsp + 0x50], r13
inc dword [rdi + 0x70]
mov eax, dword [rdi + 0x70]
mov dword [r13 + 0x28], eax
mov dword [r13 + 0x58], esi
mov dword [rsp + 0x40], r14d
jmp 0x16004dc1e
cmp dword [rsp + 0x2390], 0
je 0x16004d3a3
mov r14d, 0x80070026
mov dword [rsp + 0x40], r14d
jmp 0x16004dd27
mov rax, qword [rsp + 0xe50]
mov rax, qword [rax + 8]
cmp rax, r11
jne 0x16004d3bd
inc dword [rsp + 0xe58]
jmp 0x16004d3cb
lea rcx, [rsp + 0xe50]
call qword [case.0x16003fc5a.0]
lea r13, [rsp + 0xe50]
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], r13
mov rax, qword [0x160273d18]
mov rcx, qword [rax + 0x1d78]
test rcx, rcx
je 0x16004d3fd
lock inc dword [rcx]
mov r13, qword [rsp + 0x50]
mov qword [rsp + 0x48], r13
mov r15, qword [rdi]
add r15, 0x60
mov rax, qword [r15 + 0x3190]
cmp dword [rax + 0x18c0], 0
je 0x16004d59b
cmp dword [r15 + 0x31c8], 0
jne 0x16004d59b
cmp dword [rax + 0xa0], 0
jl 0x16004d59b
lea rsi, [r15 + 0x31b0]
test rsi, rsi
je 0x16004d599
movzx ecx, word [rsi]
test cx, cx
je 0x16004d599
mov eax, ecx
and eax, 0xfff
sub eax, 0x42
cmp eax, 1
jbe 0x16004d599
cmp cx, 8
jne 0x16004d482
mov rax, qword [rsi + 8]
mov ecx, 8
test rax, rax
je 0x16004d482
mov rcx, rax
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
movzx ecx, word [rsi]
mov eax, 0x1000
test ax, cx
je 0x16004d592
mov eax, 0xffff
cmp cx, ax
je 0x16004d592
mov edx, dword [rsi + 8]
movzx eax, cx
and eax, 0xfff
cmp eax, 0x1f
je 0x16004d57b
cmp eax, 8
je 0x16004d530
cmp eax, 0xc
je 0x16004d4dc
cmp eax, 0x1e
jne 0x16004d592
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x16004d592
call fcn.160031c48
jmp 0x16004d592
mov rcx, qword [rsi + 0x10]
xor r14d, r14d
test rcx, rcx
je 0x16004d595
test edx, edx
jle 0x16004d51d
mov ebx, r14d
mov rdi, rdx
nop word [rax + rax]
mov rdx, qword [rsi + 0x10]
add rdx, rbx
mov rcx, r15
call fcn.16006cf38
add rbx, 0x18
sub rdi, 1
jne 0x16004d500
mov rcx, qword [rsi + 0x10]
lea rax, [r15 + 0x32f0]
cmp rcx, rax
je 0x16004d595
call fcn.160031c48
jmp 0x16004d595
mov rax, qword [rsi + 0x10]
xor r14d, r14d
test rax, rax
je 0x16004d595
test edx, edx
jle 0x16004d571
mov ebx, r14d
mov rdi, rdx
nop word [rax + rax]
mov rax, qword [rsi + 0x10]
mov rcx, qword [rax + rbx]
test rcx, rcx
je 0x16004d567
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rax, qword [rsi + 0x10]
add rbx, 8
sub rdi, 1
jne 0x16004d550
mov rcx, rax
call fcn.160031c48
jmp 0x16004d595
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x16004d592
mov rax, qword [0x1601c0fe0]
call qword [case.0x16003fc5a.0]
nop
xor r14d, r14d
mov word [rsi], r14w
xor esi, esi
mov rax, qword [r15 + 0x3190]
mov dword [rax + 0x18c0], esi
mov rax, qword [r15 + 0x3198]
mov rsi, qword [r15 + 0x3190]
cmp dword [rax + 0x18c0], 0
je 0x16004d5e9
mov qword [r15 + 0x3198], rsi
mov qword [r15 + 0x3190], rax
mov dword [rsi + 0x18c0], 0
mov rax, qword [r15 + 0x3190]
mov ebx, dword [rax + 0xa0]
jmp 0x16004d771
mov rdx, rsi
mov rcx, r15
call fcn.16003b070
mov ebx, eax
mov dword [rsi + 0x18c0], 1
mov dword [rsi + 0xa0], eax
test eax, eax
js 0x16004d771
cmp eax, 0x40d24
je 0x16004d963
cmp eax, 0x41203
je 0x16004d771
cmp eax, 0x41209
je 0x16004d771
cmp eax, 0x4120c
je 0x16004d771
add eax, 0xfffbf2d0
cmp eax, 0x3e
ja 0x16004d658
movabs rcx, 0x4400000000000001
bt rcx, rax
jb 0x16004d771
cmp ebx, 0x40d71
je 0x16004d771
cmp dword [r15 + 0x31cc], 0
je 0x16004d682
mov rcx, r15
call fcn.1600aee2c
mov ebx, 0x80040d12
xor esi, esi
jmp 0x16004d972
mov eax, dword [r15 + 0x3378]
lea edx, [rax + 7]
and edx, 0xfffffff8
mov r8d, edx
sub r8d, eax
mov ecx, dword [r15 + 0x337c]
je 0x16004d6b9
mov eax, r8d
add qword [r15 + 0x3370], rax
sub ecx, r8d
mov dword [r15 + 0x337c], ecx
mov dword [r15 + 0x3378], edx
cmp ecx, 0x40
jae 0x16004d6c8
mov ebx, 0x80040d12
jmp 0x16004d771
mov rax, qword [r15 + 0x3370]
movups xmm0, xmmword [rax]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsi + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rsi + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rsi + 0x30], xmm1
add qword [r15 + 0x3370], 0x40
add dword [r15 + 0x337c], 0xffffffc0
add dword [r15 + 0x3378], 0x40
xor ebx, ebx
cmp dword [rsi + 0x20], ebx
jne 0x16004d771
lea r8, [rsp + 0xc0]
lea rdx, [rsp + 0x1f0]
mov rcx, r15
call fcn.16006cfb0
mov ebx, eax
test eax, eax
js 0x16004d771
mov rax, qword [rsi + 0x40]
mov rax, qword [rax + 0x20]
lea rcx, [fcn.160034660]
mov r9d, dword [rsp + 0xc0]
xor r8d, r8d
mov rdx, qword [rsp + 0x1f0]
cmp rax, rcx
lea rcx, [rsi + 0x40]
jne 0x16004d75c
call fcn.160034660
jmp 0x16004d762
call qword [case.0x16003fc5a.0]
xor edx, edx
lea rcx, [rsi + 0x40]
call fcn.160034ad4
mov qword [rsi + 0x28], rax
cmp ebx, 0x40d24
je 0x16004d963
cmp ebx, 0x41203
je 0x16004d963
cmp ebx, 0x41209
je 0x16004d963
cmp ebx, 0x4120c
je 0x16004d963
lea eax, [rbx - 0x40d30]
cmp eax, 0x3e
ja 0x16004d7c0
movabs rcx, 0x4400000000000001
bt rcx, rax
jb 0x16004d963
cmp ebx, 0x40d71
je 0x16004d963
test ebx, ebx
js 0x16004d95f
mov r12, qword [r15 + 0x3190]
mov eax, dword [r12 + 8]
cmp eax, 1
jne 0x16004d940
mov rdx, r12
mov rcx, r15
call fcn.16003b070
mov ebx, eax
test eax, eax
js 0x16004d931
cmp dword [r15 + 0x31cc], 1
je 0x16004d827
mov rcx, r15
call fcn.1600aee2c
mov ebx, 0x80040d12
mov dword [r15 + 0x31c8], 1
xor esi, esi
jmp 0x16004d972
lea rsi, [r15 + 0x31a8]
lea rdi, [r15 + 0x31a0]
test rdi, rdi
jne 0x16004d851
mov ebx, 0x80004003
mov dword [r15 + 0x31c8], 1
xor esi, esi
jmp 0x16004d972
mov eax, dword [r15 + 0x3378]
lea ecx, [rax + 3]
and ecx, 0xfffffffc
mov r9d, ecx
mov r8d, ecx
sub r8d, eax
mov edx, dword [r15 + 0x337c]
je 0x16004d88d
mov eax, r8d
add qword [r15 + 0x3370], rax
sub edx, r8d
mov dword [r15 + 0x337c], edx
mov dword [r15 + 0x3378], ecx
jmp 0x16004d890
mov r9d, eax
cmp edx, 4
jae 0x16004d8a4
mov ebx, 0x80040d12
mov rcx, r15
call fcn.1600aee2c
jmp 0x16004d8d6
mov rcx, qword [r15 + 0x3370]
mov eax, dword [rcx]
mov dword [rsp + 0xc4], eax
lea rax, [rcx + 4]
mov qword [r15 + 0x3370], rax
lea eax, [rdx - 4]
mov dword [r15 + 0x337c], eax
lea eax, [r9 + 4]
mov dword [r15 + 0x3378], eax
xor ebx, ebx
test ebx, ebx
js 0x16004d931
mov eax, dword [rsp + 0xc4]
lea ecx, [rax*2 + 2]
cmp dword [r15 + 0x337c], ecx
jae 0x16004d900
mov ebx, 0x80040d12
mov rcx, r15
call fcn.1600aee2c
jmp 0x16004d923
mov rax, qword [r15 + 0x3370]
mov qword [rdi], rax
mov eax, ecx
add qword [r15 + 0x3370], rax
sub dword [r15 + 0x337c], ecx
add dword [r15 + 0x3378], ecx
xor ebx, ebx
test rsi, rsi
je 0x16004d931
mov eax, dword [rsp + 0xc4]
mov dword [rsi], eax
mov dword [r15 + 0x31c8], 1
xor esi, esi
jmp 0x16004d972
cmp eax, 2
jne 0x16004d95a
mov rcx, r15
call fcn.16003aba0
mov ebx, eax
xor esi, esi
mov dword [r15 + 0x31c8], esi
jmp 0x16004d972
mov ebx, 0x80004005
xor esi, esi
jmp 0x16004d972
mov rax, qword [r15 + 0x3190]
xor esi, esi
mov dword [rax + 0x18c0], esi
mov r14d, ebx
mov rax, qword [0x160273d18]
mov rcx, qword [rax + 0x1d78]
test rcx, rcx
je 0x16004d995
lock dec dword [rcx]
mov r13, qword [rsp + 0x50]
mov qword [rsp + 0x48], r13
cmp ebx, 0x41209
je 0x16004dc17
cmp ebx, 0x4120c
je 0x16004dc17
cmp ebx, 0x41203
je 0x16004dc17
lea eax, [rbx - 0x40d30]
cmp eax, 0x3e
ja 0x16004d9d8
movabs rcx, 0x4400000000000001
bt rcx, rax
jb 0x16004dc17
cmp ebx, 0x40d24
je 0x16004dc17
cmp ebx, 0x40d71
je 0x16004dc17
test ebx, ebx
js 0x16004dc10
mov rdi, qword [rsp + 0x58]
inc dword [rdi + 0x70]
mov eax, dword [rdi + 0x70]
mov dword [r12], eax
mov dword [r12 + 0x30], esi
mov eax, dword [r15 + 0x31c8]
cmp dword [r12 + 8], 1
jne 0x16004db25
test eax, eax
je 0x16004dc0a
mov rax, qword [r15 + 0x3190]
cmp dword [rax + 0x18c0], 0
je 0x16004dc0a
mov rbx, qword [r15 + 0x31a0]
mov ecx, dword [r15 + 0x31a8]
mov r14d, esi
lea rax, [rdi + 0x20]
mov qword [rsp + 0x1250], rax
mov qword [rsp + 0x1258], rax
mov qword [rsp + 0x1260], rsi
mov dword [rsp + 0x124c], 1
mov dword [rsp + 0x1248], ecx
mov eax, esi
cmp dword [rsp + 0x78], 0
sete al
mov dword [rsp + 0xf18], eax
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0xe78], xmm0
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rsp + 0xe88], xmm1
movups xmm0, xmmword [r12 + 0x20]
movups xmmword [rsp + 0xe98], xmm0
movups xmm1, xmmword [r12 + 0x30]
movups xmmword [rsp + 0xea8], xmm1
cmp dword [r12 + 0x20], 0
jne 0x16004db13
mov rdx, qword [r12 + 0x28]
mov rax, qword [rsp + 0xeb8]
mov rax, qword [rax + 0x20]
lea rcx, [fcn.160034660]
or r9d, 0xffffffff
xor r8d, r8d
cmp rax, rcx
lea rcx, [rsp + 0xeb8]
jne 0x16004dafd
call fcn.160034660
jmp 0x16004db03
call qword [case.0x16003fc5a.0]
mov rax, qword [rsp + 0xec0]
mov qword [rsp + 0xea0], rax
mov qword [rsp + 0x1240], rbx
mov dword [rsp + 0x40], r14d
jmp 0x16004dc1e
test eax, eax
jne 0x16004dc0a
mov rax, qword [r15 + 0x3190]
cmp dword [rax + 0x18c0], 0
je 0x16004dc0a
lea rbx, [r15 + 0x31b0]
mov r14d, esi
lea rax, [rdi + 0x20]
mov qword [rsp + 0x1250], rax
mov qword [rsp + 0x1258], rax
mov qword [rsp + 0x1260], rsi
mov dword [rsp + 0x124c], esi
mov eax, esi
cmp dword [rsp + 0x78], 0
sete al
mov dword [rsp + 0xf18], eax
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0xe78], xmm0
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rsp + 0xe88], xmm1
movups xmm0, xmmword [r12 + 0x20]
movups xmmword [rsp + 0xe98], xmm0
movups xmm1, xmmword [r12 + 0x30]
movups xmmword [rsp + 0xea8], xmm1
cmp dword [r12 + 0x20], 0
jne 0x16004dbfb
mov rax, qword [rsp + 0xeb8]
or r9d, 0xffffffff
xor r8d, r8d
mov rdx, qword [r12 + 0x28]
lea rcx, [rsp + 0xeb8]
mov rax, qword [rax + 0x20]
call qword [case.0x16003fc5a.0]
xor edx, edx
lea rcx, [rsp + 0xeb8]
call fcn.160034ad4
mov qword [rsp + 0xea0], rax
mov qword [rsp + 0x1238], rbx
mov dword [rsp + 0x40], r14d
jmp 0x16004dc1e
mov r14d, 0x8000ffff
mov dword [rsp + 0x40], r14d
jmp 0x16004dc1e
mov r14d, ebx
mov dword [rsp + 0x40], ebx
cmp r14d, 0x41209
je 0x160051557
cmp r14d, 0x4120c
je 0x160051557
cmp r14d, 0x40d30
je 0x160051557
cmp r14d, 0x40d6e
je 0x160051557
cmp r14d, 0x40d24
je 0x160051530
cmp r14d, 0x41203
je 0x160051530
cmp r14d, 0x40d6a
jne 0x16004dcc6
mov edi, 1
mov dword [rsp + 0x9c], edi
mov dword [rsp + 0x78], edi
test r13, r13
je 0x16004dcaf
mov rax, qword [r13]
mov rax, qword [rax + 0x10]
lea rcx, [fcn.16003e000]
cmp rax, rcx
mov rcx, r13
jne 0x16004dca8
call fcn.16003e000
jmp 0x16004dcaf
call qword [case.0x16003fc5a.0]
nop
lea rcx, [rsp + 0xe50]
call fcn.16003e02c
mov r12, qword [rsp + 0x58]
jmp 0x16004cd60
cmp r14d, 0x40d71
jne 0x16004dd20
mov edi, 1
mov dword [rsp + 0x9c], edi
mov dword [rsp + 0x78], esi
test r13, r13
je 0x16004dd09
mov rax, qword [r13]
mov rax, qword [rax + 0x10]
lea rcx, [fcn.16003e000]
cmp rax, rcx
mov rcx, r13
jne 0x16004dd02
call fcn.16003e000
jmp 0x16004dd09
call qword [case.0x16003fc5a.0]
nop
lea rcx, [rsp + 0xe50]
call fcn.16003e02c
mov r12, qword [rsp + 0x58]
jmp 0x16004cd60
lea rbx, fcn.160065ac0
mov r12, qword [rsp + 0x58]
mov qword [rsp + 0x578], r12
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x580], xmm0
mov qword [rsp + 0x590], rsi
lea r15, [0x1601bbdf0]
mov qword [rsp + 0x5a0], r15
lea rax, [rsp + 0x5b8]
mov qword [rsp + 0x5a8], rax
mov qword [rsp + 0x5b0], 0x401
mov word [rsp + 0x5b8], si
mov qword [rsp + 0x5a0], rbx
mov qword [rsp + 0xdc0], 0
mov qword [rsp + 0xdc8], 1
lea rdi, [r13 + 0x28]
mov qword [rsp + 0xdd0], rdi
lea rax, [0x16003c4e0]
mov qword [rsp + 0x560], rax
mov qword [rsp + 0x570], 0
mov qword [rsp + 0x568], rsi
mov dword [rsp + 0x2f8], esi
lea rax, [0x1601bce20]
mov qword [rsp + 0x2f0], rax
mov qword [rsp + 0x410], 0
mov qword [rsp + 0x418], 0
mov qword [rsp + 0x420], rsi
mov dword [rsp + 0x428], 0xffffffff
xor edx, edx
mov r8d, 0x108
lea rcx, [rsp + 0x308]
call sub.msvcrt.dll_memset
lea rdx, [0x1601bce60]
mov qword [rsp + 0x2f0], rdx
mov dword [rsp + 0x430], esi
mov dword [rsp + 0xac], esi
test r14d, r14d
js 0x16004e24e
cmp dword [rdi + 0x10], 0xd1b5d3f0
jne 0x16004ded6
mov eax, dword [0x1601dc08c]
cmp dword [rdi + 0x14], eax
jne 0x16004ded6
mov eax, dword [0x1601dc090]
cmp dword [rdi + 0x18], eax
jne 0x16004ded6
mov eax, dword [0x1601dc094]
cmp dword [rdi + 0x1c], eax
jne 0x16004ded6
cmp dword [rdi + 0x20], 0
jne 0x16004ded6
lea rdx, str.ROBOTS
mov rcx, qword [rdi + 0x28]
call fcn.160062ae8
test eax, eax
jne 0x16004ded6
cmp dword [r12 + 0xa0], eax
je 0x16004ded6
lea rcx, [rsp + 0x2f0]
call fcn.160031be0
nop
lea rcx, [rsp + 0x5a0]
call fcn.160065ae4
nop
lea rcx, [rsp + 0x50]
call fcn.1600664b4
nop
lea rcx, [rsp + 0xe50]
call fcn.16003e02c
mov edi, 1
jmp 0x16004cd6e
cmp dword [rdi + 0x10], 0xb63e343
jne 0x16004df83
mov eax, dword [0x1601d9f3c]
cmp dword [rdi + 0x14], eax
jne 0x16004df83
mov eax, dword [0x1601d9f40]
cmp dword [rdi + 0x18], eax
jne 0x16004df83
mov eax, dword [0x1601d9f44]
cmp dword [rdi + 0x1c], eax
jne 0x16004df83
cmp dword [rdi + 0x20], 1
jne 0x16004df83
cmp dword [rdi + 0x28], 4
jne 0x16004df83
cmp dword [r12 + 0xa0], 0
je 0x16004df83
cmp dword [r12 + 0xa4], 0
je 0x16004df83
mov qword [rsp + 0x170], rsi
lea rdx, [rsp + 0x170]
mov rcx, qword [r12]
call fcn.16003dba4
mov rax, qword [r13 + 0x3e8]
mov rdx, qword [rax + 8]
mov r14d, esi
mov rax, qword [rsp + 0x170]
mov rcx, qword [rax + 0x5b0]
test rcx, rcx
je 0x16004df71
call fcn.160040920
mov r14d, eax
mov dword [rsp + 0x40], r14d
lea rcx, [rsp + 0x170]
call fcn.160056cc8
test r14d, r14d
js 0x16004e247
mov ecx, dword [rdi + 0x10]
cmp ecx, 0x64440492
jne 0x16004dff8
mov eax, dword [0x1601dc664]
cmp dword [rdi + 0x14], eax
jne 0x16004dff8
mov eax, dword [0x1601dc668]
cmp dword [rdi + 0x18], eax
jne 0x16004dff8
mov eax, dword [0x1601dc66c]
cmp dword [rdi + 0x1c], eax
jne 0x16004dff8
cmp dword [rdi + 0x20], 1
jne 0x16004dff8
cmp dword [rdi + 0x28], 9
jne 0x16004dff8
mov rax, qword [r13 + 0x3e8]
cmp word [rax], 0
je 0x16004dfd7
cmp dword [rax + 8], 0
jne 0x16004dff8
lea rcx, [rsp + 0x2f0]
call fcn.160031be0
nop
lea rcx, [rsp + 0x5a0]
call fcn.160065ae4
nop
jmp 0x16004deb4
cmp ecx, dword [0x1601d9768]
jne 0x16004e0d4
mov eax, dword [0x1601d976c]
cmp dword [rdi + 0x14], eax
jne 0x16004e0d4
mov eax, dword [0x1601d9770]
cmp dword [rdi + 0x18], eax
jne 0x16004e0d4
mov eax, dword [0x1601d9774]
cmp dword [rdi + 0x1c], eax
jne 0x16004e0d4
cmp dword [rdi + 0x20], 1
jne 0x16004e0d4
mov eax, dword [reloc.OLEAUT32.dll_SafeArrayGetElemsize]
cmp dword [rdi + 0x28], eax
jne 0x16004e0d4
mov rbx, qword [r13 + 0x3e8]
cmp word [rbx], 0x1f
jne 0x16004e0cd
mov rax, qword [rbx + 8]
test rax, rax
je 0x16004e0cd
cmp word [rax], 0
je 0x16004e0cd
mov dword [rsp + 0x548], esi
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rsp + 0x548]
call fcn.160067e5c
mov rax, qword [rbx + 8]
mov qword [rsp + 0x550], rax
mov rdx, qword [r12]
lea rcx, [rsp + 0x450]
call fcn.16005a0b8
nop
mov rcx, qword [rsp + 0x450]
mov rax, qword [rcx]
lea rdx, [rsp + 0x548]
mov rax, qword [rax + 0x10]
call qword [case.0x16003fc5a.0]
nop
mov rcx, qword [rsp + 0x458]
test rcx, rcx
je 0x16004e0cd
call fcn.16003fbc0
lea rbx, fcn.160065ac0
mov ecx, dword [rdi + 0x10]
test ecx, ecx
jne 0x16004e128
mov eax, dword [0x1601dc64c]
cmp dword [rdi + 0x14], eax
jne 0x16004e128
mov eax, dword [0x1601dc650]
cmp dword [rdi + 0x18], eax
jne 0x16004e128
mov eax, dword [0x1601dc654]
cmp dword [rdi + 0x1c], eax
jne 0x16004e128
cmp dword [rdi + 0x20], 1
jne 0x16004e128
cmp dword [rdi + 0x28], ecx
jne 0x16004e128
lea rcx, [rsp + 0x2f0]
call fcn.160031be0
nop
lea rcx, [rsp + 0x5a0]
call fcn.160065ae4
nop
jmp 0x16004deb4
cmp ecx, 0xb63e343
jne 0x16004e1fc
mov eax, dword [0x1601d9f3c]
cmp dword [rdi + 0x14], eax
jne 0x16004e1fc
mov eax, dword [0x1601d9f40]
cmp dword [rdi + 0x18], eax
jne 0x16004e1fc
mov eax, dword [0x1601d9f44]
cmp dword [rdi + 0x1c], eax
jne 0x16004e1fc
cmp dword [rdi + 0x20], 1
jne 0x16004e1fc
cmp dword [rdi + 0x28], 6
jne 0x16004e1fc
mov rdx, qword [r13 + 0x3e8]
mov r8d, dword [rdx + 8]
mov rdx, qword [rdx + 0x10]
mov rcx, r12
call fcn.1600519b0
mov r14d, eax
mov dword [rsp + 0x40], eax
lea rcx, [rsp + 0x2f0]
call fcn.160031be0
nop
mov qword [rsp + 0x5a0], rbx
mov rcx, qword [rsp + 0x5a8]
test rcx, rcx
je 0x16004e1ca
lea rax, [rsp + 0x5b8]
cmp rcx, rax
je 0x16004e1ca
call qword [sym.imp.msvcrt.dll_free]
nop
mov qword [rsp + 0x5a0], r15
mov rax, qword [r13]
mov rax, qword [rax + 0x10]
lea rcx, [fcn.16003e000]
cmp rax, rcx
mov rcx, r13
jne 0x16004e1f0
call fcn.16003e000
jmp 0x16004e1f7
call qword [case.0x16003fc5a.0]
nop
jmp 0x16004debf
cmp ecx, 0x5f5aff6a
jne 0x16004e247
mov eax, dword [0x1601dc634]
cmp dword [rdi + 0x14], eax
jne 0x16004e247
mov eax, dword [0x1601dc638]
cmp dword [rdi + 0x18], eax
jne 0x16004e247
mov eax, dword [0x1601dc63c]
cmp dword [rdi + 0x1c], eax
jne 0x16004e247
cmp dword [rdi + 0x20], 1
jne 0x16004e247
cmp dword [rdi + 0x28], 0x22
jne 0x16004e247
mov rdx, qword [r13 + 0x3e8]
mov rcx, r12
call fcn.160129a10
mov r14d, eax
mov dword [rsp + 0x40], eax
lea rdx, [0x1601bce60]
mov dword [rsp + 0x88], esi
mov rax, qword [r12 + 0x68]
test rax, rax
je 0x16004e269
mov eax, dword [rax + 0x64]
mov dword [rsp + 0x88], eax
test r14d, r14d
js 0x160051365
mov rdx, r13
mov rcx, r12
call fcn.16004b5d0
mov rdx, r13
mov rcx, r12
call fcn.16004b440
test eax, eax
je 0x16004e2ad
lea rcx, [rsp + 0x2f0]
call fcn.160031be0
nop
lea rcx, [rsp + 0x5a0]
call fcn.160065ae4
nop
jmp 0x16004deb4
mov r12d, esi
lea r8, [r13 + 0x38]
mov qword [rsp + 0x68], r8
lea rbx, [r13 + 0x48]
mov qword [rsp + 0x90], rbx
mov r15d, dword [rbx]
lea rcx, [r13 + 0x50]
mov qword [rsp + 0xa0], rcx
mov r13d, dword [rcx]
mov rdx, qword [rsp + 0x48]
mov esi, dword [rdx + 0xc8]
cmp dword [r8], 0xb725f130
jne 0x16004e4e5
mov eax, dword [0x1601db6ac]
cmp dword [r8 + 4], eax
jne 0x16004e4e5
mov eax, dword [0x1601db6b0]
cmp dword [r8 + 8], eax
jne 0x16004e4e5
mov eax, dword [0x1601db6b4]
cmp dword [r8 + 0xc], eax
jne 0x16004e4e5
cmp r15d, 1
jne 0x16004e4e5
cmp dword [rdx + 0x3fc], 0
jne 0x16004e4e5
cmp r13d, 2
jne 0x16004e420
cmp esi, 3
je 0x16004e4e5
mov rax, qword [rdx + 0x3e8]
mov rbx, qword [rsp + 0x58]
mov rbx, qword [rbx + 0x68]
mov rdx, qword [rax + 8]
cmp dword [rbx + 0x972c], 0
jne 0x16004e4dd
xor eax, eax
mov dword [rsp + 0x1288], eax
lea rcx, [0x1601bbbd8]
mov qword [rsp + 0x1280], rcx
lea rcx, [0x1601bbdf0]
mov qword [rsp + 0x1298], rcx
lea rcx, [rsp + 0x12b0]
mov qword [rsp + 0x12a0], rcx
mov qword [rsp + 0x12a8], 0xc1
mov word [rsp + 0x12b0], ax
lea rcx, fcn.160019c60
mov qword [rsp + 0x1298], rcx
lea rcx, [0x1601bbc48]
mov qword [rsp + 0x1280], rcx
mov dword [rsp + 0x1458], eax
or r8d, 0xffffffff
lea rcx, [rsp + 0x1280]
call fcn.160027df8
mov rcx, qword [rbx + 0x40]
test rcx, rcx
je 0x16004e3f9
call fcn.1600441f0
lea rdx, [rbx + 0x9718]
lea rcx, [rsp + 0x1280]
call fcn.160027250
nop
lea rcx, [rsp + 0x1280]
call fcn.160029404
jmp 0x16004e4d0
cmp r13d, 0xc
jne 0x16004e4e5
mov qword [rsp + 0x2c8], 0
mov rbx, qword [rsp + 0x58]
mov rbx, qword [rbx]
mov rcx, qword [rbx + 0x38]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
lea rdx, [case.default.0x1600457ab]
cmp rax, rdx
jne 0x16004e45c
call case.default.0x1600457ab
jmp 0x16004e462
call qword [case.0x16003fc5a.0]
mov rbx, qword [rbx + 0x38]
mov qword [rsp + 0x2c8], rbx
lea rcx, [rbx + 8]
mov rax, qword [rcx]
mov rax, qword [rax + 0x50]
lea rdx, [fcn.160046340]
cmp rax, rdx
lea rdx, [rsp + 0x1f8]
jne 0x16004e494
call fcn.160046340
jmp 0x16004e49a
call qword [case.0x16003fc5a.0]
cmp qword [rsp + 0x1f8], 0
mov eax, 1
cmove r12d, eax
mov rax, qword [rbx]
mov rax, qword [rax + 0x10]
lea rcx, [case.default.0x16004577b]
cmp rax, rcx
mov rcx, rbx
jne 0x16004e4c9
call case.default.0x16004577b
jmp 0x16004e4d0
call qword [case.0x16003fc5a.0]
nop
mov rcx, qword [rsp + 0xa0]
mov r8, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x90]
cmp dword [r8], 0xb63e350
jne 0x16004e5a2
mov eax, dword [0x1601db6bc]
cmp dword [r8 + 4], eax
jne 0x16004e5a2
mov eax, dword [0x1601db6c0]
cmp dword [r8 + 8], eax
jne 0x16004e5a2
mov eax, dword [0x1601db6c4]
cmp dword [r8 + 0xc], eax
jne 0x16004e5a2
test r15d, r15d
jne 0x16004e5a2
lea rdx, str.urn:schemas_microsoft_com:sharepoint:portal:area:CategoryUrlNavigation
mov rcx, qword [rcx]
call fcn.160062ae8
test eax, eax
jne 0x16004e59d
cmp esi, 3
je 0x16004e59d
mov rax, qword [rsp + 0x48]
mov rdx, qword [rax + 0x3e8]
mov rdx, qword [rdx + 8]
mov r12, qword [rsp + 0x58]
mov rcx, qword [r12 + 0x68]
call fcn.16012c684
nop
lea rcx, [rsp + 0x2f0]
call fcn.160031be0
nop
lea rcx, [rsp + 0x5a0]
call fcn.160065ae4
nop
lea rcx, [rsp + 0x50]
call fcn.1600664b4
nop
lea rcx, [rsp + 0xe50]
call fcn.16003e02c
xor esi, esi
lea edi, [rsi + 1]
jmp 0x16004cd60
mov r8, qword [rsp + 0x68]
mov ecx, dword [r8]
cmp ecx, 0xb63e350
jne 0x16004e78b
mov eax, dword [0x1601d5664]
cmp dword [r8 + 4], eax
jne 0x16004e72d
mov eax, dword [0x1601d5668]
cmp dword [r8 + 8], eax
jne 0x16004e72d
mov eax, dword [0x1601d566c]
cmp dword [r8 + 0xc], eax
jne 0x16004e72d
cmp r15d, 1
jne 0x16004e735
cmp r13d, 5
jne 0x16004e735
lea rcx, [0x1601bbdf0]
mov qword [rsp + 0xdf0], rcx
lea rax, [rsp + 0xe08]
mov qword [rsp + 0xdf8], rax
mov qword [rsp + 0xe00], 0x21
xor eax, eax
mov word [rsp + 0xe08], ax
lea rax, [0x1601bbf88]
mov qword [rsp + 0xdf0], rax
cmp esi, 3
je 0x16004e71a
lea rax, [fcn.1600739c0]
mov qword [rsp + 0x460], rax
mov dword [rsp + 0x468], 8
movaps xmm0, xmmword [rsp + 0x460]
movdqa xmmword [rsp + 0x4d0], xmm0
mov r12, qword [rsp + 0x58]
mov rax, qword [r12]
lea r8, [rsp + 0xdf0]
lea rdx, [rsp + 0x4d0]
mov rcx, qword [rax + 0x38]
call fcn.160062dd4
xor esi, esi
cmp dword [rsp + 0xe04], esi
jne 0x16004e6ce
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + 0x3e8]
mov rax, qword [r12]
mov r8, qword [rax + 0x38]
mov rdx, qword [rcx + 8]
mov r14d, esi
mov rcx, qword [r8 + 0x5b0]
test rcx, rcx
je 0x16004e6c9
call fcn.160040860
mov r14d, eax
mov dword [rsp + 0x40], r14d
lea rcx, [rsp + 0xdf0]
call fcn.160040b98
nop
lea rcx, [rsp + 0x2f0]
call fcn.160031be0
nop
lea rcx, [rsp + 0x5a0]
call fcn.160065ae4
nop
lea rcx, [rsp + 0x50]
call fcn.1600664b4
nop
lea rcx, [rsp + 0xe50]
call fcn.16003e02c
mov edi, 1
jmp 0x16004cd60
mov qword [rsp + 0xdf0], rax
mov qword [rsp + 0xdf0], rcx
mov ecx, dword [r8]
cmp ecx, 0xb63e350
jne 0x16004e78b
mov eax, dword [0x1601d5664]
cmp dword [r8 + 4], eax
jne 0x16004e78b
mov eax, dword [0x1601d5668]
cmp dword [r8 + 8], eax
jne 0x16004e78b
mov eax, dword [0x1601d566c]
cmp dword [r8 + 0xc], eax
jne 0x16004e78b
cmp r15d, 1
jne 0x16004e78b
mov rsi, qword [rsp + 0x48]
cmp r13d, 0xa
jne 0x16004e790
mov rax, qword [rsp + 0x58]
mov r8, qword [rax]
mov rax, qword [rsi + 0x3e8]
mov rax, qword [rax + 8]
add qword [r8 + 0x37d0], rax
mov r8, qword [rsp + 0x68]
jmp 0x16004e790
mov rsi, qword [rsp + 0x48]
cmp dword [rsp + 0x2388], 0
jne 0x16004e82b
lea rdx, [0x1601d9f38]
mov rcx, r8
call fcn.160052ce0
test eax, eax
je 0x16004e801
cmp r15d, 1
jne 0x16004e801
lea eax, [r13 - 6]
test eax, 0xfffffffd
jne 0x16004e801
mov r12, qword [rsp + 0x58]
mov rcx, qword [r12 + 0x68]
call fcn.16012c600
test eax, eax
je 0x16004e7f6
lea rcx, [rsp + 0x2f0]
call fcn.160031be0
nop
lea rcx, [rsp + 0x5a0]
call fcn.160065ae4
nop
jmp 0x16004e57b
mov r12d, 1
mov r8, qword [rsp + 0x68]
lea rdx, [0x1601d58e0]
mov rcx, r8
call fcn.160052ce0
test eax, eax
je 0x16004e82b
mov ecx, 1
cmp r15d, ecx
jne 0x16004e830
cmp r13d, 0x80000002
cmove r12d, ecx
jmp 0x16004e830
mov ecx, 1
mov rax, qword [0x160273d18]
add rax, 0x1d80
mov qword [rsp + 0x200], rax
mov qword [rsp + 0x220], rax
mov rax, qword [rax]
test rax, rax
je 0x16004e867
lock inc dword [rax]
mov r14d, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
mov qword [rsp + 0x48], rsi
xor r15d, r15d
mov dword [rsp + 0x74], r15d
cmp dword [rsi + 0x3fc], r15d
je 0x16004f462
mov esi, SafeArrayDestroy
mov dword [rsp + 0x80], esi
mov r12, qword [rsp + 0x48]
mov edi, dword [r12 + 0x3f8]
test edi, edi
je 0x160051149
cmp dword [rsp + 0x9c], r15d
je 0x160051149
mov eax, dword [r12 + 0x34]
test eax, eax
jne 0x16004ea87
mov r8, qword [r12 + 0x3f0]
cmp rdi, 0x7ffffffe
jbe 0x16004e8d9
mov eax, 0x80070057
mov word [rsp + 0x1c80], r15w
jmp 0x16004e938
mov edx, 0x100
lea rcx, [rsp + 0x1c80]
lea r9, [rdi - 0x100]
lea rax, [rsp + 0x1c80]
sub r8, rax
nop dword [rax + rax]
lea rax, [r9 + rdx]
test rax, rax
je 0x16004e920
movzx eax, word [r8 + rcx]
test ax, ax
je 0x16004e920
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x16004e900
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r15w
mov eax, 0x8007007a
cmovne eax, r15d
xor ecx, ecx
mov qword [rsp + 0xde0], rcx
mov qword [rsp + 0xde8], rcx
cmp eax, 0x80070057
je 0x16004e98a
mov word [rsp + 0x1e7e], r15w
test dword [0x160274340], 0x400000
je 0x16004e9ba
lea rcx, [rsp + 0x1c80]
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r15w
jne 0x16004e972
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0x1c80]
jmp 0x16004e9a5
test dword [0x160274340], 0x400000
je 0x16004e9ba
mov dword [rsp + 0x28], 0x23
lea rax, str.Error_occurred_in_text_chunk_prefix
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, [rsp + 0xde0]
call fcn.160129cf8
lea rax, [rsp + 0x80]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x154]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x150]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x158]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, dword [r12 + 0x3f8]
mov rdx, qword [r12 + 0x3f0]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x18]
call fcn.160018780
xor al, al
mov ecx, r15d
lea rdx, [0x1601f6aa0]
mov ebx, dword [rsp + 0x158]
mov r8d, 1
cmp ecx, 4
jae 0x16004ea42
movzx eax, al
cmp ebx, dword [rdx]
cmove eax, r8d
inc ecx
add rdx, 4
test al, al
je 0x16004ea28
jmp 0x16004ea46
test al, al
je 0x16004ea59
test byte [rsp + 0x154], 4
mov eax, r15d
cmovne eax, r8d
mov dword [rsp + 0x74], eax
test dword [0x160274340], 0x400000
je 0x16004ea79
mov r8d, dword [rsp + 0x150]
lea rdx, [0x1601f87a8]
call fcn.1600c260c
mov dword [r12 + 0x34], ebx
mov esi, dword [rsp + 0x80]
jmp 0x16004eac8
mov dword [rsp + 0x148], eax
mov rax, qword [rsp + 0x58]
mov rbx, qword [rax + 0x18]
mov rcx, rbx
call fcn.16006d170
cmp edi, dword [rbx + 0x40]
jb 0x16004eac8
lea rcx, [rbx + 0x28]
movzx eax, byte [0x160274301]
mov byte [rsp + 0x20], al
lea r9, [rsp + 0x148]
lea rdx, [rsp + 0x528]
call fcn.1600192d8
mov r15d, dword [rsp + 0x88]
test r15d, r15d
je 0x16004ecaf
xor r13d, r13d
mov r14d, r13d
cmp qword [rsp + 0x60], r13
je 0x16004ec24
mov edi, dword [r12 + 0x34]
mov rax, qword [0x160273d18]
mov rdx, qword [rax + 0xf90]
mov rcx, qword [r12 + 0xd0]
test rcx, rcx
je 0x16004ebd7
cmp dword [rdx + 0x12c], r13d
je 0x16004ebd7
lea rbx, [0x1601bbdf0]
mov qword [rsp + 0x188], rbx
or rax, 0xffffffffffffffff
nop
inc rax
cmp word [rcx + rax*2], r13w
jne 0x16004eb30
mov dword [rsp + 0x19c], eax
mov dword [rsp + 0x198], eax
mov qword [rsp + 0x190], rcx
lea rax, [0x1601bbd80]
mov qword [rsp + 0x188], rax
mov dword [rsp + 0x290], r13d
mov eax, dword [rsp + 0x19c]
mov dword [rsp + 0x294], eax
lea rax, [rsp + 0x188]
mov qword [rsp + 0x298], rax
lea rcx, [rdx + 0x110]
lea rdx, [rsp + 0x290]
call fcn.16010aea8
mov rcx, qword [rax]
test rcx, rcx
je 0x16004ebc0
mov edi, dword [rcx + 0x1a0]
lea rax, [0x1601bbd80]
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x188], rbx
jmp 0x16004ebd7
lea rax, [0x1601bbd80]
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x188], rbx
mov rbx, qword [rsp + 0x60]
cmp dword [rbx + 0x24], edi
je 0x16004ec24
mov rax, qword [0x160273d18]
mov rdx, rbx
mov rcx, qword [rax + 0xf90]
call fcn.1600564e4
mov rax, qword [rbx]
mov rax, qword [rax + 0x10]
lea rcx, [fcn.160055f00]
cmp rax, rcx
jne 0x16004ec14
mov rcx, rbx
call fcn.160055f00
jmp 0x16004ec1f
mov rcx, qword [rsp + 0x60]
call qword [case.0x16003fc5a.0]
mov qword [rsp + 0x60], r13
mov r13, qword [rsp + 0x68]
test dword [0x160274340], 0x400000
je 0x16004ec57
mov dword [rsp + 0x28], esi
mov eax, dword [r12 + 0x34]
mov dword [rsp + 0x20], eax
mov rsi, qword [rsp + 0xa0]
mov r9d, dword [rsi]
mov r8, r13
call fcn.160129c6c
jmp 0x16004ec5f
mov rsi, qword [rsp + 0xa0]
cmp qword [rsp + 0x60], 0
jne 0x16004eca8
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov rcx, qword [rax + 0x33f8]
call fcn.1600441f0
mov rax, qword [0x160273d18]
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x20], rcx
mov r8, qword [r12 + 0xd0]
mov edx, dword [r12 + 0x34]
mov rcx, qword [rax + 0xf90]
call fcn.160056574
mov r14d, eax
mov dword [rsp + 0x40], r14d
jmp 0x16004ecbc
mov r13, qword [rsp + 0x68]
mov rsi, qword [rsp + 0xa0]
mov edi, 1
test r14d, r14d
js 0x16004eda2
mov edx, dword [r12 + 0x3f8]
mov rcx, qword [r12 + 0x3f0]
mov r8d, dword [r12 + 0x34]
xor r9d, r9d
mov qword [rsp + 0x598], r9
mov rax, qword [r12 + 0x400]
mov qword [rsp + 0x580], rax
mov rax, qword [r12 + 0x408]
mov qword [rsp + 0x588], rax
mov rax, qword [r12 + 0x410]
mov qword [rsp + 0x590], rax
mov dword [rsp + 0xdc0], edi
mov eax, dword [rsp + 0x2390]
mov dword [rsp + 0xdc4], eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0xdc8], eax
mov qword [rsp + 0x568], rcx
mov dword [rsp + 0x570], edx
mov dword [rsp + 0x574], r9d
mov dword [rsp + 0xdcc], r8d
lea rcx, [rsp + 0x560]
call fcn.160038fc0
mov r14d, eax
mov dword [rsp + 0x40], eax
test eax, eax
js 0x16004eda2
lea rax, [rsp + 0xac]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x2f0]
lea r8, [rsp + 0x560]
mov rdx, r12
mov rcx, qword [rsp + 0x58]
call fcn.16004a350
mov r14d, eax
mov dword [rsp + 0x40], eax
cmp r14d, 0x40d9a
jne 0x16004ee0e
mov r12, qword [rsp + 0x58]
mov rax, qword [r12]
mov dword [rax + 0x3434], r14d
mov rax, qword [rsp + 0x200]
mov rax, qword [rax]
test rax, rax
je 0x16004edd3
lock dec dword [rax]
mov r14d, dword [rsp + 0x40]
lea rcx, [rsp + 0x2f0]
call fcn.160031be0
nop
lea rcx, [rsp + 0x5a0]
call fcn.160065ae4
nop
lea rcx, [rsp + 0x50]
call fcn.1600664b4
nop
lea rcx, [rsp + 0xe50]
call fcn.16003e02c
xor esi, esi
jmp 0x16004cd60
mov rcx, qword [rsp + 0x58]
test r14d, r14d
js 0x16004f3e1
cmp dword [rsp + 0xac], 0
jne 0x16004f3e1
test r15d, r15d
je 0x16004f3e1
mov rax, qword [rcx + 0x68]
cmp dword [rax + 0x6c], 0
je 0x16004f3e1
cmp dword [rsp + 0x410], 0
jne 0x16004ee5f
mov rax, qword [0x160273d18]
cmp dword [rax + 0x4ec], 0
je 0x16004f200
mov dword [rcx + 0x98], edi
xor r15d, r15d
mov r14d, r15d
cmp qword [rsp + 0x60], r14
je 0x16004ef9c
mov edi, dword [r12 + 0x34]
mov rax, qword [0x160273d18]
mov rdx, qword [rax + 0xf90]
mov rcx, qword [r12 + 0xd0]
test rcx, rcx
je 0x16004ef67
cmp dword [rdx + 0x12c], r15d
je 0x16004ef67
lea rbx, [0x1601bbdf0]
mov qword [rsp + 0x1a0], rbx
or rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], r14w
jne 0x16004eec0
mov dword [rsp + 0x1b4], eax
mov dword [rsp + 0x1b0], eax
mov qword [rsp + 0x1a8], rcx
lea rax, [0x1601bbd80]
mov qword [rsp + 0x1a0], rax
mov dword [rsp + 0x2a0], r15d
mov eax, dword [rsp + 0x1b4]
mov dword [rsp + 0x2a4], eax
lea rax, [rsp + 0x1a0]
mov qword [rsp + 0x2a8], rax
lea rcx, [rdx + 0x110]
lea rdx, [rsp + 0x2a0]
call fcn.16010aea8
mov rcx, qword [rax]
test rcx, rcx
je 0x16004ef50
mov edi, dword [rcx + 0x1a0]
lea rax, [0x1601bbd80]
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x1a0], rbx
jmp 0x16004ef67
lea rax, [0x1601bbd80]
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x1a0], rbx
mov rbx, qword [rsp + 0x60]
cmp dword [rbx + 0x24], edi
je 0x16004ef9c
mov rax, qword [0x160273d18]
mov rdx, rbx
mov rcx, qword [rax + 0xf90]
call fcn.1600564e4
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x10]
call qword [case.0x16003fc5a.0]
mov qword [rsp + 0x60], r15
test dword [0x160274340], 0x400000
je 0x16004efc4
mov dword [rsp + 0x28], 0x3d
mov eax, dword [r12 + 0x34]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsi]
mov r8, r13
call fcn.160129c6c
mov rsi, qword [rsp + 0x58]
cmp qword [rsp + 0x60], 0
jne 0x16004f00d
mov rax, qword [rsi]
mov rcx, qword [rax + 0x33f8]
call fcn.1600441f0
mov rax, qword [0x160273d18]
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x20], rcx
mov r8, qword [r12 + 0xd0]
mov edx, dword [r12 + 0x34]
mov rcx, qword [rax + 0xf90]
call fcn.160056574
mov r14d, eax
mov dword [rsp + 0x40], r14d
test r14d, r14d
js 0x16004f1f7
mov eax, dword [rsp + 0x570]
mov dword [rsp + 0x41c], eax
mov rax, qword [rsp + 0x568]
mov qword [rsp + 0x420], rax
or r13, 0xffffffffffffffff
mov dword [rsp + 0x428], r13d
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x4a0], rcx
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
lea rdx, [fcn.160031990]
xor r9d, r9d
lea r8, [rsp + 0x2f0]
cmp rax, rdx
lea rdx, [rsp + 0x560]
jne 0x16004f083
call fcn.160031990
jmp 0x16004f089
call qword [case.0x16003fc5a.0]
mov r14d, eax
mov dword [rsp + 0x40], eax
jmp 0x16004f0b5
cmp dword [rsp + 0x74], 0
je 0x16004f1f7
mov edi, dword [r12 + 0x34]
mov dword [rsp + 0x68], edi
mov ebx, r15d
mov dword [rsp + 0x88], ebx
test r14d, r14d
js 0x16004f1f2
cmp ebx, 4
jge 0x16004f1f2
mov r14d, dword [rsp + 0x598]
mov dword [rsp + 0x40], r14d
test r14d, r14d
js 0x16004f1f2
cmp r14d, 0x40da6
je 0x16004f1f2
mov edx, ebx
call fcn.16012ea4c
cmp edi, eax
je 0x16004f1eb
mov dword [rsp + 0x574], r15d
mov dword [r12 + 0x34], eax
mov r9d, 0x29
lea r8, [rsp + 0x60]
mov rdx, r12
mov rcx, rsi
call fcn.1600af108
mov r14d, eax
mov dword [rsp + 0x40], eax
test eax, eax
js 0x16004f1eb
xor edx, edx
lea rcx, [rsp + 0x2f0]
call fcn.160034200
mov eax, dword [rsp + 0x570]
mov dword [rsp + 0x41c], eax
mov rax, qword [rsp + 0x568]
mov qword [rsp + 0x420], rax
mov dword [rsp + 0x428], r13d
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x4b8], rcx
mov rax, qword [rcx]
xor r9d, r9d
lea r8, [rsp + 0x2f0]
lea rdx, [rsp + 0x560]
mov rax, qword [rax + 0x20]
call qword [case.0x16003fc5a.0]
mov r14d, eax
mov dword [rsp + 0x40], eax
inc ebx
jmp 0x16004f0cc
inc ebx
jmp 0x16004f0cc
mov dword [r12 + 0x34], edi
mov dword [rsi + 0x98], r15d
jmp 0x16004f206
xor r15d, r15d
mov rsi, rcx
test r14d, r14d
js 0x16004f3dc
lea r8, [r12 + 0x400]
mov edx, dword [rsp + 0x570]
mov rcx, rsi
call fcn.16004aa20
mov r14d, eax
test eax, eax
js 0x16004f3d8
cmp dword [rsp + 0x410], 0
je 0x16004f3d8
mov rax, qword [0x160273d18]
mov rcx, qword [rax + 0x1d78]
test rcx, rcx
je 0x16004f25f
lock inc dword [rcx]
mov r12, qword [rsp + 0x50]
mov qword [rsp + 0x48], r12
mov edi, r15d
cmp dword [rsi + 0x90], 0
je 0x16004f2a7
mov qword [rsp + 0x178], r15
lea rcx, [rsi + 0x78]
lea rdx, [rsp + 0x178]
call fcn.160129120
mov rax, qword [rsp + 0x178]
add rax, 0x28
mov qword [rsp + 0x180], rax
lea rcx, [rsp + 0x178]
call fcn.1600664b4
jmp 0x16004f315
cmp dword [rsp + 0x2390], 0
je 0x16004f2b8
mov edi, 0x80070026
jmp 0x16004f315
mov rbx, qword [rsi]
mov rax, qword [rbx + 0x31f8]
cmp dword [rax + 0x18c0], 0
jne 0x16004f307
mov edx, 1
lea rcx, [rbx + 0x60]
call fcn.1600aef90
mov edi, eax
test eax, eax
jns 0x16004f2f8
mov rcx, qword [rbx + 0x31f8]
mov dword [rcx + 4], 2
mov rcx, qword [rbx + 0x31f8]
mov dword [rcx + 8], r15d
mov dword [rbx + 0x33e0], eax
mov rax, qword [rbx + 0x31f8]
jmp 0x16004f30d
mov edi, dword [rbx + 0x33e0]
mov qword [rsp + 0x180], rax
mov rax, qword [0x160273d18]
mov rcx, qword [rax + 0x1d78]
test rcx, rcx
je 0x16004f335
lock dec dword [rcx]
mov r12, qword [rsp + 0x50]
mov qword [rsp + 0x48], r12
mov r8d, 1
mov edx, r8d
test edi, edi
js 0x16004f37f
mov rax, qword [rsp + 0x180]
mov ecx, dword [rax + 4]
cmp ecx, 2
je 0x16004f37f
test ecx, ecx
je 0x16004f370
sub ecx, edx
je 0x16004f37c
sub ecx, 2
je 0x16004f369
cmp ecx, edx
jne 0x16004f37f
lea edx, [r8 + 2]
jmp 0x16004f37f
mov edx, 2
jmp 0x16004f37f
cmp dword [rax + 8], edx
jne 0x16004f37f
cmp dword [r12 + 0x30], edx
jne 0x16004f37f
mov edx, r15d
mov r14d, r15d
cmp edi, 0x80070026
cmovne r14d, edi
mov ebx, r14d
test edx, edx
je 0x16004f3d1
mov rax, qword [rsp + 0x2f0]
mov rax, qword [rax + 0x38]
lea rcx, [fcn.160034200]
cmp rax, rcx
lea rcx, [rsp + 0x2f0]
jne 0x16004f3c5
call fcn.160034200
test ebx, ebx
cmovns r14d, eax
mov dword [rsp + 0x40], r14d
jmp 0x16004f3dc
call qword [case.0x16003fc5a.0]
test ebx, ebx
cmovns r14d, eax
mov dword [rsp + 0x40], r14d
jmp 0x16004f3dc
mov dword [rsp + 0x40], eax
mov rcx, qword [rsp + 0x58]
mov edi, dword [rsp + 0xdc8]
mov dword [rsp + 0x78], edi
test r14d, r14d
js 0x160051149
mov r14d, dword [rsp + 0x598]
cmp r14d, 0x80070026
mov esi, 0
cmove r14d, esi
mov dword [rsp + 0x40], r14d
mov rax, qword [rcx]
mov dword [rax + 0x3434], r14d
cmp r14d, 0x40da6
jne 0x16005114b
mov rax, qword [rsp + 0x220]
mov rcx, qword [rax]
test rcx, rcx
je 0x16004f441
lock dec dword [rcx]
mov r14d, dword [rsp + 0x40]
lea rcx, [rsp + 0x2f0]
call fcn.160031be0
nop
lea rcx, [rsp + 0x5a0]
call fcn.160065ae4
nop
jmp 0x160051566
mov dword [rsp + 0x80], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov dword [rsp + 0xb4], ecx
mov dword [rsp + 0x7c], r15d
lea rax, [0x1601bbdf0]
mov qword [rsp + 0x1460], rax
lea rax, [rsp + 0x1478]
mov qword [rsp + 0x1468], rax
mov qword [rsp + 0x1470], 0x401
mov word [rsp + 0x1478], r15w
lea rax, fcn.160065ac0
mov qword [rsp + 0x1460], rax
mov qword [rsp + 0xb8], r15
mov dword [rsp + 0x70], r15d
add rsi, 0x3e8
mov qword [rsp + 0x208], rsi
lea rax, [rsp + 0x1460]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdi
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xb4]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x70]
lea r8, [rsp + 0xb8]
xor edx, edx
mov rcx, qword [rsi]
call fcn.160061680
mov r14d, eax
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x7c]
cmp dword [rsp + 0x88], 0
mov r15d, 0
cmove eax, r15d
mov dword [rsp + 0x7c], eax
cmp dword [rsp + 0x9c], r15d
jne 0x16004f556
mov r8, qword [rsi]
mov rdx, rdi
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax]
call fcn.160128d7c
cmp dword [rsp + 0xb4], r15d
je 0x160051101
cmp dword [rsp + 0x9c], r15d
jne 0x16004f577
test r12d, r12d
je 0x160051101
test r14d, r14d
js 0x160051101
cmp dword [rsp + 0x7c], r15d
je 0x160050731
mov edi, r15d
mov r12, qword [rsp + 0x48]
add r12, 0x34
mov qword [rsp + 0x88], r12
mov eax, dword [r12]
test eax, eax
jne 0x16004f86b
mov r10, qword [rsp + 0xa0]
cmp dword [rbx], 1
jne 0x16004f607
mov ecx, dword [r10]
mov rdx, qword [rsp + 0x68]
cmp ecx, 6
jne 0x16004f5de
mov rax, qword [rdx]
cmp rax, qword [0x1601d5ac0]
jne 0x16004f5de
mov rax, qword [rdx + 8]
cmp rax, qword [0x1601d5ac8]
je 0x16004f5fc
cmp ecx, 0x64
jne 0x16004f607
mov rax, qword [rdx]
cmp rax, qword [0x1601d5de8]
jne 0x16004f607
mov rax, qword [rdx + 8]
cmp rax, qword [0x1601d5df0]
jne 0x16004f607
mov r13d, 1
mov edi, r13d
jmp 0x16004f60d
mov r13d, 1
mov eax, dword [rsp + 0x70]
test eax, eax
je 0x16004f7ba
test edi, edi
je 0x16004f7ba
cmp rax, 0x7ffffffe
jbe 0x16004f656
mov word [rsp + 0x1e80], r15w
test dword [0x160274340], 0x400000
je 0x16004f6f8
mov dword [rsp + 0x28], 0x27
lea rax, str.Error_occurred_in_property_chunk_prefix
jmp 0x16004f6e6
mov edx, 0x100
lea rcx, [rsp + 0x1e80]
lea r9, [rax - 0x100]
lea rax, [rsp + 0x1e80]
mov r8, qword [rsp + 0xb8]
sub r8, rax
nop dword [rax]
lea rax, [rdx + r9]
test rax, rax
je 0x16004f6a0
movzx eax, word [rcx + r8]
test ax, ax
je 0x16004f6a0
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x16004f680
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r15w
mov word [rsp + 0x207e], r15w
test dword [0x160274340], 0x400000
je 0x16004f6f8
lea rcx, [rsp + 0x1e80]
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r15w
jne 0x16004f6d0
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0x1e80]
mov qword [rsp + 0x20], rax
mov r9d, dword [r10]
mov r8, qword [rsp + 0x68]
call fcn.160129cf8
lea rax, [rsp + 0x80]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x140]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x118]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x144]
mov qword [rsp + 0x20], rax
mov r9d, r13d
mov r8d, dword [rsp + 0x70]
mov rdx, qword [rsp + 0xb8]
mov r14, qword [rsp + 0x58]
mov rcx, qword [r14 + 0x18]
call fcn.160018780
xor al, al
mov ecx, r15d
lea rdx, [0x1601f6aa0]
mov ebx, dword [rsp + 0x144]
nop dword [rax]
cmp ecx, 4
jae 0x16004f77a
movzx eax, al
cmp ebx, dword [rdx]
cmove eax, r13d
inc ecx
add rdx, 4
test al, al
je 0x16004f760
jmp 0x16004f77e
test al, al
je 0x16004f791
test byte [rsp + 0x140], 4
mov eax, r15d
cmovne eax, r13d
mov dword [rsp + 0x74], eax
test dword [0x160274340], 0x400000
je 0x16004f7b1
mov r8d, dword [rsp + 0x118]
lea rdx, [0x1601f87a8]
call fcn.1600c260c
mov dword [r12], ebx
jmp 0x16004f935
mov ebx, r15d
mov dword [rsp + 0x15c], 0x100
lea r9, [rsp + 0x15c]
lea r8, [rsp + 0x2130]
lea rdx, [rsp + 0x248]
mov ecx, 8
call qword [sym.imp.api_ms_win_core_localization_l1_2_0.dll_GetSystemPreferredUILanguages]
test eax, eax
je 0x16004f846
mov r8d, 0x55
lea rdx, [rsp + 0x2080]
lea rcx, [rsp + 0x2130]
call qword [sym.imp.api_ms_win_core_localization_l1_2_0.dll_ResolveLocaleName]
test eax, eax
jle 0x16004f846
xor edx, edx
lea rcx, [rsp + 0x2080]
call qword [sym.imp.api_ms_win_core_localization_l1_2_0.dll_LocaleNameToLCID]
mov ebx, eax
cmp eax, 0x1000
jne 0x16004f846
mov ebx, 0x7f
mov dword [r12], ebx
mov dword [rsp + 0x80], 0x20
mov r14, qword [rsp + 0x58]
jmp 0x16004f935
test ebx, ebx
jne 0x16004f852
call qword [sym.imp.api_ms_win_core_localization_l1_2_0.dll_GetSystemDefaultLCID]
mov ebx, eax
mov dword [r12], ebx
mov dword [rsp + 0x80], 0x20
mov r14, qword [rsp + 0x58]
jmp 0x16004f935
mov dword [rsp + 0x168], eax
mov r14, qword [rsp + 0x58]
mov rbx, qword [r14 + 0x18]
cmp r13d, 2
jne 0x16004f8a3
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
cmp rax, qword [0x1601dc618]
jne 0x16004f8a3
mov rax, qword [rcx + 8]
cmp rax, qword [0x1601dc620]
je 0x16004f935
cmp dword [rbx + 0x40], 0xffffffff
jne 0x16004f908
mov dword [rbx + 0x40], 0x64
mov dword [rsp + 0x160], 4
lea rax, [rsp + 0x160]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x164]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea r8, str.WordBreakerKeepFilterHistoryMinValue
lea rdx, str.SOFTWAREMicrosoftWindows_SearchGather
mov rcx, 0xffffffff80000002
call fcn.16005ac0c
test eax, eax
js 0x16004f908
mov eax, dword [rsp + 0x164]
mov dword [rbx + 0x40], eax
mov eax, dword [rbx + 0x40]
cmp dword [rsp + 0x70], eax
jb 0x16004f935
lea rcx, [rbx + 0x28]
movzx eax, byte [0x160274301]
mov byte [rsp + 0x20], al
lea r9, [rsp + 0x168]
lea rdx, [rsp + 0x538]
call fcn.1600192d8
cmp dword [rsp + 0x70], r15d
jbe 0x1600503ff
test edi, edi
jne 0x1600503ff
cmp dword [r12], 0x7f
je 0x1600503ff
mov rax, qword [rsi]
movzx ecx, word [rax]
mov eax, 0xfff
and cx, ax
cmp cx, 8
je 0x16004f975
sub cx, 0x1e
cmp cx, 1
ja 0x1600503ff
mov qword [rsp + 0x258], r15
mov rbx, qword [r14]
mov rcx, qword [rbx + 0x38]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
lea rdx, [case.default.0x1600457ab]
cmp rax, rdx
jne 0x16004f9a7
lock inc dword [rcx + 0x30]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x48], rax
jmp 0x16004f9ad
call qword [case.0x16003fc5a.0]
mov rdi, qword [rbx + 0x38]
mov qword [rsp + 0x268], rdi
mov qword [rsp + 0x258], rdi
mov qword [rsp + 0xd8], r15
lea rcx, [rdi + 8]
mov rax, qword [rcx]
mov rax, qword [rax + 0xb0]
lea rdx, [fcn.160047130]
cmp rax, rdx
jne 0x16004fa67
mov rbx, qword [rcx + 0x578]
test rbx, rbx
jne 0x16004f9fa
mov eax, 0x8000ffff
jmp 0x16004fa75
mov rcx, qword [rbx + 0x8e90]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
lea rdx, [fcn.1600461c0]
cmp rax, rdx
jne 0x16004fa4d
mov rcx, qword [rcx + 8]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
lea rdx, [fcn.160046250]
cmp rax, rdx
jne 0x16004fa4d
lock inc dword [rcx + 0x38]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x48], rax
mov rax, qword [rbx + 0x8e90]
mov qword [rsp + 0xd8], rax
mov eax, r15d
jmp 0x16004fa75
call qword [case.0x16003fc5a.0]
mov rax, qword [rbx + 0x8e90]
mov qword [rsp + 0xd8], rax
mov eax, r15d
jmp 0x16004fa75
lea rdx, [rsp + 0xd8]
call qword [case.0x16003fc5a.0]
test eax, eax
js 0x1600502cc
lea rcx, [rsp + 0x2d0]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
mov rbx, qword [rsp + 0xd8]
mov rax, qword [rbx]
mov rax, qword [rax + 0x20]
lea rcx, [fcn.160031600]
cmp rax, rcx
jne 0x16004fe07
cmp dword [rbx + 0x28], 0
je 0x1600502ab
mov dword [rsp + 0x244], 6
mov dword [rsp + 0x240], 6
lea rax, str.Schema
mov qword [rsp + 0x238], rax
lea rax, [0x1601bbd80]
mov qword [rsp + 0x230], rax
mov dword [rsp + 0x130], r15d
mov dword [rsp + 0x134], 6
lea rax, [rsp + 0x230]
mov qword [rsp + 0x138], rax
mov rsi, r15
mov rdi, qword [rbx + 0x20]
test rdi, rdi
je 0x16004fb42
cmp dword [rdi], r15d
je 0x16004fb25
mov rcx, rdi
call fcn.160071f9c
lock inc dword [rdi + 8]
cmp dword [rdi], r15d
je 0x16004fb38
mov rcx, rdi
call fcn.160072020
jmp 0x16004fb18
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x48], rax
mov rbx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x10]
lea rcx, [fcn.1600314f0]
cmp rax, rcx
lea rcx, [rsp + 0x130]
jne 0x16004fb65
call fcn.1600314f0
jmp 0x16004fb6b
call qword [case.0x16003fc5a.0]
xor edx, edx
div dword [rbx + 0x18]
mov eax, edx
shl rax, 5
add rax, qword [rbx + 0x30]
mov qword [rsp + 0x90], rax
mov r12, rax
test rax, rax
je 0x16004fcb3
test r12, r12
je 0x16004fcb3
mov r13, r12
mov rcx, qword [r12]
mov r12, rcx
add rax, 8
cmp rcx, rax
je 0x16004fcb3
test rcx, rcx
je 0x16004fcb3
test r13, r13
mov rdx, r15
je 0x16004fbc3
mov rdx, qword [rcx + 0x10]
movsxd rbx, dword [rdx + 0x14]
cmp ebx, dword [rsp + 0x134]
mov rax, qword [rsp + 0x90]
jne 0x16004fb85
mov rax, qword [rsp + 0x138]
mov rcx, qword [rax + 8]
mov eax, dword [rsp + 0x130]
lea r14, [rcx + rax*2]
mov r15, qword [rdx + 8]
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], r14
mov r9d, ebx
mov r8, r15
mov edx, 1
mov ecx, 0x800
call qword [sym.imp.api_ms_win_core_string_l1_1_0.dll_CompareStringW]
cmp eax, 2
je 0x16004fc47
sub eax, 1
je 0x16004fc3f
cmp eax, 2
je 0x16004fc35
mov r8, rbx
mov rdx, r14
mov rcx, r15
call qword [sym.imp.msvcrt.dll__wcsnicmp]
xor r15d, r15d
jmp 0x16004fc4d
mov eax, 1
xor r15d, r15d
jmp 0x16004fc4d
or eax, 0xffffffff
xor r15d, r15d
jmp 0x16004fc4d
xor r15d, r15d
mov eax, r15d
test eax, eax
mov rax, qword [rsp + 0x90]
jne 0x16004fb85
test r13, r13
je 0x16004fcac
test r12, r12
je 0x16004fcac
mov rcx, qword [r12 + 8]
test rcx, rcx
je 0x16004fca2
mov rax, qword [rcx]
mov rax, qword [rax + 8]
lea rdx, [0x1600315b0]
cmp rax, rdx
jne 0x16004fc9c
lock inc dword [rcx + 8]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x48], rax
mov rsi, qword [r12 + 8]
mov eax, r15d
jmp 0x16004fcb1
call qword [case.0x16003fc5a.0]
mov rsi, qword [r12 + 8]
mov eax, r15d
jmp 0x16004fcb1
mov eax, 1
jmp 0x16004fcb8
mov eax, 1
cmp eax, 1
jne 0x16004fcc5
mov r14d, 0x80070490
jmp 0x16004fce8
lea rcx, [rsp + 0x2d0]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
lea rdx, [rsi + 0x18]
lea rcx, [rsp + 0x2d0]
call qword [sym.imp.OLEAUT32.dll_VariantCopyInd]
mov r14d, eax
test rdi, rdi
je 0x16004fd65
cmp dword [rdi], 0
je 0x16004fd25
lea rcx, [rdi + 0x38]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
lock dec dword [rdi + 8]
cmp dword [rdi + 8], 0
jne 0x16004fd18
mov rcx, rdi
call fcn.16000dfd0
mov rcx, qword [rdi + 0x68]
call fcn.16005460c
nop
lea rcx, [rdi + 0x38]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
nop
jmp 0x16004fd5b
lock dec dword [rdi + 8]
cmp dword [rdi], 0
je 0x16004fd5b
lea rcx, [rdi + 0x38]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
cmp dword [rdi + 8], 0
jne 0x16004fd50
mov rcx, rdi
call fcn.16000dfd0
mov rcx, qword [rdi + 0x68]
call fcn.16005460c
nop
lea rcx, [rdi + 0x38]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
nop
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x48], rax
test rsi, rsi
je 0x16004fddf
mov rax, qword [rsi]
mov rax, qword [rax + 0x10]
lea rcx, [0x1600315c0]
cmp rax, rcx
jne 0x16004fdd5
or eax, 0xffffffff
lock xadd dword [rsi + 8], eax
cmp eax, 1
jne 0x16004fdc9
mov rcx, qword [0x160271b28]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x16003fc5a.0]
mov rax, qword [rsi]
mov edx, 1
mov rcx, rsi
mov rax, qword [rax + 0x18]
call qword [case.0x16003fc5a.0]
nop
mov rcx, qword [0x160271b28]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x16003fc5a.0]
nop
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x48], rax
jmp 0x16004fddf
mov rcx, rsi
call qword [case.0x16003fc5a.0]
nop
lea rax, [0x1601bbd80]
mov qword [rsp + 0x230], rax
lea rax, [0x1601bbdf0]
mov qword [rsp + 0x230], rax
mov r12, qword [rsp + 0x88]
jmp 0x16004fe22
lea r8, [rsp + 0x2d0]
lea rdx, str.Schema
mov rcx, rbx
call qword [case.0x16003fc5a.0]
mov r14d, eax
test r14d, r14d
js 0x1600502ab
mov qword [rsp + 0xd0], r15
mov rcx, qword [rsp + 0x2d8]
mov rax, qword [rcx]
mov rax, qword [rax]
lea rdx, [0x160062270]
cmp rax, rdx
jne 0x16004fe6a
lea r9, [rsp + 0xd0]
lea r8, [0x1601db480]
lea rdx, [0x1601c2390]
call fcn.160043610
jmp 0x16004fe7f
lea r8, [rsp + 0xd0]
lea rdx, [0x1601db480]
call qword [case.0x16003fc5a.0]
test eax, eax
js 0x160050222
mov rsi, qword [rsp + 0xd0]
mov rax, qword [rsi]
mov rax, qword [rax + 0x18]
lea rcx, [0x160047960]
cmp rax, rcx
jne 0x16005001a
mov r15, qword [rsp + 0x68]
test r15, r15
je 0x160050222
xor r13d, r13d
mov r14d, r13d
mov eax, dword [r15]
lea r8d, [rax + rax*8]
movups xmm0, xmmword [r15 + 0x10]
movd eax, xmm0
cmp eax, 1
jne 0x16004fee0
movups xmm1, xmm0
psrldq xmm1, 8
movd eax, xmm1
add r8d, eax
jmp 0x16004ff12
movd eax, xmm0
test eax, eax
jne 0x16004ff12
movups xmm1, xmm0
psrldq xmm1, 8
movq rdx, xmm1
movzx ecx, word [rdx]
test cx, cx
je 0x16004ff12
nop dword [rax]
movzx ecx, cx
add r8d, ecx
lea rdx, [rdx + 2]
movzx ecx, word [rdx]
test cx, cx
jne 0x16004ff00
xor edx, edx
mov eax, r8d
div dword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
mov rdi, qword [rax + rdx*8]
test rdi, rdi
je 0x16004ffd1
mov rbx, qword [rdi + 8]
mov eax, dword [rbx + 0x20]
cmp eax, dword [r15 + 0x10]
jne 0x16004ff7f
test eax, eax
je 0x16004ff4f
cmp eax, 1
jne 0x16004ff7f
mov eax, dword [r15 + 0x18]
cmp dword [rbx + 0x28], eax
je 0x16004ff61
mov rdi, qword [rdi]
jmp 0x16004ff22
mov rdx, qword [r15 + 0x18]
mov rcx, qword [rbx + 0x28]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x16004ff7f
mov rcx, qword [rbx + 0x10]
sub rcx, qword [r15]
jne 0x16004ff72
mov rcx, qword [rbx + 0x18]
sub rcx, qword [r15 + 8]
mov eax, r13d
test rcx, rcx
sete al
test eax, eax
jne 0x16004ff84
mov rdi, qword [rdi]
jmp 0x16004ff22
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x16004ffd1
movzx eax, word [rcx + 0x34]
mov word [rsp + 0x98], ax
mov edx, dword [rcx + 0x38]
mov dword [rsp + 0xa8], edx
mov eax, dword [rcx + 0x30]
mov dword [rsp + 0xb0], eax
mov eax, dword [rcx + 0x44]
mov dword [rsp + 0xc8], eax
cmp dword [rcx + 0x3c], r13d
jne 0x160050058
bts edx, 0xb
mov dword [rsp + 0xa8], edx
jmp 0x160050058
mov word [rsp + 0x98], r13w
mov edx, 1
mov dword [rsp + 0xa8], edx
mov dword [rsp + 0xb0], 0xffffffff
mov dword [rsp + 0xc8], r13d
mov rcx, qword [rsi + 0x18]
mov rax, qword [rcx]
lea r9, [rsp + 0xb0]
mov r8d, edx
mov rdx, r15
mov rax, qword [rax + 0x18]
call qword [case.0x16003fc5a.0]
jmp 0x160050055
lea rcx, [rsp + 0xc8]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0xb0]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0xa8]
lea r8, [rsp + 0x98]
mov rdx, qword [rsp + 0x68]
mov rcx, rsi
call qword [case.0x16003fc5a.0]
xor r13d, r13d
mov r14d, eax
test r14d, r14d
js 0x160050222
mov eax, dword [rsp + 0xa8]
and eax, 0x43
cmp al, 0x43
jne 0x160050222
mov r15d, dword [r12]
mov rax, qword [rsp + 0x58]
mov r12, qword [rax + 0x10]
mov ebx, dword [rsp + 0x70]
mov rsi, r13
lea rax, [rbx + 1]
or rdi, 0xffffffffffffffff
cmp rax, rbx
cmovae rdi, rax
sbb r14d, r14d
and r14d, 0x80070216
cmp rax, rbx
jb 0x1600501a4
mov eax, 2
mul rdi
mov qword [rsp + 0x4c8], rdx
test rdx, rdx
je 0x1600500c9
mov r14d, 0x80070216
jmp 0x1600501a4
mov rcx, rax
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoTaskMemAlloc]
mov rsi, rax
test rax, rax
je 0x160050222
mov r14d, r13d
mov qword [rsp + 0x260], rbx
mov rcx, qword [rsp + 0xb8]
cmp rdi, 0x7fffffff
ja 0x1600501a0
cmp rbx, 0x7fffffff
jae 0x1600501a0
test rcx, rcx
jne 0x160050122
lea rcx, [0x1601d4934]
mov qword [rsp + 0x260], r13
mov rbx, r13
mov rdx, rdi
mov r8, rsi
mov r9, r13
sub rbx, rdi
sub rcx, rsi
lea rax, [rdx + rbx]
test rax, rax
je 0x160050155
movzx eax, word [r8 + rcx]
test ax, ax
je 0x160050155
mov word [r8], ax
add r8, 2
inc r9
sub rdx, 1
jne 0x160050131
lea rcx, [r9 - 1]
test rdx, rdx
cmovne rcx, r9
lea rax, [r8 - 2]
cmovne rax, r8
mov word [rax], r13w
mov qword [rsp + 0x4e0], rcx
sub rdi, rcx
test rdx, rdx
je 0x1600501a4
cmp rdi, 1
jbe 0x1600501a4
lea r8, [rdi + rdi]
cmp r8, 2
jbe 0x1600501a4
add r8, 0xfffffffffffffffe
inc rcx
lea rcx, [rsi + rcx*2]
xor edx, edx
call sub.msvcrt.dll_memset
jmp 0x1600501a4
mov word [rax], r13w
test r14d, r14d
js 0x160050222
lea rax, [rsp + 0x24c]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x104]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x100]
mov r8d, r15d
mov rdx, rsi
mov rcx, r12
call fcn.160060c80
mov ebx, eax
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoTaskMemFree]
test ebx, ebx
js 0x160050222
mov eax, dword [rsp + 0x100]
mov rcx, qword [rsp + 0x88]
cmp dword [rcx], eax
je 0x160050208
mov dword [rcx], eax
mov dword [rsp + 0x80], 0x34
mov eax, dword [rsp + 0x74]
cmp dword [rsp + 0x104], 0
mov edi, 1
cmovne eax, edi
mov dword [rsp + 0x74], eax
jmp 0x160050227
mov edi, 1
mov rbx, qword [rsp + 0xd0]
test rbx, rbx
je 0x1600502ab
mov rax, qword [rbx]
mov rax, qword [rax + 0x10]
lea rcx, [0x160062220]
cmp rax, rcx
jne 0x1600502a1
or eax, 0xffffffff
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x160050295
mov rcx, qword [0x160271b28]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x16003fc5a.0]
test rbx, rbx
je 0x160050280
mov rax, qword [rbx]
mov edx, edi
mov rcx, rbx
mov rax, qword [rax + 0x28]
call qword [case.0x16003fc5a.0]
nop
mov rcx, qword [0x160271b28]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x16003fc5a.0]
nop
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x48], rax
jmp 0x1600502ab
mov rcx, rbx
call qword [case.0x16003fc5a.0]
nop
lea rcx, [rsp + 0x2d0]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rdi, qword [rsp + 0x268]
mov r12, qword [rsp + 0x88]
xor r15d, r15d
mov rcx, qword [rsp + 0xd8]
test rcx, rcx
je 0x160050371
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
lea rdx, [fcn.160046190]
cmp rax, rdx
jne 0x16005036a
mov rbx, qword [rcx + 8]
mov rax, qword [rbx]
mov rax, qword [rax + 0x10]
lea rcx, [fcn.1600461f0]
cmp rax, rcx
jne 0x160050367
or eax, 0xffffffff
lock xadd dword [rbx + 0x38], eax
cmp eax, 1
jne 0x16005035b
mov rcx, qword [0x160271b28]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x16003fc5a.0]
test rbx, rbx
je 0x160050346
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
mov rax, qword [rax + 0xf8]
call qword [case.0x16003fc5a.0]
nop
mov rcx, qword [0x160271b28]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x16003fc5a.0]
nop
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x48], rax
jmp 0x160050371
mov rcx, rbx
call qword [case.0x16003fc5a.0]
nop
mov rax, qword [rdi]
mov rax, qword [rax + 0x10]
lea rcx, [case.default.0x16004577b]
cmp rax, rcx
jne 0x1600503f5
or eax, 0xffffffff
lock xadd dword [rdi + 0x30], eax
cmp eax, 1
jne 0x1600503e9
mov rcx, qword [0x160271b28]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x16003fc5a.0]
test rdi, rdi
je 0x1600503c1
lea rcx, [rdi + 0x18]
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax + 0x28]
call qword [case.0x16003fc5a.0]
nop
mov rcx, qword [0x160271b28]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
lea rdx, [fcn.1600427f0]
cmp rax, rdx
jne 0x1600503e2
call fcn.1600427f0
jmp 0x1600503e9
call qword [case.0x16003fc5a.0]
nop
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x48], rax
jmp 0x1600503ff
mov rcx, rdi
call qword [case.0x16003fc5a.0]
nop
mov r14d, r15d
mov r13, qword [rsp + 0x48]
cmp qword [rsp + 0x60], 0
je 0x160050518
mov edi, dword [r12]
mov rax, qword [0x160273d18]
mov rdx, qword [rax + 0xf90]
mov rcx, qword [r13 + 0xd0]
test rcx, rcx
je 0x1600504ee
cmp dword [rdx + 0x12c], 0
je 0x1600504ee
lea rbx, [0x1601bbdf0]
mov qword [rsp + 0x1b8], rbx
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], 0
jne 0x160050455
mov dword [rsp + 0x1cc], eax
mov dword [rsp + 0x1c8], eax
mov qword [rsp + 0x1c0], rcx
lea rsi, [0x1601bbd80]
mov qword [rsp + 0x1b8], rsi
mov dword [rsp + 0x2b0], r15d
mov eax, dword [rsp + 0x1cc]
mov dword [rsp + 0x2b4], eax
lea rax, [rsp + 0x1b8]
mov qword [rsp + 0x2b8], rax
lea rcx, [rdx + 0x110]
lea rdx, [rsp + 0x2b0]
call fcn.16010aea8
mov rcx, qword [rax]
test rcx, rcx
je 0x1600504de
mov edi, dword [rcx + 0x1a0]
mov qword [rsp + 0x1b8], rsi
mov qword [rsp + 0x1b8], rbx
jmp 0x1600504ee
mov qword [rsp + 0x1b8], rsi
mov qword [rsp + 0x1b8], rbx
mov rbx, qword [rsp + 0x60]
cmp dword [rbx + 0x24], edi
je 0x160050518
mov rax, qword [0x160273d18]
mov rdx, rbx
mov rcx, qword [rax + 0xf90]
call fcn.1600564e4
lea rcx, [rsp + 0x60]
call fcn.1600affa4
test dword [0x160274340], 0x400000
je 0x16005054c
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x28], eax
mov eax, dword [r12]
mov dword [rsp + 0x20], eax
mov rsi, qword [rsp + 0xa0]
mov r9d, dword [rsi]
mov r8, qword [rsp + 0x68]
call fcn.160129c6c
cmp qword [rsp + 0x60], 0
jne 0x160050699
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov rcx, qword [rax + 0x33f8]
call fcn.1600441f0
mov rax, qword [0x160273d18]
mov rsi, qword [rax + 0xf90]
mov r15, qword [r13 + 0xd0]
mov edi, dword [r12]
mov qword [rsp + 0x120], 0
test dword [0x160274340], 0x200000
je 0x1600505ac
mov r8d, edi
lea rdx, [0x1601d9cf8]
call fcn.1600c260c
lea rax, [rsp + 0x120]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, r15
mov edx, edi
mov rcx, rsi
call fcn.160056640
mov r14d, eax
mov rbx, qword [rsp + 0x120]
test eax, eax
js 0x1600505e9
lea rdx, [rsp + 0x60]
mov rcx, qword [rbx + 0x18]
call fcn.160055c38
mov r14d, eax
cmp r14d, 0x80070490
jne 0x16005066d
mov dword [rsp + 0x108], edi
cmp byte [0x160271b14], 0
jne 0x160050616
mov byte [0x160271b14], 1
lea rcx, [rsp + 0x108]
call fcn.1601b9398
mov qword [rsp + 0x128], 0
lea rax, [rsp + 0x128]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, r15
xor edx, edx
mov rcx, rsi
call fcn.160056640
mov r14d, eax
test eax, eax
js 0x16005065f
mov rax, qword [rsp + 0x128]
lea rdx, [rsp + 0x60]
mov rcx, qword [rax + 0x18]
call fcn.160055c38
mov r14d, eax
lea rcx, [rsp + 0x128]
call fcn.160002750
nop
test rbx, rbx
je 0x160050696
mov rax, qword [rbx]
mov rax, qword [rax + 0x10]
lea rcx, [fcn.160056c10]
cmp rax, rcx
mov rcx, rbx
jne 0x16005068f
call fcn.160056c10
jmp 0x160050696
call qword [case.0x16003fc5a.0]
nop
xor r15d, r15d
mov dword [rsp + 0x40], r14d
test r14d, r14d
js 0x16005076c
mov ecx, dword [r12]
mov qword [rsp + 0x598], 0
mov rax, qword [r13 + 0x400]
mov qword [rsp + 0x580], rax
mov rax, qword [r13 + 0x408]
mov qword [rsp + 0x588], rax
mov rax, qword [r13 + 0x410]
mov qword [rsp + 0x590], rax
mov dword [rsp + 0xdc0], r15d
mov eax, dword [rsp + 0x2390]
mov dword [rsp + 0xdc4], eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0xdc8], eax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x568], rax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x570], eax
mov dword [rsp + 0x574], r15d
mov dword [rsp + 0xdcc], ecx
jmp 0x160050736
mov r13, qword [rsp + 0x48]
lea rax, [rsp + 0xac]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x2f0]
lea r8, [rsp + 0x560]
mov rdx, r13
mov r12, qword [rsp + 0x58]
mov rcx, r12
call fcn.16004a350
mov r14d, eax
mov dword [rsp + 0x40], eax
jmp 0x160050771
mov r12, qword [rsp + 0x58]
cmp r14d, 0x40d9a
jne 0x1600507cc
mov rax, qword [r12]
mov dword [rax + 0x3434], r14d
lea rcx, [rsp + 0x1460]
call fcn.160065ae4
nop
mov rax, qword [rsp + 0x200]
mov rax, qword [rax]
test rax, rax
je 0x1600507ab
lock dec dword [rax]
mov r14d, dword [rsp + 0x40]
lea rcx, [rsp + 0x2f0]
call fcn.160031be0
nop
lea rcx, [rsp + 0x5a0]
call fcn.160065ae4
nop
jmp 0x16004e57b
test r14d, r14d
js 0x160051101
xor esi, esi
cmp dword [rsp + 0xac], esi
jne 0x160051103
mov rax, qword [r12 + 0x68]
cmp dword [rax + 0x6c], esi
je 0x160051103
mov r15d, esi
mov dword [rsp + 0x88], esi
mov dword [rsp + 0x68], 1
mov rax, qword [rsp + 0x208]
mov rax, qword [rax]
mov ecx, 0x1000
test word [rax], cx
je 0x160050820
mov eax, dword [rax + 8]
mov dword [rsp + 0x68], eax
test r14d, r14d
js 0x160051076
cmp dword [rsp + 0x7c], 0
je 0x160051103
cmp dword [rsp + 0x410], 0
jne 0x160050852
mov rax, qword [0x160273d18]
cmp dword [rax + 0x4ec], 0
je 0x160051076
cmp dword [rsp + 0x570], 0
je 0x160050ec0
mov dword [r12 + 0x98], 1
mov r14d, esi
cmp qword [rsp + 0x60], 0
je 0x160050990
mov edi, dword [r13 + 0x34]
mov rax, qword [0x160273d18]
mov rdx, qword [rax + 0xf90]
mov rcx, qword [r13 + 0xd0]
test rcx, rcx
je 0x160050966
cmp dword [rdx + 0x12c], 0
je 0x160050966
lea rbx, [0x1601bbdf0]
mov qword [rsp + 0x1d0], rbx
or rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x1600508c0
mov dword [rsp + 0x1e4], eax
mov dword [rsp + 0x1e0], eax
mov qword [rsp + 0x1d8], rcx
lea rax, [0x1601bbd80]
mov qword [rsp + 0x1d0], rax
mov dword [rsp + 0x278], esi
mov eax, dword [rsp + 0x1e4]
mov dword [rsp + 0x27c], eax
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0x280], rax
lea rcx, [rdx + 0x110]
lea rdx, [rsp + 0x278]
call fcn.16010aea8
mov rcx, qword [rax]
test rcx, rcx
je 0x16005094f
mov edi, dword [rcx + 0x1a0]
lea rax, [0x1601bbd80]
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x1d0], rbx
jmp 0x160050966
lea rax, [0x1601bbd80]
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x1d0], rbx
mov rbx, qword [rsp + 0x60]
cmp dword [rbx + 0x24], edi
je 0x160050990
mov rax, qword [0x160273d18]
mov rdx, rbx
mov rcx, qword [rax + 0xf90]
call fcn.1600564e4
lea rcx, [rsp + 0x60]
call fcn.1600affa4
test dword [0x160274340], 0x400000
je 0x1600509b9
lea r8, [r13 + 0x38]
mov dword [rsp + 0x28], 0x3e
mov eax, dword [r13 + 0x34]
mov dword [rsp + 0x20], eax
mov r9d, dword [r13 + 0x50]
call fcn.160129c6c
cmp qword [rsp + 0x60], 0
jne 0x1600509fc
mov rax, qword [r12]
mov rcx, qword [rax + 0x33f8]
call fcn.1600441f0
mov rax, qword [0x160273d18]
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x20], rcx
mov r8, qword [r13 + 0xd0]
mov edx, dword [r13 + 0x34]
mov rcx, qword [rax + 0xf90]
call fcn.160056574
mov r14d, eax
mov dword [rsp + 0x40], r14d
test r14d, r14d
js 0x160050eb8
mov eax, dword [rsp + 0x570]
mov dword [rsp + 0x41c], eax
mov rax, qword [rsp + 0x568]
mov qword [rsp + 0x420], rax
mov dword [rsp + 0x428], r15d
mov rax, qword [rsp + 0x60]
mov rsi, qword [rax + 0x18]
mov qword [rsp + 0x270], rsi
mov rax, qword [rsi]
mov rax, qword [rax + 0x20]
lea rcx, [fcn.160031990]
cmp rax, rcx
jne 0x160050cfd
xor r12d, r12d
mov edi, r12d
mov qword [rsp + 0x218], r12
lea rdx, [0x1601d7c98]
lea ecx, [r12 + 0x40]
call fcn.16006ee20
mov rbx, rax
mov eax, r12d
test rbx, rbx
je 0x160050b8b
mov edi, dword [rsi + 0x18]
mov dword [rsp + 0x110], edi
mov dword [rbx + 0xc], 1
lea rax, [0x1601bbd00]
mov qword [rbx], rax
mov rcx, qword [0x160274ce8]
mov qword [rsp + 0x4e8], rcx
test rcx, rcx
je 0x160050ac2
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x16003fc5a.0]
lea rax, [0x1601bbcb8]
mov qword [rbx], rax
lea rax, [rbx + 0x10]
mov qword [rsp + 0x480], rax
lea rcx, [rsp + 0x2f0]
mov qword [rax], rcx
mov rax, qword [rsp + 0x2f0]
mov rax, qword [rax + 8]
lea rcx, [0x160031bd0]
cmp rax, rcx
jne 0x160050b1e
lock inc dword [rsp + 0x2f8]
mov r13, qword [rsp + 0x50]
mov qword [rsp + 0x48], r13
mov rsi, qword [rsp + 0x270]
mov edi, dword [rsp + 0x110]
jmp 0x160050b2c
lea rcx, [rsp + 0x2f0]
call qword [case.0x16003fc5a.0]
mov qword [rbx + 0x30], r12
mov dword [rbx + 0x38], edi
lea rcx, [rbx + 0x18]
mov qword [rsp + 0x4f0], rcx
lea rax, [rsp + 0x560]
mov qword [rcx + 0x18], rax
lea rax, [0x160061990]
mov qword [rcx], rax
mov eax, dword [rsp + 0x570]
mov dword [rcx + 0x10], eax
mov eax, dword [rsp + 0x574]
mov dword [rcx + 0x14], eax
mov rax, qword [rsp + 0x568]
mov qword [rcx + 8], rax
mov rax, rbx
mov qword [rsp + 0x4f8], rbx
mov rdi, rbx
mov qword [rsp + 0x218], rbx
test rax, rax
je 0x160050b95
mov eax, r12d
jmp 0x160050b98
or eax, 0xffffffff
cmp eax, 0xffffffff
je 0x160050ba2
mov r14d, r12d
jmp 0x160050ba8
mov r14d, 0x8007000e
mov dword [rsp + 0xcc], r14d
test r14d, r14d
js 0x160050bda
mov rcx, qword [rsi + 0x10]
mov rax, qword [rcx]
lea rdx, [rdi + 0x18]
xor r9d, r9d
mov r8, rdi
mov rax, qword [rax + 0x20]
call qword [case.0x16003fc5a.0]
mov r14d, eax
mov dword [rsp + 0xcc], eax
mov qword [rsp + 0x210], rdi
test rdi, rdi
je 0x160050cf6
mov qword [rsp + 0x218], r12
mov rax, qword [rdi]
mov rax, qword [rax + 0x10]
lea rcx, [0x160031b50]
cmp rax, rcx
jne 0x160050ced
or rdx, 0xffffffffffffffff
mov eax, edx
lock xadd dword [rdi + 0xc], eax
sub eax, 1
mov dword [rsp + 0x250], eax
jne 0x160050cd9
mov rbx, qword [rsp + 0x210]
mov rax, qword [rbx]
mov rax, qword [rax + 0x40]
lea rcx, [fcn.1600341a0]
cmp rax, rcx
jne 0x160050caa
lea rax, [rbx + 0x10]
mov qword [rsp + 0x500], rax
mov rcx, qword [rax]
mov qword [rsp + 0x508], rcx
test rcx, rcx
je 0x160050c99
mov qword [rax], r12
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
lea r8, [fcn.160031c30]
cmp rax, r8
jne 0x160050c93
mov eax, edx
lock xadd dword [rcx + 8], eax
dec eax
mov dword [rsp + 0x254], eax
cmp eax, 0xffffffff
jne 0x160050c89
jmp 0x160050c89
mov rbx, qword [rsp + 0x210]
jmp 0x160050c99
call qword [case.0x16003fc5a.0]
mov dword [rdi + 0xc], 0xc0000001
mov rcx, rbx
call fcn.160031c48
jmp 0x160050cb8
mov edx, 1
mov rcx, rbx
call qword [case.0x16003fc5a.0]
mov rcx, qword [0x160274ce8]
mov qword [rsp + 0x510], rcx
test rcx, rcx
je 0x160050cd9
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x16003fc5a.0]
mov r13, qword [rsp + 0x50]
mov qword [rsp + 0x48], r13
mov r14d, dword [rsp + 0xcc]
jmp 0x160050cf6
mov rcx, rdi
call qword [case.0x16003fc5a.0]
mov r12, qword [rsp + 0x58]
jmp 0x160050d1c
xor r9d, r9d
lea r8, [rsp + 0x2f0]
lea rdx, [rsp + 0x560]
mov rcx, rsi
call qword [case.0x16003fc5a.0]
mov r14d, eax
mov dword [rsp + 0x40], r14d
jmp 0x160050d47
xor esi, esi
cmp dword [rsp + 0x74], esi
je 0x160050eb8
mov edi, dword [r13 + 0x34]
mov dword [rsp + 0x90], edi
mov ebx, esi
mov dword [rsp + 0xa0], ebx
test r14d, r14d
js 0x160050eb4
cmp ebx, 4
jge 0x160050eb4
lea r8, [r13 + 0x400]
mov edx, dword [rsp + 0x570]
mov rcx, r12
call fcn.16004aa20
mov r14d, eax
mov dword [rsp + 0x40], eax
test eax, eax
js 0x160050eb4
mov r14d, dword [rsp + 0x598]
mov dword [rsp + 0x40], r14d
cmp r14d, 0x80070026
jne 0x160050dbd
mov r14d, esi
mov dword [rsp + 0x40], esi
jmp 0x160050dc6
test r14d, r14d
js 0x160050eb4
mov edx, ebx
call fcn.16012ea4c
cmp edi, eax
je 0x160050ead
mov dword [rsp + 0x574], esi
mov dword [r13 + 0x34], eax
mov r9d, 0x2a
lea r8, [rsp + 0x60]
mov rdx, r13
mov rcx, r12
call fcn.1600af108
mov r14d, eax
mov dword [rsp + 0x40], eax
test eax, eax
js 0x160050ead
xor edx, edx
lea rcx, [rsp + 0x2f0]
call fcn.160034200
mov eax, dword [rsp + 0x570]
mov dword [rsp + 0x41c], eax
mov rax, qword [rsp + 0x568]
mov qword [rsp + 0x420], rax
mov dword [rsp + 0x428], r15d
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x478], rcx
mov rax, qword [rcx]
xor r9d, r9d
lea r8, [rsp + 0x2f0]
lea rdx, [rsp + 0x560]
mov rax, qword [rax + 0x20]
call qword [case.0x16003fc5a.0]
mov r14d, eax
mov dword [rsp + 0x40], eax
inc ebx
jmp 0x160050d60
inc ebx
jmp 0x160050d60
mov dword [r13 + 0x34], edi
mov dword [r12 + 0x98], esi
inc r15d
mov dword [rsp + 0x88], r15d
cmp r15d, dword [rsp + 0x68]
jae 0x160051076
test r14d, r14d
js 0x160051076
cmp dword [rsp + 0x414], 0
je 0x160050f3b
mov dword [rsp + 0x414], esi
mov r14d, esi
lea rbx, [rsp + 0x308]
cmp qword [rsp + 0x308], 0
je 0x160050f2d
test r14d, r14d
js 0x160050f2d
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov edx, 0x41
mov rax, qword [rax + 0x38]
call qword [case.0x16003fc5a.0]
mov r14d, eax
add rbx, 8
cmp qword [rbx], 0
jne 0x160050f06
mov dword [rsp + 0x40], r14d
test r14d, r14d
js 0x160051076
lea r8, [r13 + 0x400]
mov edx, dword [rsp + 0x570]
mov rcx, r12
call fcn.16004aa20
mov r14d, eax
mov dword [rsp + 0x40], eax
test eax, eax
js 0x160050820
mov r14d, dword [rsp + 0x598]
cmp r14d, 0x80070026
cmove r14d, esi
mov dword [rsp + 0x40], r14d
mov rax, qword [r12]
mov dword [rax + 0x3434], r14d
test r14d, r14d
js 0x160051076
lea rax, [r13 + 0x28]
lea rcx, [rsp + 0x1460]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xb4]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x70]
lea r8, [rsp + 0xb8]
mov edx, r15d
mov rcx, qword [r13 + 0x3e8]
call fcn.160061680
mov r14d, eax
mov dword [rsp + 0x40], eax
test eax, eax
js 0x160050820
mov ecx, dword [r13 + 0x34]
mov qword [rsp + 0x598], 0
mov rax, qword [r13 + 0x400]
mov qword [rsp + 0x580], rax
mov rax, qword [r13 + 0x408]
mov qword [rsp + 0x588], rax
mov rax, qword [r13 + 0x410]
mov qword [rsp + 0x590], rax
mov dword [rsp + 0xdc0], esi
mov eax, dword [rsp + 0x2390]
mov dword [rsp + 0xdc4], eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0xdc8], eax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x568], rax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x570], eax
mov dword [rsp + 0x574], esi
mov dword [rsp + 0xdcc], ecx
mov r14d, esi
mov dword [rsp + 0x40], esi
jmp 0x160050820
cmp dword [rsp + 0x7c], 0
je 0x160051103
test r14d, r14d
js 0x160051103
cmp dword [rsp + 0x414], 0
je 0x1600510e2
mov dword [rsp + 0x414], esi
mov r14d, esi
lea rbx, [rsp + 0x308]
cmp qword [rsp + 0x308], 0
je 0x1600510d8
test r14d, r14d
js 0x1600510d8
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov edx, 0x40
mov rax, qword [rax + 0x38]
call qword [case.0x16003fc5a.0]
mov r14d, eax
add rbx, 8
cmp qword [rbx], 0
jne 0x1600510b1
mov dword [rsp + 0x40], r14d
test r14d, r14d
js 0x160051103
lea r8, [r13 + 0x400]
mov edx, dword [rsp + 0x570]
mov rcx, r12
call fcn.16004aa20
mov r14d, eax
mov dword [rsp + 0x40], eax
jmp 0x160051103
xor esi, esi
lea rax, fcn.160065ac0
mov qword [rsp + 0x1460], rax
mov rcx, qword [rsp + 0x1468]
test rcx, rcx
je 0x160051133
lea rax, [rsp + 0x1478]
cmp rcx, rax
je 0x160051133
call qword [sym.imp.msvcrt.dll_free]
nop
lea r15, [0x1601bbdf0]
mov qword [rsp + 0x1460], r15
mov r12, qword [rsp + 0x48]
jmp 0x160051152
xor esi, esi
lea r15, [0x1601bbdf0]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
cmp dword [rax + 0x3434], 0
jl 0x16005116a
mov dword [rax + 0x3438], r14d
mov rax, qword [rsp + 0x220]
mov rcx, qword [rax]
test rcx, rcx
je 0x16005118c
lock dec dword [rcx]
mov r14d, dword [rsp + 0x40]
mov r12, qword [rsp + 0x50]
mov qword [rsp + 0x48], r12
lea rax, [0x1601bce60]
mov qword [rsp + 0x2f0], rax
cmp dword [rsp + 0x2f8], 0
jne 0x160051835
lea rax, [0x1601bce20]
mov qword [rsp + 0x2f0], rax
lea rbx, [rsp + 0x308]
mov rcx, qword [rsp + 0x308]
test rcx, rcx
je 0x1600511fe
lea r12, [fcn.1600353b0]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
cmp rax, r12
jne 0x1600511e7
call fcn.1600353b0
jmp 0x1600511ed
call qword [case.0x16003fc5a.0]
add rbx, 8
mov rcx, qword [rbx]
test rcx, rcx
jne 0x1600511d4
mov r12, qword [rsp + 0x48]
lea rbx, fcn.160065ac0
mov qword [rsp + 0x5a0], rbx
mov rcx, qword [rsp + 0x5a8]
test rcx, rcx
je 0x16005122e
lea rax, [rsp + 0x5b8]
cmp rcx, rax
je 0x16005122e
call qword [sym.imp.msvcrt.dll_free]
nop
mov qword [rsp + 0x5a0], r15
test r12, r12
je 0x160051273
mov rax, qword [r12]
mov rax, qword [rax + 0x10]
lea rcx, [fcn.16003e000]
cmp rax, rcx
jne 0x160051256
dec dword [r12 + 8]
jmp 0x160051273
lea rcx, [fcn.160032540]
cmp rax, rcx
mov rcx, r12
jne 0x16005126c
call fcn.160032540
jmp 0x160051273
call qword [case.0x16003fc5a.0]
nop
lea rax, [0x1601bbe98]
mov qword [rsp + 0xe50], rax
cmp dword [rsp + 0xe58], 0
jne 0x160051855
lea rax, [0x1601bbf40]
mov qword [rsp + 0xe50], rax
lea rax, [0x1601bbed0]
mov qword [rsp + 0x1018], rax
mov rcx, qword [rsp + 0x1020]
test rcx, rcx
je 0x1600512cf
lea rax, [rsp + 0x1030]
cmp rcx, rax
je 0x1600512cf
call qword [sym.imp.msvcrt.dll_free]
nop
mov qword [rsp + 0x1018], r15
lea rax, [0x1601bbe28]
mov qword [rsp + 0xf38], rax
mov rcx, qword [rsp + 0xf40]
test rcx, rcx
je 0x160051307
lea rax, [rsp + 0xf50]
cmp rcx, rax
je 0x160051307
call qword [sym.imp.msvcrt.dll_free]
nop
mov qword [rsp + 0xf38], r15
lea rax, fcn.16003df60
mov qword [rsp + 0xeb8], rax
mov rcx, qword [rsp + 0xec0]
test rcx, rcx
je 0x16005133f
lea rax, [rsp + 0xed0]
cmp rcx, rax
je 0x16005133f
call qword [sym.imp.msvcrt.dll_free]
nop
mov qword [rsp + 0xeb8], r15
lea rcx, [rsp + 0xe60]
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_PropVariantClear]
nop
mov r12, qword [rsp + 0x58]
mov edi, 1
jmp 0x16004cd6e
cmp r14d, 0x80070026
cmove r14d, esi
mov dword [rsp + 0x40], r14d
mov rcx, qword [r12]
mov eax, dword [rcx + 0x3434]
test eax, eax
je 0x16005138a
js 0x160051391
test r14d, r14d
jns 0x160051391
mov dword [rcx + 0x3434], r14d
mov qword [rsp + 0x2f0], rdx
cmp dword [rsp + 0x2f8], 0
jne 0x160051875
lea rax, [0x1601bce20]
mov qword [rsp + 0x2f0], rax
lea rbx, [rsp + 0x308]
mov rcx, qword [rsp + 0x308]
test rcx, rcx
je 0x1600513e9
nop dword [rax + rax]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x16003fc5a.0]
lea rbx, [rbx + 8]
mov rcx, qword [rbx]
test rcx, rcx
jne 0x1600513d0
lea rax, fcn.160065ac0
mov qword [rsp + 0x5a0], rax
mov rcx, qword [rsp + 0x5a8]
test rcx, rcx
je 0x160051419
lea rax, [rsp + 0x5b8]
cmp rcx, rax
je 0x160051419
call qword [sym.imp.msvcrt.dll_free]
nop
mov qword [rsp + 0x5a0], r15
test r13, r13
je 0x16005144b
mov rax, qword [r13]
mov rax, qword [rax + 0x10]
lea rcx, [fcn.16003e000]
cmp rax, rcx
mov rcx, r13
jne 0x160051444
call fcn.16003e000
jmp 0x16005144b
call qword [case.0x16003fc5a.0]
nop
lea rax, [0x1601bbe98]
mov qword [rsp + 0xe50], rax
cmp dword [rsp + 0xe58], 0
jne 0x160051895
lea rax, [0x1601bbf40]
mov qword [rsp + 0xe50], rax
lea rax, [0x1601bbed0]
mov qword [rsp + 0x1018], rax
mov rcx, qword [rsp + 0x1020]
test rcx, rcx
je 0x1600514a7
lea rax, [rsp + 0x1030]
cmp rcx, rax
je 0x1600514a7
call qword [sym.imp.msvcrt.dll_free]
nop
mov qword [rsp + 0x1018], r15
lea rax, [0x1601bbe28]
mov qword [rsp + 0xf38], rax
mov rcx, qword [rsp + 0xf40]
test rcx, rcx
je 0x1600514df
lea rax, [rsp + 0xf50]
cmp rcx, rax
je 0x1600514df
call qword [sym.imp.msvcrt.dll_free]
nop
mov qword [rsp + 0xf38], r15
lea rax, fcn.16003df60
mov qword [rsp + 0xeb8], rax
mov rcx, qword [rsp + 0xec0]
test rcx, rcx
je 0x160051517
lea rax, [rsp + 0xed0]
cmp rcx, rax
je 0x160051517
call qword [sym.imp.msvcrt.dll_free]
nop
mov qword [rsp + 0xeb8], r15
lea rcx, [rsp + 0xe60]
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_PropVariantClear]
nop
jmp 0x16005157e
lea rcx, [rsp + 0x50]
call fcn.1600664b4
nop
lea rcx, [rsp + 0xe50]
call fcn.16003e02c
mov r12, qword [rsp + 0x58]
mov edi, 1
jmp 0x16004cd60
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov dword [rax + 0x3434], r14d
lea rcx, [rsp + 0x50]
call fcn.1600664b4
nop
lea rcx, [rsp + 0xe50]
call fcn.16003e02c
mov edi, 1
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x160051783
mov rax, qword [0x160273d18]
mov rcx, qword [rax + 0xf90]
mov qword [rsp + 0xe8], rsi
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x20], rax
mov r9d, edi
xor r8d, r8d
mov edx, dword [rbx + 0x24]
call fcn.160056640
test eax, eax
je 0x1600515d8
lea rcx, [rsp + 0xe8]
call fcn.160002750
jmp 0x160051783
mov rsi, qword [rsp + 0xe8]
mov r12, qword [rsi + 0x18]
xor r13d, r13d
mov dword [rsp + 0x11c], r13d
mov rbx, qword [rsp + 0x60]
mov rax, qword [0x160273d18]
mov rcx, qword [rax + 0xf90]
mov r8d, dword [rcx + 0x104]
cmp dword [rbx + 0x20], r8d
je 0x16005162a
mov rcx, qword [rbx + 0x18]
mov rax, qword [rcx]
lea r9, [rsp + 0x11c]
xor edx, edx
mov rax, qword [rax + 0x18]
call qword [case.0x16003fc5a.0]
lea rdi, [r12 + 0x20]
mov qword [rsp + 0x228], rdi
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
nop
mov rax, qword [rsp + 0x60]
mov ecx, dword [rax + 0x2c]
cmp ecx, dword [r12 + 0x1f0]
je 0x160051665
lea rcx, [rsp + 0x228]
call fcn.1600ad590
jmp 0x16005175f
cmp dword [r12 + 0x108], 0
jne 0x160051750
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetTickCount]
mov rdx, qword [rsp + 0x60]
mov dword [rdx + 0x28], eax
add r12, 0x48
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
mov rax, qword [0x1601c0fd0]
call qword [case.0x16003fc5a.0]
mov r15, rax
mov qword [rsp + 0x288], rax
test rax, rax
je 0x1600516b1
mov qword [rax], r13
mov qword [rax + 8], r13
jmp 0x1600516b4
mov r15, r13
test r15, r15
je 0x160051750
mov rbx, qword [rsp + 0x60]
mov rax, qword [rbx]
mov rax, qword [rax + 8]
lea rcx, [fcn.16003fb40]
cmp rax, rcx
jne 0x1600516df
mov rcx, rbx
call fcn.16003fb40
jmp 0x1600516ea
mov rcx, qword [rsp + 0x60]
call qword [case.0x16003fc5a.0]
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x160051700
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x16003fc5a.0]
mov rax, qword [rsp + 0x60]
mov qword [r15 + 8], rax
mov rax, qword [r12]
mov qword [r15], rax
mov qword [r12], r15
cmp r12, qword [r12 + 0x10]
jne 0x160051720
mov qword [r12 + 0x10], r15
inc dword [r12 + 0x18]
mov rax, qword [0x160273d18]
mov rcx, qword [rax + 0x1d98]
test rcx, rcx
je 0x160051750
lock inc dword [rcx]
mov r14d, dword [rsp + 0x40]
mov rsi, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0x228]
test rdi, rdi
je 0x16005175f
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
nop
mov rax, qword [rsi]
mov rax, qword [rax + 0x10]
lea rcx, [fcn.160056c10]
cmp rax, rcx
mov rcx, rsi
jne 0x16005177c
call fcn.160056c10
jmp 0x160051783
call qword [case.0x16003fc5a.0]
nop
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x1600517b6
mov rax, qword [rbx]
mov rax, qword [rax + 0x10]
lea rcx, [fcn.160055f00]
cmp rax, rcx
jne 0x1600517aa
mov rcx, rbx
call fcn.160055f00
jmp 0x1600517b6
mov rcx, qword [rsp + 0x60]
call qword [case.0x16003fc5a.0]
nop
mov rax, qword [rsp + 0xf8]
test rax, rax
je 0x1600517f5
or rcx, 0xffffffffffffffff
lock xadd dword [rax + 8], ecx
cmp ecx, 1
jne 0x1600517f0
mov rbx, qword [rsp + 0xf8]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x16003fc5a.0]
mov rcx, rbx
call 0x160007ab8
mov r14d, dword [rsp + 0x40]
mov eax, r14d
mov rcx, qword [rsp + 0x2330]
xor rcx, rsp
call fcn.16006e590
add rsp, 0x2340
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rcx, qword [rsp + 0x2378]
lea r8, str.onecoreuap_base_appmodel_search_searchcommonincludeeventsem.hxx
mov edx, reloc.OLEAUT32.dll_VarUI4FromDisp
call fcn.1600be3d0
nop
mov rcx, qword [rsp + 0x2378]
mov r9d, 0x8000ffff
lea r8, str.onecoreuap_base_appmodel_search_searchcommoninclude_atlext.hxx
mov edx, 0x2ad
call fcn.1600b47d4
nop
mov rcx, qword [rsp + 0x2378]
mov r9d, 0x8000ffff
lea r8, str.onecoreuap_base_appmodel_search_searchcommoninclude_atlext.hxx
mov edx, 0x2ad
call fcn.1600b47d4
nop
mov rcx, qword [rsp + 0x2378]
mov r9d, 0x8000ffff
lea r8, str.onecoreuap_base_appmodel_search_searchcommoninclude_atlext.hxx
mov edx, 0x2ad
call fcn.1600b47d4
nop
mov rcx, qword [rsp + 0x2378]
mov r9d, 0x8000ffff
lea r8, str.onecoreuap_base_appmodel_search_searchcommoninclude_atlext.hxx
mov edx, 0x2ad
call fcn.1600b47d4
int3