Function at 0x452b89
Capabilities:
Get system information on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x2e78
call fcn.004741ee
sub rsp, rax
movaps xmmword [rsp + 0x2e60], xmm6
mov ecx, 0x10
call fcn.005819a4
mov rsi, rax
mov eax, 1
mov qword [rsi], rax
mov qword [rsi + 8], rax
call fcn.00581c22
and qword [rsp + 0x340], 0
xor ecx, ecx
mov byte [rsp + 0x348], cl
mov dword [rsp + 0x34c], eax
mov dword [rsp + 0x350], edx
mov byte [rsp + 0x35c], 1
mov qword [rsp + 0x2e8], 0x400
mov byte [rsp + 0x35f], cl
and qword [rsp + 0x2a0], 0
mov qword [rsp + 0x2f0], 0x200
mov qword [rsp + 0x2d8], rsi
lea rax, [0x00775b90]
mov qword [rsp + 0x2e0], rax
and qword [rsp + 0x2b0], 0
and qword [rsp + 0x2f8], 0
and qword [rsp + 0x308], 0
and qword [rsp + 0x318], 0
and qword [rsp + 0x328], 0
mov dword [rsp + 0x2d0], 0x3b9aca00
and dword [rsp + 0x2c0], 0
mov dword [rsp + 0x358], 0x3d
mov qword [rsp + 0x338], 0x100
and word [rsp + 0x360], 0
mov word [rsp + 0x35d], 0x101
lea rdx, str.TOKIO_WORKER_THREADStask__was_cancelled
lea rsi, [rsp + 0x370]
mov r8d, 0x14
mov rcx, rsi
call fcn.00577142
movzx eax, byte [rsi + 0x18]
cmp eax, 2
je 0x452d1a
cmp eax, 3
jne 0x455365
mov rsi, qword [rsp + 0x370]
mov rdi, qword [rsp + 0x378]
mov r8, qword [rsp + 0x380]
lea rbx, [rsp + 0x11c0]
mov rcx, rbx
mov rdx, rsi
call fcn.0047bf05
cmp byte [rbx], 0
jne 0x455365
mov r12, qword [rsp + 0x11c8]
test r12, r12
je 0x455365
mov rcx, rsi
mov rdx, rdi
call fcn.00433bdd
jmp 0x452d48
pxor xmm0, xmm0
lea rsi, [rsp + 0x11c0]
movdqa xmmword [rsi + 0x20], xmm0
movdqa xmmword [rsi + 0x10], xmm0
movdqa xmmword [rsi], xmm0
mov rcx, rsi
call sub.kernel32.dll_GetSystemInfo
mov r12d, dword [rsi + 0x20]
cmp r12d, 1
adc r12d, 0
lea rdx, [rsp + 0xb0]
mov dword [rdx + 8], 0x101
mov qword [rdx], 0x400
lea rsi, [rsp + 0x11c0]
mov rcx, rsi
call fcn.0057d020
mov rcx, qword [rsi]
mov rax, rcx
mov qword [rsp + 0xa8], rcx
cmp rcx, 2
je 0x455365
lea rdx, [rsp + 0x11d0]
mov r14, qword [rdx - 8]
lea rsi, [rsp + 0x370]
mov r8d, 0xf0
mov rcx, rsi
call sub.ntdll.dll_memcpy
movdqu xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movdqa xmmword [rsp + 0x150], xmm0
movaps xmmword [rsp + 0x160], xmm1
movaps xmmword [rsp + 0x170], xmm2
lea rdx, [rsp + 0x3a0]
lea rcx, [rsp + 0x1c8]
mov r8d, 0xc0
call sub.ntdll.dll_memcpy
lea rdx, [r12 + 0x200]
lea rcx, [rsp + 0x2a0]
call fcn.0057e24c
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0xa0], rax
lock inc qword [rax]
jle 0x455365
lea rsi, [rsp + 0x340]
mov rcx, rsi
call fcn.00581924
and qword [rsp + 0x3a0], 0
xor ebp, ebp
mov byte [rsp + 0x3a8], bpl
mov dword [rsp + 0x3ac], eax
mov dword [rsp + 0x3b0], edx
mov rcx, rsi
call fcn.00581924
mov r15d, eax
mov r13d, edx
mov rcx, qword [rsi - 0x28]
mov rdx, qword [rsi - 0x20]
call fcn.0052fbd0
mov rdi, rax
mov rbx, rdx
mov rcx, qword [rsi - 0x18]
mov rdx, qword [rsi - 0x10]
call fcn.0052fbd0
mov ecx, dword [rsi + 0x18]
mov r8, qword [rsi - 0x80]
mov r9, qword [rsi - 8]
movzx r10d, word [rsi + 0x20]
mov qword [rsp + 0x370], r8
mov dword [rsp + 0x3b8], ecx
mov qword [rsp + 0x378], r9
mov qword [rsp + 0x380], rdi
mov qword [rsp + 0x388], rbx
mov qword [rsp + 0x390], rax
mov qword [rsp + 0x398], rdx
mov word [rsp + 0x3bc], r10w
mov ecx, 0x58
call fcn.005819a4
mov ecx, 1
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0xa8]
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], r14
movdqa xmm0, xmmword [rsp + 0x150]
movaps xmm1, xmmword [rsp + 0x160]
movaps xmm2, xmmword [rsp + 0x170]
movdqu xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm1
movups xmmword [rax + 0x40], xmm2
mov byte [rax + 0x50], bpl
lea rcx, [rsp + 0x11c0]
mov byte [rcx + 0x18], bpl
pxor xmm0, xmm0
movdqu xmmword [rcx + 8], xmm0
and qword [rcx + 0x20], 0
mov qword [rcx], rax
call fcn.0058328f
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0x288], rax
mov rax, r12
shr rax, 0x3c
jne 0x455365
lea rsi, [r12*8]
mov rcx, rsi
call fcn.005819bb
test rax, rax
je 0x455365
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], r12
and qword [rsp + 0x80], 0
movabs rax, 0x800000000000000
dec rax
cmp r12, rax
ja 0x455365
mov qword [rsp + 0x98], rsi
mov dword [rsp + 0x40], r13d
mov dword [rsp + 0x48], r15d
mov rcx, r12
shl rcx, 4
call fcn.005819bb
test rax, rax
je 0x455365
mov r14, rax
lea rax, [rsp + 0xf8]
mov qword [rax], r14
mov qword [rax + 8], r12
and qword [rax + 0x10], 0
xor r13d, r13d
xorps xmm6, xmm6
lea rbx, [rsp + 0x11c0]
xor ebp, ebp
mov qword [rsp + 0x30], r12
cmp rbp, r12
je 0x453234
mov ecx, 0x800
call fcn.005819bb
test rax, rax
je 0x455365
mov qword [rsp + 0x11c0], rax
mov qword [rsp + 0x11c8], 0x100
mov esi, 0x100
xor edi, edi
mov qword [rsp + 0x11d0], rdi
sub rsi, 1
jb 0x45304e
cmp rdi, qword [rsp + 0x11c8]
jne 0x453049
mov rcx, rbx
mov rdx, rdi
call fcn.004702f6
mov rdi, qword [rsp + 0x11d0]
inc rdi
jmp 0x45301e
mov r15, qword [rsp + 0x11c0]
mov rax, qword [rsp + 0x11c8]
cmp rax, rdi
jbe 0x45308f
shl rax, 3
test rdi, rdi
je 0x455369
lea r8, [rdi*8]
mov rcx, r15
mov rdx, rax
call fcn.00582a39
mov r15, rax
test rax, rax
je 0x455365
cmp rdi, 0x100
jne 0x455365
mov ecx, 0x28
call fcn.005819a4
mov rdi, rax
mov eax, 1
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], r15
and qword [rdi + 0x18], 0
and dword [rdi + 0x20], 0
lock inc qword [rdi]
jle 0x455365
mov rax, qword [rsp + 0xf0]
mov rax, qword [rax + 0x10]
lock inc qword [rax]
jle 0x455365
mov qword [rsp + 0x28], rbp
lea rcx, [rsp + 0x11c8]
movups xmmword [rcx], xmm6
mov byte [rcx + 0x10], 0
and qword [rsp + 0x11e0], 0
mov qword [rsp + 0x11c0], rax
mov rcx, rbx
call fcn.0058328f
lock inc qword [rax]
jle 0x455365
mov r15, rax
mov qword [rsp + 0x60], r14
call fcn.0056c7aa
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x68], edx
cmp dword [rsp + 0x370], 0
mov ebp, 0x3d
je 0x453145
mov ebp, dword [rsp + 0x374]
mov r12b, byte [rsp + 0x3bc]
lea rcx, [rsp + 0x3a0]
call fcn.00581924
mov esi, eax
mov r14d, edx
xor r12b, 1
mov ecx, 0x50
call fcn.005819a4
and qword [rax], 0
mov qword [rax + 8], r15
mov dword [rax + 0x10], esi
mov dword [rax + 0x14], r14d
mov qword [rax + 0x18], rdi
and qword [rax + 0x20], 0
movabs rcx, 0x40a99d60864b8a7e
mov qword [rax + 0x28], rcx
mov rcx, qword [rsp + 0x38]
mov qword [rax + 0x30], rcx
mov ecx, dword [rsp + 0x68]
mov dword [rax + 0x38], ecx
and dword [rax + 0x40], 0
mov dword [rax + 0x44], ebp
mov byte [rax + 0x48], r12b
and word [rax + 0x49], 0
mov byte [rax + 0x4b], 0
lea rcx, [rsp + 0x70]
mov rdx, rax
call fcn.00582120
cmp r13, qword [rsp + 0x100]
jne 0x4531f5
lea rcx, [rsp + 0xf8]
mov rdx, r13
call fcn.004d9f18
mov r14, qword [rsp + 0xf8]
mov r13, qword [rsp + 0x108]
mov r12, qword [rsp + 0x30]
jmp 0x4531ff
mov r12, qword [rsp + 0x30]
mov r14, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x28]
shl r13, 4
mov qword [r14 + r13], rdi
mov qword [r14 + r13 + 8], r15
mov r13, qword [rsp + 0x108]
inc r13
mov qword [rsp + 0x108], r13
inc rbp
jne 0x452fe7
call 0x582a71
ud2
movabs rax, 0xfffffffffffffff
cmp r12, rax
ja 0x455365
mov rcx, qword [rsp + 0x98]
call fcn.005819bb
test rax, rax
je 0x455365
mov rcx, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x100]
cmp r9, r13
mov qword [rsp + 0x28], rax
jbe 0x45329e
shl r9, 4
test r13, r13
je 0x4532a5
mov r8, r13
shl r8, 4
mov rdx, r9
call fcn.00582a39
mov qword [rsp + 0x38], rax
test rax, rax
jne 0x4532bc
jmp 0x455365
mov qword [rsp + 0x38], rcx
jmp 0x4532bc
mov edx, 8
mov r8, r9
call fcn.00402efa
mov eax, 8
mov qword [rsp + 0x38], rax
mov rax, r12
shl rax, 0x10
mov qword [rsp + 0x68], rax
xorps xmm6, xmm6
lea r15, [rsp + 0x11c0]
movups xmmword [r15 + 7], xmm6
and qword [r15 + 0x17], 0
movups xmm0, xmmword [r15]
lea rbx, [rsp + 0xb0]
movaps xmmword [rbx], xmm0
movups xmm0, xmmword [r15 + 0xf]
movups xmmword [rbx + 0xf], xmm0
call fcn.005832ca
mov qword [rsp + 0x60], rax
lea rsi, [rsp + 0x370]
mov ecx, 0xa
mov rdi, r15
rep movsq qword [rdi], qword [rsi]
mov ecx, 0x218
call fcn.005819a4
mov r14, rax
mov ebp, 1
mov qword [rax], rbp
mov qword [rax + 8], rbp
lea rdi, [rax + 0x10]
mov ecx, 0xa
mov rsi, r15
rep movsq qword [rdi], qword [rsi]
mov rax, qword [rsp + 0x38]
mov qword [r14 + 0x60], rax
mov qword [r14 + 0x68], r13
mov rax, qword [rsp + 0x60]
mov qword [r14 + 0x70], rax
and qword [r14 + 0x78], 0
xor esi, esi
mov byte [r14 + 0x80], sil
movaps xmm0, xmmword [rbx]
movups xmmword [r14 + 0x81], xmm0
movdqu xmm0, xmmword [rbx + 0xf]
movdqu xmmword [r14 + 0x90], xmm0
mov byte [r14 + 0xa0], sil
mov qword [r14 + 0xa8], rbp
mov qword [r14 + 0xb0], r12
and qword [r14 + 0xb8], 0
mov rax, qword [rsp + 0x68]
mov qword [r14 + 0xc0], rax
mov qword [r14 + 0xc8], r12
and qword [r14 + 0xd0], 0
mov byte [r14 + 0xd8], sil
mov rax, qword [rsp + 0x28]
mov qword [r14 + 0xe0], rax
mov qword [r14 + 0xe8], r12
and qword [r14 + 0x110], 0
mov byte [r14 + 0x118], sil
movups xmmword [r14 + 0xf9], xmm6
movups xmmword [r14 + 0xf0], xmm6
mov r12d, 8
mov qword [r14 + 0x120], r12
movups xmmword [r14 + 0x128], xmm6
lea rcx, [r14 + 0x138]
lea rdx, [rsp + 0x1c8]
mov r8d, 0xc0
call sub.ntdll.dll_memcpy
mov rax, qword [rsp + 0xa0]
mov qword [r14 + 0x1f8], rax
and qword [r14 + 0x200], 0
mov byte [r14 + 0x208], sil
movzx eax, word [rsp + 0x140]
mov word [r14 + 0x209], ax
mov al, byte [rsp + 0x142]
mov byte [r14 + 0x20b], al
mov eax, dword [rsp + 0x48]
mov dword [r14 + 0x20c], eax
mov eax, dword [rsp + 0x40]
mov dword [r14 + 0x210], eax
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x80]
and qword [rsp + 0x80], 0
movups xmmword [rbx + 8], xmm6
mov qword [rbx], r12
lea rcx, [rax + rdx*8]
mov qword [r15 + 0x18], rdx
movups xmmword [r15 + 0x20], xmm6
mov qword [r15], rax
mov qword [r15 + 8], rcx
lea rdx, [rsp + 0x70]
mov qword [r15 + 0x10], rdx
cmp rax, rcx
je 0x45354a
lea rcx, [rax + 8]
mov qword [rsp + 0x11c0], rcx
mov r15, qword [rax]
mov r13, qword [rsp + 0x11e8]
lea rax, [r13 + 1]
mov qword [rsp + 0x11e8], rax
lock inc qword [r14]
jle 0x455365
mov ecx, 0x28
call fcn.005819a4
mov rdi, rax
mov qword [rax], rbp
mov qword [rax + 8], rbp
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], r13
mov qword [rax + 0x20], r15
cmp rsi, qword [rsp + 0xb8]
jne 0x45351e
mov rcx, rbx
mov rdx, rsi
call fcn.004702f6
mov r12, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xc0]
mov qword [r12 + rsi*8], rdi
mov rsi, qword [rsp + 0xc0]
inc rsi
mov qword [rsp + 0xc0], rsi
mov rax, qword [rsp + 0x11c0]
mov rcx, qword [rsp + 0x11c8]
jmp 0x4534a3
lea rsi, [rsp + 0x11c0]
mov rcx, rsi
call fcn.0057c563
lea rax, [rsp + 0xb0]
movups xmm0, xmmword [rax]
movaps xmmword [rsi], xmm0
mov rax, qword [rax + 0x10]
mov qword [rsi + 0x10], rax
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x80]
call fcn.0057bc3e
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
call fcn.00487c20
lea rcx, [rsp + 0x288]
call fcn.00581b01
movdqa xmm0, xmmword [rsi]
lea rdi, [rsp + 0x1a0]
movdqa xmmword [rdi], xmm0
mov rax, qword [rsi + 0x10]
mov qword [rdi + 0x10], rax
lea rcx, [rsp + 0x370]
mov edx, 1
mov r8, r14
call fcn.0057ba44
mov rax, qword [rdi]
mov r15, qword [rdi + 0x10]
and qword [rdi + 0x10], 0
mov qword [rsi + 0x18], r15
and qword [rsi + 0x20], 0
lea rcx, [rax + r15*8]
mov qword [rsi], rax
mov qword [rsi + 8], rcx
mov qword [rsi + 0x10], rdi
shl r15, 3
xorps xmm6, xmm6
test r15, r15
je 0x4536e9
lea rbp, [rax + 8]
mov qword [rsp + 0x11c0], rbp
mov r12, qword [rax]
call fcn.0057caa3
mov rdi, rax
mov rbx, rdx
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rdx
mov r13d, 1
lock xadd qword [0x006b11e8], r13
mov ecx, pe_nt_image_headers64
mov edx, pe_nt_image_headers64
call fcn.0057c1d0
mov rsi, rax
and qword [rax + 8], 0
and qword [rax + 0x18], 0
and qword [rax + 0x58], 0
lea rax, [rbx + 0x1f8]
add rbx, 0x190
test rdi, rdi
mov qword [rsi], 0xcc
lea rcx, [0x007759d8]
mov qword [rsi + 0x10], rcx
mov qword [rsi + 0x20], r13
mov qword [rsi + 0x28], 2
mov qword [rsi + 0x30], r12
movups xmmword [rsi + 0x48], xmm6
cmovne rbx, rax
mov rcx, qword [rbx]
mov rdx, rsi
lea r8, [rsp + 0xb0]
call fcn.0057cae7
test rax, rax
je 0x4536b5
test rdx, rdx
jne 0x455365
lea rcx, [rsp + 0xb0]
call fcn.0057bb0c
mov eax, 0xcc
mov ecx, 0x84
lock cmpxchg qword [rsi], rcx
je 0x4536dd
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [rax + 0x20]
add r15, 0xfffffffffffffff8
mov rax, rbp
jmp 0x4535f6
mov rcx, qword [rsp + 0x11c0]
mov rdx, qword [rsp + 0x11c8]
lea rax, [0x00799ab8]
mov qword [rsp + 0x11c0], rax
mov qword [rsp + 0x11c8], rax
sub rdx, rcx
je 0x45371e
shr rdx, 3
call fcn.0057c4ac
lea rcx, [rsp + 0x11c0]
call fcn.0057b723
mov rcx, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0x1b0]
call fcn.0057c4ac
mov r8, qword [rsp + 0x1a8]
test r8, r8
je 0x453763
shl r8, 3
mov rcx, qword [rsp + 0x1a0]
mov edx, 8
call fcn.00402efa
lea rcx, [rsp + 0x370]
call fcn.00582fad
cmp dword [rsp + 0xa8], 2
je 0x455365
mov eax, 1
lea rdx, [rsp + 0x1d0]
mov qword [rdx - 8], rax
and qword [rdx + 8], 0
mov byte [rdx + 0x10], 0
movdqu xmm0, xmmword [rsp + 0x11c0]
movdqu xmmword [rdx + 0x11], xmm0
mov rcx, qword [rsp + 0x11cf]
mov qword [rdx + 0x20], rcx
and qword [rdx + 0x28], 0
mov qword [rdx + 0x30], rax
lea rsi, [rsp + 0x208]
mov qword [rsi], r14
mov rax, qword [rsp + 0xa0]
mov qword [rsi + 8], rax
mov rax, qword [rsp + 0x58]
mov qword [rsi + 0x10], rax
lea rcx, [rsp + 0x288]
mov edx, 1
mov r8, r14
call fcn.0057ba44
xor eax, eax
cmp qword [rsi - 0x40], rax
je 0x453944
mov r9, qword [rsp + 0x200]
mov rax, qword [rsp + 0x208]
mov qword [rsp + 0x20], rax
lea rdx, [0x004528a2]
lea rsi, [rsp + 0xb0]
mov rcx, rsi
mov r8b, 1
call fcn.00455793
cmp dword [rsi], 3
je 0x455365
movdqu xmm0, xmmword [rsp + 0xb0]
movups xmm1, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x160], xmm1
movdqa xmmword [rsp + 0x150], xmm0
lea rsi, [rsp + 0x370]
lea rdx, [rsp + 0x2010]
mov r8d, 0xf3
mov rcx, rsi
call sub.ntdll.dll_memcpy
mov byte [rsi + 0xf3], 0
lea rcx, [rsp + 0x464]
lea rdx, [rsp + 0x2104]
mov r8d, 0xd5c
call sub.ntdll.dll_memcpy
call fcn.00582cf0
test rax, rax
je 0x455386
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], rdx
lea rsi, [rsp + 0x70]
lea rax, [rsp + 0xf8]
mov qword [rsi], rax
lea rdi, [rsp + 0x11c0]
lea rdx, [rsp + 0x370]
mov r8d, 0xe50
mov rcx, rdi
call sub.ntdll.dll_memcpy
mov cl, 1
mov dl, pe_nt_image_headers64
call fcn.00458d39
mov ebx, eax
mov ebp, edx
mov rcx, rdi
mov rdx, rsi
call fcn.00439be8
mov r14d, eax
mov ecx, ebx
mov edx, ebp
call fcn.00448ceb
test r14b, r14b
je 0x453912
call fcn.00582e17
jmp 0x4538e2
lea rcx, [rsp + 0x11c0]
call fcn.0045272b
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x100]
call qword [rax + 0x18]
lea rcx, [rsp + 0x150]
call fcn.0045285d
jmp 0x454490
lea rsi, [rsp + 0x11c0]
lea rdx, [rsp + 0x2010]
mov r8d, 0xf3
mov rcx, rsi
call sub.ntdll.dll_memcpy
mov byte [rsi + 0xf3], 0
lea rcx, [rsp + 0x12b4]
lea rdx, [rsp + 0x2104]
mov r8d, 0xd5c
call sub.ntdll.dll_memcpy
mov r9, qword [rsp + 0x200]
mov rax, qword [rsp + 0x208]
mov qword [rsp + 0x20], rax
lea rdx, [0x004528a2]
lea rsi, [rsp + 0x1a0]
mov rcx, rsi
xor r8d, r8d
call fcn.00455793
cmp dword [rsi], 3
je 0x455365
movdqu xmm0, xmmword [rsp + 0x1a0]
movups xmm1, xmmword [rsp + 0x1b0]
movaps xmmword [rsp + 0x80], xmm1
movdqa xmmword [rsp + 0x70], xmm0
cmp qword [rsp + 0x200], 0
jne 0x455365
lea rdi, [rsp + 0x380]
xorps xmm6, xmm6
lea rcx, [rsp + 0x150]
lea rdx, [rsp + 0x1d0]
lea r8, [rsp + 0x208]
call fcn.00583040
cmp dword [rsp + 0x150], 2
jne 0x453eb4
mov rax, qword [rsp + 0x1f8]
shr rax, 2
lea rcx, [rsp + 0x1d8]
mov qword [rsp + 0x370], rcx
mov qword [rsp + 0x378], rax
movups xmmword [rdi + 0x19], xmm6
movups xmmword [rdi + 0x10], xmm6
movups xmmword [rdi], xmm6
mov eax, dword [rsp + 0x140]
mov ecx, dword [rsp + 0x143]
mov dword [rdi + 0x2c], ecx
mov dword [rdi + 0x29], eax
call fcn.00582cf0
test rax, rax
je 0x455365
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rdx
lea rax, [rsp + 0xb0]
mov qword [rsp + 0xf8], rax
mov cl, 1
mov dl, pe_nt_image_headers64
call fcn.00458d39
mov r12d, eax
mov r13d, edx
mov r15, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0x370]
movzx eax, byte [rsp + 0x3a8]
test rax, rax
jne 0x453b7c
mov rcx, qword [rbx + 0x20]
and rcx, 0xfffffffffffffffc
lea rax, [rcx + 2]
lock cmpxchg qword [rbx + 0x20], rcx
jne 0x453adf
mov byte [rsp + 0x3a8], 2
jmp 0x453ab0
mov rax, qword [r15]
mov rcx, qword [r15 + 8]
call qword [rax]
mov rsi, rax
mov r14, rdx
mov rcx, rbx
call fcn.0057f075
mov rcx, rax
mov rdx, qword [rbx + 0x20]
mov rax, rdx
shr rax, 2
cmp rax, qword [rsp + 0x378]
jne 0x453b64
mov rax, rdx
and rax, 3
je 0x453b3d
cmp eax, 2
jne 0x453c29
and rdx, 0xfffffffffffffffc
lea rax, [rdx + 2]
lock cmpxchg qword [rbx + 0x20], rdx
je 0x453b64
mov rdx, rax
test dl, 3
je 0x453b0e
jmp 0x455365
and rdx, 0xfffffffffffffffc
lea r8, [rdx + 1]
mov rax, rdx
lock cmpxchg qword [rbx + 0x20], r8
je 0x453c32
mov rdx, rax
and eax, 3
cmp eax, 2
je 0x453b0e
jmp 0x455365
mov byte [rsp + 0x3a8], 2
call sub.kernel32.dll_ReleaseSRWLockExclusive
mov rcx, r14
call qword [rsi + 0x18]
jmp 0x453ab0
cmp eax, 1
jne 0x453d46
mov rax, qword [rsp + 0x3a0]
cmp rax, 3
jae 0x455365
test rax, rax
jne 0x453cd6
mov rcx, rbx
call fcn.0057f075
mov rsi, rax
mov rax, qword [rsp + 0x3a0]
cmp rax, 3
jae 0x455365
test rax, rax
jne 0x453d05
mov rax, qword [rbx + 0x20]
shr rax, 2
mov r14, qword [rsp + 0x390]
cmp rax, qword [rsp + 0x378]
je 0x453d50
mov rbp, qword [rsp + 0x398]
and qword [rsp + 0x390], 0
mov rcx, rsi
add rcx, 0x10
mov rdx, rdi
call fcn.00582b5e
mov byte [rsp + 0x3a8], 2
mov rcx, rsi
call sub.kernel32.dll_ReleaseSRWLockExclusive
test r14, r14
je 0x453ab0
mov rcx, rbp
call qword [r14 + 0x18]
jmp 0x453ab0
cmp eax, 1
jne 0x455365
mov rbx, qword [rsp + 0x390]
mov rbp, qword [rsp + 0x398]
mov qword [rsp + 0x390], rsi
mov qword [rsp + 0x398], r14
mov rax, qword [rcx + 0x10]
cmp rax, rdi
je 0x455365
mov qword [rsp + 0x388], rax
and qword [rsp + 0x380], 0
test rax, rax
je 0x453c78
mov qword [rax], rdi
mov qword [rcx + 0x10], rdi
cmp qword [rcx + 0x18], 0
jne 0x453c87
mov qword [rcx + 0x18], rdi
mov byte [rsp + 0x3a8], 1
call sub.kernel32.dll_ReleaseSRWLockExclusive
test rbx, rbx
je 0x453c9f
mov rcx, rbp
call qword [rbx + 0x18]
lea rcx, [rsp + 0x11c0]
lea rdx, [rsp + 0xf8]
call fcn.00439be8
mov esi, eax
xor ebp, ebp
mov ecx, r12d
mov edx, r13d
call fcn.00448ceb
test sil, sil
je 0x453dab
call fcn.00582e17
jmp 0x453a91
mov rax, qword [rsp + 0x390]
mov rcx, qword [rsp + 0x398]
and qword [rsp + 0x390], 0
test rax, rax
je 0x453cf7
call qword [rax + 0x18]
mov qword [rsp + 0x3a0], 0
jmp 0x453d3e
mov r14, qword [rsp + 0x390]
mov rbx, qword [rsp + 0x398]
and qword [rsp + 0x390], 0
mov qword [rsp + 0x3a0], 0
mov rcx, rsi
call sub.kernel32.dll_ReleaseSRWLockExclusive
test r14, r14
je 0x453d3e
mov rcx, rbx
call qword [r14 + 0x18]
mov byte [rsp + 0x3a8], 2
mov bpl, 1
xor esi, esi
jmp 0x453cb8
mov r8, qword [r15]
mov rbx, qword [r15 + 8]
test r14, r14
je 0x453d7d
mov rdx, qword [rsp + 0x398]
mov rcx, r14
mov r14, r8
mov r9, rbx
call fcn.0057ef9f
mov r8, r14
test al, al
je 0x453d7d
xor ebx, ebx
jmp 0x453da3
mov rcx, rbx
call qword [r8]
mov rbx, qword [rsp + 0x390]
mov rbp, qword [rsp + 0x398]
mov qword [rsp + 0x390], rax
mov qword [rsp + 0x398], rdx
mov rcx, rsi
jmp 0x453c8f
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xb8]
call qword [rax + 0x18]
cmp byte [rsp + 0x3a8], 1
jne 0x453e70
mov rbx, qword [rsp + 0x370]
mov rcx, rbx
call fcn.0057f075
mov r14, qword [rbx + 0x20]
mov r15, qword [rsp + 0x3a0]
cmp r15, 3
jae 0x455365
mov rsi, rax
mov r12, rax
add r12, 0x10
mov rcx, r12
mov rdx, rdi
call fcn.00582b5e
mov rax, qword [rsi + 0x10]
test rax, rax
jne 0x453e1b
cmp qword [rsi + 0x18], 0
jne 0x455365
add rbx, 0x20
test rax, rax
jne 0x453e39
mov eax, r14d
and eax, 3
cmp eax, 1
jne 0x453e39
and r14, 0xfffffffffffffffc
mov rax, r14
xchg qword [rbx], rax
cmp r15, 1
jne 0x453e68
mov rcx, r12
mov rdx, rbx
mov r8, r14
call fcn.00581714
test rax, rax
je 0x453e68
mov rbx, rax
mov r14, rdx
mov rcx, rsi
call sub.kernel32.dll_ReleaseSRWLockExclusive
mov rcx, r14
call qword [rbx + 8]
jmp 0x453e70
mov rcx, rsi
call sub.kernel32.dll_ReleaseSRWLockExclusive
mov rax, qword [rsp + 0x390]
test rax, rax
je 0x453e88
mov rcx, qword [rsp + 0x398]
call qword [rax + 0x18]
mov rax, qword [rsp + 0x150]
test bpl, bpl
je 0x454432
cmp eax, 2
je 0x4539f5
lea rcx, [rsp + 0x150]
call fcn.00455418
jmp 0x4539f5
lea r14, [rsp + 0x370]
lea rsi, [rsp + 0x150]
mov ecx, 9
mov rdi, r14
rep movsq qword [rdi], qword [rsi]
cmp qword [r14], 0
jne 0x455365
cmp qword [rsp + 0x380], 0
jne 0x455365
or qword [rsp + 0x380], 0xffffffffffffffff
mov r15, qword [rsp + 0x388]
and qword [rsp + 0x388], 0
test r15, r15
je 0x455365
and qword [rsp + 0x380], 0
call fcn.00522347
test rax, rax
je 0x455395
lea rbx, [rsp + 0x378]
lea rcx, [rsp + 0x388]
mov rdx, qword [rax + 0x38]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x28], rax
mov qword [rax + 0x38], r14
mov rax, qword [rcx - 0x10]
lea rcx, [rax + 0x10]
mov byte [rax + 0xc8], 1
lea rdx, [0x00775a68]
lea r8, [rsp + 0x140]
mov qword [r8], rdx
mov qword [r8 + 8], rcx
lea r14, [rsp + 0x368]
mov qword [r14], r8
lea rsi, [rsp + 0x388]
lea rdi, [rsp + 0x11c0]
xor ecx, ecx
xchg byte [rax + 0xc8], cl
test cl, cl
je 0x45402f
cmp qword [rsp + 0x380], 0
jne 0x455365
or qword [rsp + 0x380], 0xffffffffffffffff
mov rcx, rsi
call fcn.00439b51
mov qword [rsp + 0x388], r15
inc qword [rsp + 0x380]
mov cl, 1
mov dl, pe_nt_image_headers64
call fcn.00458d39
mov r15d, eax
mov r13d, edx
mov rcx, rdi
mov rdx, r14
call fcn.00439be8
mov ebp, eax
mov ecx, r15d
mov edx, r13d
call fcn.00448ceb
cmp qword [rsp + 0x380], 0
jne 0x455365
or qword [rsp + 0x380], 0xffffffffffffffff
mov r15, qword [rsp + 0x388]
and qword [rsp + 0x388], 0
test r15, r15
je 0x455365
and qword [rsp + 0x380], 0
test bpl, bpl
je 0x454441
mov rax, qword [rsp + 0x378]
mov r12d, dword [rax + 0x58]
sub r12d, 1
jb 0x45415c
cmp byte [r15 + 0x68], 0
jne 0x455322
mov eax, dword [r15 + 0x60]
mov ecx, dword [r15 + 0x64]
inc eax
mov dword [r15 + 0x60], eax
test ecx, ecx
je 0x455365
mov rbp, qword [rsp + 0x378]
xor edx, edx
div ecx
test edx, edx
je 0x454098
lea rcx, [r15 + 0x40]
call fcn.0057c46d
mov r13, rax
test rax, rax
jne 0x4540cb
add rbp, 0x98
mov rcx, rbp
call fcn.0057f9d7
jmp 0x4540b8
add rbp, 0x98
mov rcx, rbp
call fcn.0057f9d7
mov r13, rax
test rax, rax
jne 0x4540cb
lea rcx, [r15 + 0x40]
call fcn.0057c46d
mov r13, rax
xor ecx, ecx
call fcn.00582887
test r13, r13
je 0x454183
cmp qword [rsp + 0x380], 0
jne 0x455365
or qword [rsp + 0x380], 0xffffffffffffffff
mov rcx, rsi
call fcn.00439b51
mov qword [rsp + 0x388], r15
inc qword [rsp + 0x380]
mov cl, 1
mov dl, pe_nt_image_headers64
call fcn.00458d39
mov ebp, eax
mov r15d, edx
mov rax, qword [r13 + 0x10]
mov rcx, r13
call qword [rax]
mov ecx, ebp
mov edx, r15d
call fcn.00448ceb
cmp qword [rsp + 0x380], 0
jne 0x455365
or qword [rsp + 0x380], 0xffffffffffffffff
mov r15, qword [rsp + 0x388]
and qword [rsp + 0x388], 0
test r15, r15
je 0x455365
and qword [rsp + 0x380], 0
jmp 0x45403b
mov r8, qword [rsp + 0x378]
add r8, 0x10
mov rcx, rbx
mov rdx, r15
call fcn.00583157
mov r15, rax
mov rax, qword [rsp + 0x378]
jmp 0x453f84
lea rcx, [rsp + 0x390]
call fcn.0057f941
mov r13, qword [rsp + 0x378]
test al, al
je 0x454420
mov rax, qword [r15]
mov qword [r15], 2
cmp rax, 2
je 0x455365
mov qword [rsp + 0xf8], rax
mov rax, qword [r15 + 0x38]
lea rcx, [rsp + 0x100]
mov qword [rcx + 0x30], rax
movups xmm0, xmmword [r15 + 8]
movups xmm1, xmmword [r15 + 0x18]
movups xmm2, xmmword [r15 + 0x28]
movups xmmword [rcx + 0x20], xmm2
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
cmp qword [r13 + 0x20], 0
je 0x454274
cmp qword [rsp + 0x380], 0
jne 0x455365
or qword [rsp + 0x380], 0xffffffffffffffff
mov rcx, qword [rsp + 0x388]
call fcn.00582a75
mov qword [rsp + 0x388], r15
inc qword [rsp + 0x380]
mov rcx, qword [r13 + 0x20]
mov rdx, qword [r13 + 0x28]
call fcn.00554e88
mov rcx, rax
call qword [rdx + 0x28]
cmp qword [rsp + 0x380], 0
jne 0x455365
or qword [rsp + 0x380], 0xffffffffffffffff
mov r15, qword [rsp + 0x388]
and qword [rsp + 0x388], 0
test r15, r15
je 0x455365
and qword [rsp + 0x380], 0
cmp qword [r15 + 0x58], 0
jne 0x454310
cmp qword [rsp + 0x380], 0
jne 0x455365
or qword [rsp + 0x380], 0xffffffffffffffff
mov rcx, qword [rsp + 0x388]
call fcn.00582a75
mov qword [rsp + 0x388], r15
inc qword [rsp + 0x380]
lea rdx, [r13 + 0xd0]
lea rcx, [rsp + 0xf8]
call fcn.0057d3d8
lea rcx, [rsp + 0x390]
call fcn.0057f95d
cmp qword [rsp + 0x380], 0
jne 0x455365
or qword [rsp + 0x380], 0xffffffffffffffff
mov r15, qword [rsp + 0x388]
and qword [rsp + 0x388], 0
test r15, r15
je 0x455365
and qword [rsp + 0x380], 0
cmp qword [r13 + 0x30], 0
je 0x45439e
cmp qword [rsp + 0x380], 0
jne 0x455365
or qword [rsp + 0x380], 0xffffffffffffffff
mov rcx, qword [rsp + 0x388]
call fcn.00582a75
mov qword [rsp + 0x388], r15
inc qword [rsp + 0x380]
mov rcx, qword [r13 + 0x30]
mov rdx, qword [r13 + 0x38]
call fcn.00554e88
mov rcx, rax
call qword [rdx + 0x28]
cmp qword [rsp + 0x380], 0
jne 0x455365
or qword [rsp + 0x380], 0xffffffffffffffff
mov r15, qword [rsp + 0x388]
and qword [rsp + 0x388], 0
test r15, r15
je 0x455365
and qword [rsp + 0x380], 0
movups xmm0, xmmword [rsp + 0xf8]
movups xmm1, xmmword [rsp + 0x108]
movups xmm2, xmmword [rsp + 0x118]
movups xmm3, xmmword [rsp + 0x128]
movaps xmmword [rsp + 0xe0], xmm3
movaps xmmword [rsp + 0xd0], xmm2
movaps xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xb0], xmm0
mov rcx, r15
call fcn.00582891
movdqa xmm0, xmmword [rsp + 0xb0]
movaps xmm1, xmmword [rsp + 0xc0]
movaps xmm2, xmmword [rsp + 0xd0]
movaps xmm3, xmmword [rsp + 0xe0]
movups xmmword [r15 + 0x30], xmm3
movups xmmword [r15 + 0x20], xmm2
movups xmmword [r15 + 0x10], xmm1
movdqu xmmword [r15], xmm0
jmp 0x454176
add r13, 0x10
mov rcx, rbx
mov rdx, r15
mov r8, r13
jmp 0x45416e
cmp eax, 2
je 0x454479
lea rcx, [rsp + 0x150]
jmp 0x454474
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x38]
mov qword [rax + 0x38], rcx
lea rsi, [rsp + 0x370]
or qword [rsi + 0x10], 0xffffffffffffffff
lea rcx, [rsp + 0x388]
call fcn.00439b51
mov qword [rsi + 0x18], r15
inc qword [rsi + 0x10]
mov rcx, rsi
call fcn.00455418
lea rcx, [rsp + 0x70]
call fcn.0045285d
lea rcx, [rsp + 0x11c0]
call fcn.0045272b
lea rcx, [rsp + 0x288]
call fcn.0045287d
cmp qword [rsp + 0x1c8], 0
je 0x4544e2
cmp qword [rsp + 0x200], 0
je 0x455365
mov rsi, qword [rsp + 0x208]
lea rcx, [rsi + 0xd0]
call fcn.00582860
cmp byte [rax + 0x38], 0
je 0x4545d1
mov rcx, rax
call sub.kernel32.dll_ReleaseSRWLockExclusive
jmp 0x4546ee
mov rdx, qword [rsp + 0x200]
mov r8, qword [rsp + 0x208]
lea rcx, [rsp + 0x150]
call fcn.00582e39
cmp qword [rsp + 0x200], 0
jne 0x455365
lea rsi, [rsp + 0x11c0]
mov rcx, rsi
lea rdx, [rsp + 0x1d0]
lea r8, [rsp + 0x208]
call fcn.00583040
cmp dword [rsi], 2
je 0x455365
lea rdi, [rsp + 0x370]
lea rsi, [rsp + 0x11c0]
mov ecx, 9
rep movsq qword [rdi], qword [rsi]
xor ecx, ecx
call fcn.0057c234
test rax, rax
je 0x454571
mov rcx, rax
call fcn.0052234e
mov eax, dword [rax]
dec qword [rdx]
cmp eax, 2
jne 0x45460f
cmp qword [rsp + 0x370], 0
jne 0x455365
cmp qword [rsp + 0x380], 0
jne 0x455365
mov rsi, qword [rsp + 0x388]
test rsi, rsi
je 0x455365
mov rdx, qword [rsp + 0x208]
add rdx, 0x10
mov rcx, rsi
call fcn.00582754
xor ecx, ecx
call fcn.00582a75
lea rcx, [rsp + 0x370]
mov qword [rcx + 0x18], rsi
and qword [rcx + 0x10], 0
jmp 0x4546d2
mov byte [rax + 0x38], 1
mov rcx, rax
call sub.kernel32.dll_ReleaseSRWLockExclusive
mov rdi, qword [rsi + 0x60]
mov rbx, qword [rsi + 0x68]
add rsi, 0x138
shl rbx, 4
test rbx, rbx
je 0x4546ee
mov rcx, qword [rdi + 8]
add rdi, 0x10
mov rdx, rsi
call fcn.00581e56
add rbx, 0xfffffffffffffff0
jmp 0x4545f0
lea rbx, [rsp + 0x11c0]
lea rsi, [rsp + 0x370]
mov ecx, 9
mov rdi, rbx
rep movsq qword [rdi], qword [rsi]
cmp qword [rbx], 0
jne 0x455365
cmp qword [rsp + 0x11d0], 0
jne 0x455365
or qword [rsp + 0x11d0], 0xffffffffffffffff
mov rsi, qword [rsp + 0x11d8]
and qword [rsp + 0x11d8], 0
test rsi, rsi
je 0x455365
and qword [rsp + 0x11d0], 0
xor ecx, ecx
call fcn.0057c234
test rax, rax
je 0x4553cc
mov rdi, rax
mov r14, qword [rax + 0x38]
mov qword [rax + 0x38], rbx
mov rdx, qword [rsp + 0x208]
add rdx, 0x10
mov rcx, rsi
call fcn.00582754
mov qword [rdi + 0x38], r14
cmp qword [rsp + 0x11d0], 0
jne 0x455365
lea rdi, [rsp + 0x11c0]
or qword [rdi + 0x10], 0xffffffffffffffff
mov rcx, qword [rdi + 0x18]
call fcn.00582a75
mov qword [rdi + 0x18], rsi
inc qword [rdi + 0x10]
mov rcx, rdi
call fcn.00583089
cmp dword [rsp + 0x150], 3
je 0x4546ee
lea rcx, [rsp + 0x150]
call fcn.0057bae7
lea rsi, [rsp + 0x200]
cmp qword [rsi - 0x38], 0
jne 0x45470c
xor ecx, ecx
xchg qword [rsp + 0x1d0], rcx
call fcn.00582a75
lea rdi, [rsp + 0x218]
mov rcx, rsi
call fcn.005819f0
mov rcx, qword [rdi - 8]
add rcx, 0x40
call fcn.0057f075
mov rsi, rax
cmp byte [rax + 0x8c], 0
je 0x454742
mov rcx, rsi
call sub.kernel32.dll_ReleaseSRWLockExclusive
jmp 0x455249
mov byte [rsi + 0x8c], 1
mov rcx, rsi
add rcx, 0x60
call fcn.0057be59
and qword [rsi + 0x60], 0
mov ecx, 0xd0
add rcx, qword [rsp + 0x210]
call sub.kernel32.dll_WakeAllConditionVariable
mov rax, qword [rsi + 0x78]
mov qword [rsp + 0x80], rax
movups xmm0, xmmword [rsi + 0x68]
movaps xmmword [rsp + 0x70], xmm0
and qword [rsi + 0x68], 0
lea rdi, [rsp + 0x11c0]
mov rcx, rdi
call fcn.0057e446
mov r12, qword [rsi + 0x30]
mov rax, qword [rsi + 0x38]
mov qword [rsp + 0x28], rax
mov rbx, qword [rsi + 0x48]
movdqu xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movdqu xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x40], xmm1
movups xmmword [rsi + 0x50], xmm2
mov rcx, rsi
call sub.kernel32.dll_ReleaseSRWLockExclusive
xor ecx, ecx
call fcn.0057c234
test rax, rax
je 0x4547dd
cmp byte [rax + 0x4e], 2
sete al
jmp 0x4547df
mov al, 2
cmp al, 2
je 0x4547eb
and al, 1
je 0x455365
call fcn.00582cf0
test rax, rax
je 0x454984
mov qword [rsp + 0x38], rbx
lea rdi, [rsp + 0x11c0]
mov qword [rdi], rax
mov qword [rdi + 8], rdx
xor ecx, ecx
call fcn.0057c234
test rax, rax
je 0x454828
mov sil, byte [rax + 0x4c]
mov bl, byte [rax + 0x4d]
mov word [rax + 0x4c], 0x8001
jmp 0x45482b
mov sil, 2
mov r15, qword [rsp + 0x218]
test r15, r15
je 0x455365
mov rcx, rdi
call fcn.0057ef6b
mov r14d, eax
test r14b, 1
jne 0x4548ff
mov ebp, r14d
shr ebp, 0x10
mov r13, qword [r15 + 0x30]
test r13b, 2
jne 0x454923
test r13b, 4
jne 0x454912
test r13b, 1
je 0x454896
mov rcx, qword [r15 + 0x20]
mov rdx, qword [r15 + 0x28]
mov r8, qword [rsp + 0x11c0]
mov r9, qword [rsp + 0x11c8]
call fcn.0057ef9f
test al, al
je 0x45489e
test r13b, 1
je 0x4548c0
jmp 0x4548f1
mov rax, qword [r15 + 0x30]
mov rcx, rax
and rcx, 0xfffffffffffffffe
lock cmpxchg qword [r15 + 0x30], rcx
jne 0x4548a2
test al, 2
jne 0x45491d
mov rax, qword [r15 + 0x20]
mov rcx, qword [r15 + 0x28]
call qword [rax + 0x18]
mov rax, qword [rsp + 0x11c0]
mov rcx, qword [rsp + 0x11c8]
call qword [rax]
mov qword [r15 + 0x20], rax
mov qword [r15 + 0x28], rdx
mov rax, qword [r15 + 0x30]
mov rcx, rax
or rcx, 1
lock cmpxchg qword [r15 + 0x30], rcx
jne 0x4548de
test al, 2
jne 0x454923
shr r14d, 8
mov ecx, r14d
mov edx, ebp
call fcn.00583018
mov ecx, esi
mov edx, ebx
call fcn.00448ceb
call fcn.00582e17
jmp 0x45480d
xor ecx, ecx
mov edx, ebp
call fcn.00583018
jmp 0x454963
lock or qword [r15 + 0x30], 1
mov dil, byte [r15 + 0x38]
mov byte [r15 + 0x38], 0
xor ecx, ecx
mov edx, ebp
call fcn.00583018
test dil, dil
je 0x454963
mov rax, qword [rsp + 0x218]
test rax, rax
je 0x45495a
lock dec qword [rax]
jne 0x45495a
lea rcx, [rsp + 0x218]
call fcn.0057c165
and qword [rsp + 0x218], 0
mov ecx, esi
mov edx, ebx
call fcn.00448ceb
mov rax, qword [rsp + 0x11c0]
mov rcx, qword [rsp + 0x11c8]
call qword [rax + 0x18]
mov rbx, qword [rsp + 0x38]
cmp qword [rsp + 0x70], 0
je 0x45499e
lea rcx, [rsp + 0x70]
call fcn.0057e6c3
mov rcx, rax
call fcn.0057e545
mov r9, qword [rsp + 0x28]
lea rax, [r9 + r12]
inc rax
movdqa xmm0, xmmword [r12]
pmovmskb ecx, xmm0
not ecx
lea r8, [r12 + 0x10]
test r9, r9
je 0x4549e0
mov rdx, r9
shl rdx, 5
add r9, rdx
add r9, 0x31
mov r10, r12
sub r10, rdx
add r10, 0xffffffffffffffe0
mov r11d, 0x10
jmp 0x4549e3
xor r11d, r11d
lea rdx, [rsp + 0x370]
mov qword [rdx + 0x18], r12
mov qword [rdx + 0x20], r8
mov qword [rdx + 0x28], rax
mov word [rdx + 0x30], cx
mov qword [rdx + 0x38], rbx
mov qword [rdx], r11
mov qword [rdx + 8], r9
mov qword [rdx + 0x10], r10
lea rsi, [rsp + 0x11c0]
mov rcx, rsi
call fcn.0057b5fd
cmp qword [rsi + 8], 0
je 0x454c25
mov rax, qword [rsp + 0x3a8]
inc rax
mov rcx, 0xffffffffffffffff
cmovne rcx, rax
cmp rcx, 5
mov edx, 4
cmovae rdx, rcx
mov rax, rdx
shr rax, 0x3a
jne 0x455365
mov qword [rsp + 0x48], rdx
mov rcx, rdx
shl rcx, 5
call fcn.005819bb
test rax, rax
je 0x455365
movabs r15, 0x3ffffffffffffff
lea rsi, [rsp + 0x11c0]
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rax + 0x10], xmm1
mov qword [rsp + 0x30], rax
movups xmmword [rax], xmm0
movdqu xmm0, xmmword [rsp + 0x370]
movups xmm1, xmmword [rsp + 0x380]
movups xmm2, xmmword [rsp + 0x390]
movups xmm3, xmmword [rsp + 0x3a0]
movaps xmmword [rsi + 0x30], xmm3
movaps xmmword [rsi + 0x20], xmm2
movaps xmmword [rsi + 0x10], xmm1
movdqa xmmword [rsi], xmm0
mov eax, 1
mov qword [rsp + 0x58], rax
lea rdi, [rsp + 0x150]
mov r12, 0xffffffffffffffff
lea rbx, [rsp + 0xf8]
lea r14, [rsp + 0xb0]
mov ebp, 1
mov rcx, rdi
mov rdx, rsi
call fcn.0057b5fd
cmp qword [rsp + 0x158], 0
je 0x454be8
mov rax, qword [rsp + 0x48]
cmp rbp, rax
jne 0x454baf
mov r13, qword [rsp + 0x11f8]
inc r13
cmove r13, r12
add r13, rax
jb 0x455365
add rax, rax
cmp rax, r13
cmova r13, rax
cmp r13, 5
jae 0x454b49
mov r13d, 4
xor edx, edx
cmp r13, r15
setbe dl
mov r8, r13
shl r8, 5
shl rdx, 3
mov rax, qword [rsp + 0x48]
shl rax, 5
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xb8], 8
mov rcx, rbx
mov r9, r14
call fcn.00433b26
cmp qword [rsp + 0xf8], 0
jne 0x45537b
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0x48], r13
jmp 0x454bb4
mov rcx, qword [rsp + 0x30]
mov rax, rbp
shl rax, 5
movdqu xmm0, xmmword [rsp + 0x150]
movups xmm1, xmmword [rsp + 0x160]
movups xmmword [rcx + rax + 0x10], xmm1
mov qword [rsp + 0x30], rcx
movdqu xmmword [rcx + rax], xmm0
inc rbp
dec qword [rsp + 0x58]
jmp 0x454af3
lea rcx, [rsp + 0x11c0]
call fcn.0057b68d
cmp rbp, 0x15
jae 0x454c42
cmp rbp, 1
mov r14, qword [rsp + 0x48]
jbe 0x45519f
mov r8d, 1
mov r15, qword [rsp + 0x30]
mov rcx, r15
mov rdx, rbp
call fcn.0057eea3
jmp 0x4551a4
lea rcx, [rsp + 0x370]
call fcn.0057b68d
mov r15d, 8
xor r14d, r14d
xor ebp, ebp
jmp 0x4551a4
mov rax, rbp
shl rax, 4
movabs rdx, 0x7fffffffffffffe0
and rdx, rax
mov ecx, 8
call fcn.00426d59
mov qword [rsp + 0x28], rax
test rax, rax
je 0x455365
mov ecx, 8
mov edx, 0x100
call fcn.00426d59
test rax, rax
je 0x455365
mov r14, rax
mov rax, qword [rsp + 0x30]
lea rcx, [rax + 0x40]
mov qword [rsp + 0x138], rcx
add rax, 0xffffffffffffffe0
mov qword [rsp + 0x98], rax
mov eax, 0x10
xor r13d, r13d
xor r15d, r15d
mov r10, qword [rsp + 0x28]
mov qword [rsp + 0xa0], rbp
mov r8, rbp
sub r8, r15
jbe 0x45517d
mov qword [rsp + 0x40], rax
mov r9, r15
shl r9, 5
mov rax, qword [rsp + 0x30]
lea rcx, [rax + r9]
cmp r8, 2
jae 0x454cf2
mov rax, rbp
mov r12, qword [rsp + 0x40]
jmp 0x454e1e
mov rax, qword [rcx]
mov rdx, qword [rcx + 0x20]
cmp rdx, rax
jae 0x454d36
add r9, qword [rsp + 0x138]
mov r10, qword [rsp + 0x58]
lea r11, [r10 + r15]
mov r10d, 2
mov rsi, rdx
lea rdi, [r11 + r10]
cmp rdi, 2
je 0x454d71
mov rdi, qword [r9]
cmp rdi, rsi
jae 0x454d6e
inc r10
add r9, 0x20
mov rsi, rdi
jmp 0x454d18
add r9, qword [rsp + 0x138]
mov r10, qword [rsp + 0x58]
lea r11, [r10 + r15]
mov r10d, 2
mov rsi, rdx
lea rdi, [r11 + r10]
cmp rdi, 2
je 0x454d71
mov rdi, qword [r9]
cmp rdi, rsi
jb 0x454d6e
inc r10
add r9, 0x20
mov rsi, rdi
jmp 0x454d50
mov r8, r10
lea r9, [r8 + r15]
cmp rdx, rax
mov r10, qword [rsp + 0x28]
jae 0x454e0c
cmp r15, r9
ja 0x455365
cmp r9, rbp
ja 0x455365
mov rdx, r9
mov rax, r8
shr rax, 1
mov r11, r9
shl rdx, 5
add rdx, qword [rsp + 0x98]
mov r9, rcx
sub rax, 1
jb 0x454e16
cmp r8, 2
jb 0x455365
movups xmm0, xmmword [r9]
movups xmm1, xmmword [r9 + 0x10]
movaps xmmword [rsp + 0x11d0], xmm1
movaps xmmword [rsp + 0x11c0], xmm0
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [r9 + 0x10], xmm1
movups xmmword [r9], xmm0
movdqa xmm0, xmmword [rsp + 0x11c0]
movaps xmm1, xmmword [rsp + 0x11d0]
movups xmmword [rdx + 0x10], xmm1
movdqu xmmword [rdx], xmm0
add r9, 0x20
add rdx, 0xffffffffffffffe0
jmp 0x454db0
mov r12, qword [rsp + 0x40]
mov rax, r9
jmp 0x454e1e
mov r12, qword [rsp + 0x40]
mov rax, r11
mov rsi, rax
sub rsi, r15
jb 0x455365
cmp rax, rbp
ja 0x455365
jae 0x454e70
cmp r8, 0xa
jae 0x454e70
lea rsi, [r15 + 0xa]
cmp rsi, rbp
cmovae rsi, rbp
mov qword [rsp + 0x50], rsi
sub rsi, r15
jb 0x455365
cmp r8, 1
adc r8, 0
mov rdx, rsi
call fcn.0057eea3
mov r10, qword [rsp + 0x28]
mov r12, qword [rsp + 0x40]
jmp 0x454e75
mov qword [rsp + 0x50], rax
cmp r13, r12
jne 0x454ec7
mov rdx, r12
shl rdx, 5
mov ecx, 8
call fcn.00426d59
test rax, rax
je 0x455365
mov rdi, rax
lea rbx, [r12 + r12]
shl r12, 4
mov rcx, rax
mov rdx, r14
mov r8, r12
call sub.ntdll.dll_memcpy
mov edx, 8
mov rcx, r14
call fcn.00414d20
mov r14, rdi
mov qword [rsp + 0x40], rbx
mov r10, qword [rsp + 0x28]
mov rax, r13
shl rax, 4
mov qword [r14 + rax], rsi
mov qword [r14 + rax + 8], r15
inc r13
mov r15, r14
mov qword [rsp + 0xa8], r14
cmp r13, 2
jb 0x45516b
mov rcx, r13
shl rcx, 4
mov rax, qword [rcx + r15 - 0x10]
mov rdx, qword [rcx + r15 - 8]
add rdx, rax
cmp rdx, rbp
je 0x454f4d
mov r8, qword [rcx + r15 - 0x20]
cmp r8, rax
jbe 0x454f4d
cmp r13, 2
jbe 0x45516b
lea rsi, [r13 - 3]
mov rdx, rsi
shl rdx, 4
mov rdx, qword [r15 + rdx]
lea r9, [r8 + rax]
cmp rdx, r9
jbe 0x454f62
cmp r13, 3
jbe 0x45516b
add r8, rdx
cmp qword [rcx + r15 - 0x40], r8
jbe 0x454f62
jmp 0x45516b
cmp r13, 3
jb 0x454f67
lea rsi, [r13 - 3]
mov rcx, rsi
shl rcx, 4
mov rdx, qword [r15 + rcx]
cmp rdx, rax
jb 0x454f6b
lea rsi, [r13 - 2]
cmp r13, rsi
jbe 0x455365
lea r14, [rsi + 1]
cmp r13, r14
mov rcx, qword [rsp + 0x30]
jbe 0x455365
mov r12, rsi
shl r12, 4
mov rax, qword [r15 + r12 + 8]
shl r14, 4
mov rdx, qword [r15 + r14]
mov rbx, qword [r15 + r14 + 8]
add rbx, rdx
cmp rax, rbx
ja 0x455365
mov qword [rsp + 0x38], r13
cmp rbx, rbp
ja 0x455365
mov qword [rsp + 0x60], rdx
mov rdx, qword [r15 + r12]
mov r13, rax
shl r13, 5
add r13, rcx
mov rdi, rdx
shl rdi, 5
lea r15, [rdi + r13]
mov rbp, rbx
shl rbp, 5
mov qword [rsp + 0x68], rax
add rax, rdx
sub rbx, rax
mov qword [rsp + 0xf0], rdx
cmp rbx, rdx
jae 0x455080
shl rbx, 5
mov rcx, r10
mov rdx, r15
mov r8, rbx
call sub.ntdll.dll_memcpy
mov r9, qword [rsp + 0x28]
add rbx, r9
add rbp, qword [rsp + 0x98]
mov rdi, rbx
cmp r15, r13
jbe 0x4550ec
cmp rdi, r9
jbe 0x4550ec
mov rax, qword [rdi - 0x20]
mov rcx, qword [r15 - 0x20]
cmp rax, rcx
mov edx, 0
sbb rdx, rdx
cmp rax, rcx
mov r8d, 0
adc r8, 0xffffffffffffffff
shl rdx, 5
add r15, rdx
shl r8, 5
add rdi, r8
cmp rax, rcx
mov rax, rdi
cmovb rax, r15
movdqu xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x10], xmm1
movdqu xmmword [rbp], xmm0
add rbp, 0xffffffffffffffe0
jmp 0x45501f
add rbp, rcx
mov rcx, r10
mov rdx, r13
mov r8, rdi
call sub.ntdll.dll_memcpy
mov rdx, qword [rsp + 0x28]
add rdi, rdx
cmp rdx, rdi
jae 0x4550f2
cmp r15, rbp
jae 0x4550f2
mov r8, qword [r15]
xor eax, eax
xor ecx, ecx
mov r10, r15
cmp r8, qword [rdx]
setae r8b
setb r9b
jb 0x4550bd
mov r10, rdx
movdqu xmm0, xmmword [r10]
movups xmm1, xmmword [r10 + 0x10]
movups xmmword [r13 + 0x10], xmm1
movdqu xmmword [r13], xmm0
add r13, 0x20
mov cl, r9b
shl rcx, 5
add r15, rcx
mov al, r8b
shl rax, 5
add rdx, rax
jmp 0x455099
mov r13, r15
mov rdx, r9
mov r15, qword [rsp + 0xa8]
lea rbx, [r15 + r14]
add r14, r15
add r14, 8
sub rdi, rdx
mov rcx, r13
mov r8, rdi
call sub.ntdll.dll_memcpy
mov rax, qword [rsp + 0x60]
add rax, qword [rsp + 0xf0]
mov qword [rbx], rax
mov rax, qword [rsp + 0x68]
mov qword [r14], rax
mov r13, qword [rsp + 0x38]
cmp r13, rsi
mov rbp, qword [rsp + 0xa0]
jbe 0x455365
add r12, r15
lea rdx, [r12 + 0x10]
not rsi
add rsi, r13
shl rsi, 4
mov rcx, r12
mov r8, rsi
call sub.ntdll.dll_memmove
dec r13
mov r10, qword [rsp + 0x28]
jmp 0x454ee5
mov r14, r15
mov r15, qword [rsp + 0x50]
mov rax, qword [rsp + 0x40]
jmp 0x454cbe
mov edx, 8
mov rcx, r14
mov rsi, r10
call fcn.00414d20
mov edx, 8
mov rcx, rsi
call fcn.00414d20
mov r14, qword [rsp + 0x48]
mov r15, qword [rsp + 0x30]
shl rbp, 5
lea rbx, [r15 + rbp]
lea rdi, [rsp + 0x11c0]
mov rsi, r15
test rbp, rbp
je 0x4551fc
mov rax, qword [rsi + 8]
test rax, rax
je 0x4551f8
mov qword [rsp + 0x11c0], rax
movdqu xmm0, xmmword [rsi + 0x10]
add rsi, 0x20
lea rax, [rsp + 0x11c8]
movdqu xmmword [rax], xmm0
mov rcx, rdi
call fcn.0057e6c3
mov rcx, rax
call fcn.0057e545
add rbp, 0xffffffffffffffe0
jmp 0x4551b7
add rsi, 0x20
sub rbx, rsi
shr rbx, 5
add rsi, 0x10
sub rbx, 1
jb 0x455230
lea rdi, [rsi - 8]
mov rcx, qword [rsi + 8]
call fcn.0059c8b0
mov rcx, rdi
call fcn.004b8bb5
mov rcx, rsi
call fcn.0057e6b4
add rsi, 0x20
jmp 0x455207
test r14, r14
je 0x455249
shl r14, 5
mov edx, 8
mov rcx, r15
mov r8, r14
call fcn.00402efa
mov rax, qword [rsp + 0x210]
lock dec qword [rax]
jne 0x455264
lea rcx, [rsp + 0x210]
call fcn.0057bcfd
mov rcx, qword [rsp + 0x218]
test rcx, rcx
je 0x4552b7
mov rax, qword [rcx + 0x30]
mov rdx, rax
or rdx, 4
lock cmpxchg qword [rcx + 0x30], rdx
jne 0x455275
and eax, 0xa
cmp eax, 8
jne 0x455297
mov rax, qword [rcx + 0x10]
mov rcx, qword [rcx + 0x18]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x218]
test rax, rax
je 0x4552b7
lock dec qword [rax]
jne 0x4552b7
lea rcx, [rsp + 0x218]
call fcn.0057c165
mov rax, qword [rsp + 0x2d8]
lock dec qword [rax]
jne 0x4552d2
lea rcx, [rsp + 0x2d8]
call fcn.0052c009
lea rcx, [rsp + 0x2f8]
call fcn.0057be64
lea rcx, [rsp + 0x308]
call fcn.0057be64
lea rcx, [rsp + 0x318]
call fcn.0057be64
lea rcx, [rsp + 0x328]
call fcn.0057be64
movaps xmm6, xmmword [rsp + 0x2e60]
add rsp, 0x2e78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp qword [rsp + 0x380], 0
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x38]
mov qword [rax + 0x38], rcx
jne 0x455365
lea rsi, [rsp + 0x370]
or qword [rsi + 0x10], 0xffffffffffffffff
lea rcx, [rsp + 0x388]
call fcn.00439b51
mov qword [rsi + 0x18], r15
inc qword [rsi + 0x10]
mov rcx, rsi
call fcn.00455418
ud2
mov edx, 8
mov rcx, r15
mov r8, rax
call fcn.00402efa
jmp 0x455365
cmp qword [rsp + 0x100], 0
jmp 0x455365
lea rcx, [rsp + 0x370]
call fcn.0045272b
jmp 0x455365
lea rcx, [r15 + 0x40]
call fcn.0057c59b
mov rcx, qword [r15 + 0x40]
mov rdx, qword [r15 + 0x48]
call fcn.00487c20
cmp dword [r15], 2
je 0x455406
lea rcx, [r15 + 8]
cmp byte [r15 + 0x38], 2
jne 0x4553d6
mov rax, qword [rcx]
lock dec qword [rax]
jne 0x455406
call fcn.0055f52d
jmp 0x455406
mov rcx, rsi
call fcn.0058271c
jmp 0x455365
mov r8, qword [r15 + 0x10]
test r8, r8
je 0x4553f0
shl r8, 5
mov rcx, qword [rcx]
mov edx, 8
call fcn.00402efa
mov rcx, qword [r15 + 0x18]
mov rdx, qword [r15 + 0x20]
call fcn.005645ea
lea rcx, [r15 + 0x30]
call fcn.00456fb7
mov edx, 8
mov rcx, r15
call fcn.00414d20
jmp 0x455365