Function at 0x1400c8d00
Capabilities:
Inspect section memory permissions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
mov r13, r8
mov rsi, rcx
mov eax, 1
test r9b, 0x40
je 0x1400c8d33
mov eax, dword [rsp + 0xf0]
test eax, eax
je 0x1400c9d4f
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x48], r9d
movabs r10, 0x10000000000
mov qword [rsp + 0x40], rdx
test rdx, rdx
mov qword [rsp + 0x30], rsi
je 0x1400c8db8
lea rax, [r13 - 0x1000]
shr rax, 0xc
cmp rax, 0xdfffffe
ja 0x1400c8db8
lea rdx, [r10 + r13*2]
and rdx, 0xfffffffffffffff0
mov ecx, dword [rsi]
mov ebx, r13d
and bl, 7
mov eax, ecx
bts eax, ebx
mov r8d, eax
or r8d, 0xc0000000
mov ebx, 0x40000000
mov edi, dword [rdx]
or edi, ebx
cmp edi, r8d
je 0x1400c8db8
or ebx, dword [rdx + 4]
cmp ebx, r8d
je 0x1400c8db8
mov ebx, 0x40000000
mov edi, dword [rdx + 8]
or edi, ebx
cmp edi, r8d
je 0x1400c8db8
or ebx, dword [rdx + 0xc]
cmp ebx, r8d
jne 0x1400c9e05
movabs rdi, 0x2000000000000000
movabs r14, 0x1000000000000000
mov rbx, qword [rsi + 0x280]
mov rax, qword [rbx]
lea r15, [rbx + 8]
mov rdx, 0xffffffffffffffff
xor ecx, ecx
lea r12, [r14 + 0xfffff]
movabs r8, 0xdfffffffffffffff
nop word cs:[rax + rax]
nop
test rax, r12
jne 0x1400c8e1b
mov rbp, rax
or rbp, r14
and rbp, rdx
lock cmpxchg qword [rbx], rbp
je 0x1400c8e87
add rcx, 1
jmp 0x1400c8e00
cmp rcx, 0x5dc
jbe 0x1400c8e5d
lea rbp, [rax + r10]
and rbp, rdx
lock cmpxchg qword [rbx], rbp
jne 0x1400c8e15
mov rcx, r15
mov rsi, r8
call fcn.1401013f0
mov r8, rsi
movabs r10, 0x10000000000
movabs rdi, 0x2000000000000000
mov rsi, qword [rsp + 0x30]
xor ecx, ecx
jmp 0x1400c8e6f
test rax, rdi
jne 0x1400c8e7b
mov rbp, rax
or rbp, rdi
lock cmpxchg qword [rbx], rbp
jne 0x1400c8e15
mov rax, qword [rbx]
add rcx, 1
mov rdx, r8
jmp 0x1400c8e00
mov rax, qword [rbx]
add rcx, 1
jmp 0x1400c8e00
mov byte [rsi + 0x290], 1
cmp qword [rbx + 0x18], rsi
jne 0x1400c9ce8
mov eax, dword [rsi]
not eax
test eax, 0x3fff0000
je 0x1400c9ce8
mov rcx, qword [0x1402b1888]
add rcx, 8
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 1
mov rdx, rsi
mov r15, qword [rsp + 0x40]
mov r8, r15
mov r9, r13
call fcn.1400ef600
mov r10, qword [rsp + 0x30]
mov r9, rax
mov esi, dword [rax + 0x18]
mov rax, qword [r10 + 0x10]
lea ecx, [rax + 8]
test ecx, 0xff0
je 0x1400c9d1a
movabs r11, 0x2000000000000000
shl r13, 0x14
mov rcx, rsi
shr rcx, 0xf
or rcx, r13
mov rdx, r15
shl rdx, 5
movabs rbp, 0x1ffffffffffe0
and rbp, rdx
shl rsi, 0x31
lea rdx, [rsi + rbp]
add rdx, 8
mov qword [rax], rdx
mov qword [rax + 8], rcx
add rax, 0x10
mov qword [r10 + 0x10], rax
mov rax, qword [r9 + 8]
lea r13, [r9 + 0x10]
mov rdx, 0xffffffffffffffff
xor ecx, ecx
lea rbp, [rsp + 0x58]
movabs rsi, 0xdfffffffffffffff
movabs rbx, 0x10000000000
nop
test rax, r12
jne 0x1400c8f80
mov rdi, rax
or rdi, r14
and rdi, rdx
lock cmpxchg qword [r9 + 8], rdi
je 0x1400c9015
add rcx, 1
jmp 0x1400c8f60
cmp rcx, 0x5dc
jbe 0x1400c8fe5
lea rdi, [rax + rbx]
and rdi, rdx
lock cmpxchg qword [r9 + 8], rdi
je 0x1400c8fce
jmp 0x1400c8f7a
mov dword [rsp + 0x58], 0
mov r8d, 4
mov rcx, r13
mov rdx, rbp
mov rdi, r9
mov r9d, 0xffffffff
call sub.api_ms_win_core_synch_l1_2_0.dll_WaitOnAddress
mov r9, rdi
movabs r11, 0x2000000000000000
mov r10, qword [rsp + 0x30]
mov eax, dword [r13]
test eax, eax
je 0x1400c8f9a
lea ecx, [rax - 1]
lock cmpxchg dword [r13], ecx
jne 0x1400c8fd2
xor ecx, ecx
jmp 0x1400c8ff8
test rax, r11
jne 0x1400c9008
mov rdi, rax
or rdi, r11
lock cmpxchg qword [r9 + 8], rdi
jne 0x1400c8f7a
mov rax, qword [r9 + 8]
add rcx, 1
mov rdx, rsi
jmp 0x1400c8f60
mov rax, qword [r9 + 8]
add rcx, 1
jmp 0x1400c8f60
movsxd r12, dword [r9 + 0x24]
mov r14d, dword [rsp + 0x48]
mov eax, r14d
and eax, 0x107
je 0x1400c9034
mov ecx, dword [r9 + 0x28]
test ecx, 0x107
je 0x1400c90a4
mov eax, dword [r9 + 0x1c]
cmp eax, 0xffffffff
je 0x1400c90b3
cmp eax, dword [r10 + 0x24c]
jne 0x1400c905f
test r12d, r12d
je 0x1400c9dab
mov eax, dword [rsp + 0x3c]
add eax, r12d
mov dword [r9 + 0x24], eax
jmp 0x1400c9aac
mov rax, qword [0x1402b1888]
cmp byte [rax + 0xa00196], 0
je 0x1400c9081
test dword [r9 + 0x28], 0x40000000
jne 0x1400c9081
or dword [r9 + 0x28], 0x40000000
mov eax, dword [rsp + 0x3c]
add eax, r12d
mov dword [r9 + 0x24], eax
mov bl, 1
test r12d, r12d
jne 0x1400c9aae
cmp dword [r10 + 4], 0
jne 0x1400c95ca
jmp 0x1400c90e1
or ecx, eax
mov dword [r9 + 0x28], ecx
mov eax, dword [r9 + 0x1c]
cmp eax, 0xffffffff
jne 0x1400c903d
test r12d, r12d
jne 0x1400c9d87
mov eax, dword [r10 + 0x24c]
mov dword [r9 + 0x1c], eax
mov eax, dword [r10]
mov dword [r9 + 0x20], eax
mov eax, dword [rsp + 0x3c]
mov dword [r9 + 0x24], eax
cmp dword [r10 + 4], 0
jne 0x1400c95ca
mov rax, qword [r9 + 0x50]
test rax, rax
je 0x1400c914a
lea rcx, [r10 + 0x2c]
lea rdx, [rax + 0x200]
cmp rcx, rdx
jae 0x1400c915c
lea rcx, [r10 + 0x22c]
cmp rax, rcx
jae 0x1400c915c
xor ecx, ecx
nop dword [rax + rax]
movzx edx, word [r10 + rcx*2 + 0x2c]
movzx ebp, word [rax + rcx*2]
cmp dx, bp
cmova ebp, edx
mov word [r10 + rcx*2 + 0x2c], bp
movzx edx, word [r10 + rcx*2 + 0x2e]
movzx ebp, word [rax + rcx*2 + 2]
cmp dx, bp
cmova ebp, edx
mov word [r10 + rcx*2 + 0x2e], bp
add rcx, 2
cmp rcx, 0x100
jne 0x1400c9110
mov rax, qword [r9 + 0x48]
test rax, rax
jne 0x1400c9568
jmp 0x1400c95ca
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + 0x10]
movdqu xmm2, xmmword [r10 + 0x2c]
movdqu xmm3, xmmword [r10 + 0x3c]
movdqu xmm4, xmmword [r10 + 0x4c]
movdqu xmm5, xmmword [r10 + 0x5c]
psubusw xmm0, xmm2
paddw xmm0, xmm2
psubusw xmm1, xmm3
paddw xmm1, xmm3
movdqu xmmword [r10 + 0x2c], xmm0
movdqu xmmword [r10 + 0x3c], xmm1
movdqu xmm0, xmmword [rax + 0x20]
movdqu xmm1, xmmword [rax + 0x30]
psubusw xmm0, xmm4
paddw xmm0, xmm4
psubusw xmm1, xmm5
paddw xmm1, xmm5
movdqu xmmword [r10 + 0x4c], xmm0
movdqu xmmword [r10 + 0x5c], xmm1
movdqu xmm0, xmmword [r10 + 0x6c]
movdqu xmm1, xmmword [r10 + 0x7c]
movdqu xmm2, xmmword [rax + 0x40]
movdqu xmm3, xmmword [rax + 0x50]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r10 + 0x6c], xmm2
movdqu xmmword [r10 + 0x7c], xmm3
movdqu xmm0, xmmword [r10 + 0x8c]
movdqu xmm1, xmmword [r10 + 0x9c]
movdqu xmm2, xmmword [rax + 0x60]
movdqu xmm3, xmmword [rax + 0x70]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r10 + 0x8c], xmm2
movdqu xmmword [r10 + 0x9c], xmm3
movdqu xmm0, xmmword [r10 + 0xac]
movdqu xmm1, xmmword [r10 + 0xbc]
movdqu xmm2, xmmword [rax + 0x80]
movdqu xmm3, xmmword [rax + 0x90]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r10 + 0xac], xmm2
movdqu xmmword [r10 + 0xbc], xmm3
movdqu xmm0, xmmword [r10 + 0xcc]
movdqu xmm1, xmmword [r10 + 0xdc]
movdqu xmm2, xmmword [rax + 0xa0]
movdqu xmm3, xmmword [rax + 0xb0]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r10 + 0xcc], xmm2
movdqu xmmword [r10 + 0xdc], xmm3
movdqu xmm0, xmmword [r10 + 0xec]
movdqu xmm1, xmmword [r10 + 0xfc]
movdqu xmm2, xmmword [rax + 0xc0]
movdqu xmm3, xmmword [rax + 0xd0]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r10 + 0xec], xmm2
movdqu xmmword [r10 + 0xfc], xmm3
movdqu xmm0, xmmword [r10 + 0x10c]
movdqu xmm1, xmmword [r10 + 0x11c]
movdqu xmm2, xmmword [rax + 0xe0]
movdqu xmm3, xmmword [rax + 0xf0]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r10 + 0x10c], xmm2
movdqu xmmword [r10 + 0x11c], xmm3
movdqu xmm0, xmmword [r10 + 0x12c]
movdqu xmm1, xmmword [r10 + 0x13c]
movdqu xmm2, xmmword [rax + 0x100]
movdqu xmm3, xmmword [rax + 0x110]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r10 + 0x12c], xmm2
movdqu xmmword [r10 + 0x13c], xmm3
movdqu xmm0, xmmword [r10 + 0x14c]
movdqu xmm1, xmmword [r10 + 0x15c]
movdqu xmm2, xmmword [rax + 0x120]
movdqu xmm3, xmmword [rax + 0x130]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r10 + 0x14c], xmm2
movdqu xmmword [r10 + 0x15c], xmm3
movdqu xmm0, xmmword [r10 + 0x16c]
movdqu xmm1, xmmword [r10 + 0x17c]
movdqu xmm2, xmmword [rax + 0x140]
movdqu xmm3, xmmword [rax + 0x150]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r10 + 0x16c], xmm2
movdqu xmmword [r10 + 0x17c], xmm3
movdqu xmm0, xmmword [r10 + 0x18c]
movdqu xmm1, xmmword [r10 + 0x19c]
movdqu xmm2, xmmword [rax + 0x160]
movdqu xmm3, xmmword [rax + 0x170]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r10 + 0x18c], xmm2
movdqu xmmword [r10 + 0x19c], xmm3
movdqu xmm0, xmmword [r10 + 0x1ac]
movdqu xmm1, xmmword [r10 + 0x1bc]
movdqu xmm2, xmmword [rax + 0x180]
movdqu xmm3, xmmword [rax + 0x190]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r10 + 0x1ac], xmm2
movdqu xmmword [r10 + 0x1bc], xmm3
movdqu xmm0, xmmword [r10 + 0x1cc]
movdqu xmm1, xmmword [r10 + 0x1dc]
movdqu xmm2, xmmword [rax + 0x1a0]
movdqu xmm3, xmmword [rax + 0x1b0]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r10 + 0x1cc], xmm2
movdqu xmmword [r10 + 0x1dc], xmm3
movdqu xmm0, xmmword [r10 + 0x1ec]
movdqu xmm1, xmmword [r10 + 0x1fc]
movdqu xmm2, xmmword [rax + 0x1c0]
movdqu xmm3, xmmword [rax + 0x1d0]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r10 + 0x1ec], xmm2
movdqu xmmword [r10 + 0x1fc], xmm3
movdqu xmm0, xmmword [r10 + 0x20c]
movdqu xmm1, xmmword [r10 + 0x21c]
movdqu xmm2, xmmword [rax + 0x1e0]
movdqu xmm3, xmmword [rax + 0x1f0]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r10 + 0x20c], xmm2
movdqu xmmword [r10 + 0x21c], xmm3
mov rax, qword [r9 + 0x48]
test rax, rax
je 0x1400c95ca
lea rcx, [r10 + 0x2c]
lea rdx, [rax + 0x200]
cmp rcx, rdx
jae 0x1400c969c
lea rcx, [r10 + 0x22c]
cmp rax, rcx
jae 0x1400c969c
xor ecx, ecx
nop
movzx edx, word [r10 + rcx*2 + 0x2c]
movzx ebp, word [rax + rcx*2]
cmp dx, bp
cmova ebp, edx
mov word [r10 + rcx*2 + 0x2c], bp
movzx edx, word [r10 + rcx*2 + 0x2e]
movzx ebp, word [rax + rcx*2 + 2]
cmp dx, bp
cmova ebp, edx
mov word [r10 + rcx*2 + 0x2e], bp
add rcx, 2
cmp rcx, 0x100
jne 0x1400c9590
cmp byte [0x1402b1912], 0
je 0x1400c9aac
mov rbp, r9
mov esi, r14d
and esi, 0x10
lea rax, [0x14024ebe8]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x78], r15
lea rdx, [rsp + 0x50]
xor ecx, ecx
mov rdi, r10
call qword [0x1402b1880]
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x418]
mov qword [rsp + 0x60], rax
mov rax, qword [rdi + 0x278]
mov qword [rsp + 0x68], rax
test r14d, 0x20000000
je 0x1400c9650
test esi, esi
jne 0x1400c9650
mov rax, qword [0x1402b1888]
mov rcx, qword [rax + 0xa00188]
lea r8, [rbp + 0x30]
mov rax, qword [rcx]
lea rdx, [rsp + 0x58]
mov r9b, 1
call qword [rax + 0x28]
shr esi, 4
test r14d, 0x20000000
sete bl
mov rax, qword [0x1402b1888]
mov rcx, qword [rax + 0xa00188]
lea r8, [rbp + 0x30]
mov rax, qword [rcx]
mov byte [rsp + 0x20], sil
lea rdx, [rsp + 0x58]
mov r9b, 1
call qword [rax + 0x30]
mov r9, rbp
or bl, sil
mov r10, qword [rsp + 0x30]
movabs r11, 0x2000000000000000
jmp 0x1400c9aae
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + 0x10]
movdqu xmm2, xmmword [r10 + 0x2c]
movdqu xmm3, xmmword [r10 + 0x3c]
movdqu xmm4, xmmword [r10 + 0x4c]
movdqu xmm5, xmmword [r10 + 0x5c]
psubusw xmm0, xmm2
paddw xmm0, xmm2
psubusw xmm1, xmm3
paddw xmm1, xmm3
movdqu xmmword [r10 + 0x2c], xmm0
movdqu xmmword [r10 + 0x3c], xmm1
movdqu xmm0, xmmword [rax + 0x20]
movdqu xmm1, xmmword [rax + 0x30]
psubusw xmm0, xmm4
paddw xmm0, xmm4
psubusw xmm1, xmm5
paddw xmm1, xmm5
movdqu xmmword [r10 + 0x4c], xmm0
movdqu xmmword [r10 + 0x5c], xmm1
movdqu xmm0, xmmword [r10 + 0x6c]
movdqu xmm1, xmmword [r10 + 0x7c]
movdqu xmm2, xmmword [rax + 0x40]
movdqu xmm3, xmmword [rax + 0x50]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r10 + 0x6c], xmm2
movdqu xmmword [r10 + 0x7c], xmm3
movdqu xmm0, xmmword [r10 + 0x8c]
movdqu xmm1, xmmword [r10 + 0x9c]
movdqu xmm2, xmmword [rax + 0x60]
movdqu xmm3, xmmword [rax + 0x70]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r10 + 0x8c], xmm2
movdqu xmmword [r10 + 0x9c], xmm3
movdqu xmm0, xmmword [r10 + 0xac]
movdqu xmm1, xmmword [r10 + 0xbc]
movdqu xmm2, xmmword [rax + 0x80]
movdqu xmm3, xmmword [rax + 0x90]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r10 + 0xac], xmm2
movdqu xmmword [r10 + 0xbc], xmm3
movdqu xmm0, xmmword [r10 + 0xcc]
movdqu xmm1, xmmword [r10 + 0xdc]
movdqu xmm2, xmmword [rax + 0xa0]
movdqu xmm3, xmmword [rax + 0xb0]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r10 + 0xcc], xmm2
movdqu xmmword [r10 + 0xdc], xmm3
movdqu xmm0, xmmword [r10 + 0xec]
movdqu xmm1, xmmword [r10 + 0xfc]
movdqu xmm2, xmmword [rax + 0xc0]
movdqu xmm3, xmmword [rax + 0xd0]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r10 + 0xec], xmm2
movdqu xmmword [r10 + 0xfc], xmm3
movdqu xmm0, xmmword [r10 + 0x10c]
movdqu xmm1, xmmword [r10 + 0x11c]
movdqu xmm2, xmmword [rax + 0xe0]
movdqu xmm3, xmmword [rax + 0xf0]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r10 + 0x10c], xmm2
movdqu xmmword [r10 + 0x11c], xmm3
movdqu xmm0, xmmword [r10 + 0x12c]
movdqu xmm1, xmmword [r10 + 0x13c]
movdqu xmm2, xmmword [rax + 0x100]
movdqu xmm3, xmmword [rax + 0x110]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r10 + 0x12c], xmm2
movdqu xmmword [r10 + 0x13c], xmm3
movdqu xmm0, xmmword [r10 + 0x14c]
movdqu xmm1, xmmword [r10 + 0x15c]
movdqu xmm2, xmmword [rax + 0x120]
movdqu xmm3, xmmword [rax + 0x130]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r10 + 0x14c], xmm2
movdqu xmmword [r10 + 0x15c], xmm3
movdqu xmm0, xmmword [r10 + 0x16c]
movdqu xmm1, xmmword [r10 + 0x17c]
movdqu xmm2, xmmword [rax + 0x140]
movdqu xmm3, xmmword [rax + 0x150]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r10 + 0x16c], xmm2
movdqu xmmword [r10 + 0x17c], xmm3
movdqu xmm0, xmmword [r10 + 0x18c]
movdqu xmm1, xmmword [r10 + 0x19c]
movdqu xmm2, xmmword [rax + 0x160]
movdqu xmm3, xmmword [rax + 0x170]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r10 + 0x18c], xmm2
movdqu xmmword [r10 + 0x19c], xmm3
movdqu xmm0, xmmword [r10 + 0x1ac]
movdqu xmm1, xmmword [r10 + 0x1bc]
movdqu xmm2, xmmword [rax + 0x180]
movdqu xmm3, xmmword [rax + 0x190]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r10 + 0x1ac], xmm2
movdqu xmmword [r10 + 0x1bc], xmm3
movdqu xmm0, xmmword [r10 + 0x1cc]
movdqu xmm1, xmmword [r10 + 0x1dc]
movdqu xmm2, xmmword [rax + 0x1a0]
movdqu xmm3, xmmword [rax + 0x1b0]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r10 + 0x1cc], xmm2
movdqu xmmword [r10 + 0x1dc], xmm3
movdqu xmm0, xmmword [r10 + 0x1ec]
movdqu xmm1, xmmword [r10 + 0x1fc]
movdqu xmm2, xmmword [rax + 0x1c0]
movdqu xmm3, xmmword [rax + 0x1d0]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r10 + 0x1ec], xmm2
movdqu xmmword [r10 + 0x1fc], xmm3
movdqu xmm0, xmmword [r10 + 0x20c]
movdqu xmm1, xmmword [r10 + 0x21c]
movdqu xmm2, xmmword [rax + 0x1e0]
movdqu xmm3, xmmword [rax + 0x1f0]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r10 + 0x20c], xmm2
movdqu xmmword [r10 + 0x21c], xmm3
cmp byte [0x1402b1912], 0
jne 0x1400c95d7
mov bl, 1
mov byte [rsp + 0x3c], bl
mov qword [rsp + 0x80], r13
mov qword [rsp + 0x48], r12
movabs rbp, 0xffffff0000000000
movabs rsi, 0xefffffffffffffff
movabs r15, 0xbfffff00000fffff
movabs r12, 0x6000000000000000
movabs r14, 0x4000000000000000
movabs r13, 0xfffff0000000000
mov rax, qword [r9 + 8]
xor r8d, r8d
jmp 0x1400c9b18
lock cmpxchg qword [r9 + 8], rdi
je 0x1400c9b89
mov rdx, rax
and rdx, rsi
test rax, r12
sete bl
test rax, r13
setne cl
lea rdi, [rdx + rbp]
or rdi, r11
test bl, cl
cmove rdi, rdx
jne 0x1400c9b10
mov rdx, rax
shr rdx, 0x14
and edx, 0xfffff
test rax, r11
cmovne rdx, r8
mov rcx, rdi
and rcx, r15
or rcx, r14
test rdx, rdx
cmove rcx, rdi
lock cmpxchg qword [r9 + 8], rcx
jne 0x1400c9b18
test rdx, rdx
je 0x1400c9ba9
mov rcx, r9
add rcx, 0x14
lock add dword [r9 + 0x14], edx
cmp edx, 1
jne 0x1400c9dcf
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle
jmp 0x1400c9dd4
mov rcx, qword [rsp + 0x80]
lock add dword [rcx], 1
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle
movabs r11, 0x2000000000000000
mov r10, qword [rsp + 0x30]
mov byte [r10 + 0x290], 0
mov rcx, qword [r10 + 0x280]
mov rax, qword [rcx]
xor r8d, r8d
jmp 0x1400c9bc7
lock cmpxchg qword [rcx], rdi
je 0x1400c9c37
mov rbx, rax
and rbx, rsi
test rax, r12
sete r9b
test rax, r13
setne dl
lea rdi, [rbx + rbp]
or rdi, r11
test r9b, dl
cmove rdi, rbx
jne 0x1400c9bc0
mov rbx, rax
shr rbx, 0x14
and ebx, 0xfffff
test rax, r11
cmovne rbx, r8
mov rdx, rdi
and rdx, r15
or rdx, r14
test rbx, rbx
cmove rdx, rdi
lock cmpxchg qword [rcx], rdx
jne 0x1400c9bc7
test rbx, rbx
mov rsi, qword [rsp + 0x48]
mov dil, byte [rsp + 0x3c]
jne 0x1400c9d73
test esi, esi
setne al
or dil, al
je 0x1400c9c5e
jmp 0x1400c9cd3
lock add dword [rcx + 8], 1
add rcx, 8
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle
mov r10, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
mov dil, byte [rsp + 0x3c]
test esi, esi
setne al
or dil, al
jne 0x1400c9cd3
cmp byte [0x1402b1912], 0
je 0x1400c9cd3
lea rax, [0x14024ebe8]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x70], r10
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x78], rax
lea rdx, [rsp + 0x50]
xor ecx, ecx
mov rsi, r10
call qword [0x1402b1880]
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x418]
mov qword [rsp + 0x60], rax
mov rax, qword [rsi + 0x278]
mov qword [rsp + 0x68], rax
mov rax, qword [0x1402b1888]
mov rcx, qword [rax + 0xa00188]
mov rax, qword [rcx]
lea rdx, [rsp + 0x58]
call qword [rax + 0x48]
mov rcx, rsi
mov r8, rax
call fcn.1400e3470
nop
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rsi
xor edx, edx
call fcn.1400db9f0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x290], 0
mov rcx, rbx
call fcn.140119780
mov rcx, qword [rsp + 0x30]
call fcn.1400dae00
mov rsi, qword [rsp + 0x30]
jmp 0x1400c8ea7
mov rdi, r9
mov rcx, r10
call fcn.1400dd540
mov r10, qword [rsp + 0x30]
mov rax, qword [r10 + 0x10]
lea ecx, [rax + 8]
test ecx, 0xff0
je 0x1400c9e85
movabs r11, 0x2000000000000000
mov r9, rdi
jmp 0x1400c8ef7
mov qword [rsp + 0x20], 0
lea rcx, str.gotsan.cpp
lea r8, str.__rec_______0__
mov edx, 0xff8
xor r9d, r9d
call fcn.1400c44b0
lock add dword [rcx + 0xc], ebx
add rcx, 0xc
cmp ebx, 1
jne 0x1400c9de8
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle
jmp 0x1400c9ded
mov qword [rsp + 0x20], 0
lea rcx, str.gotsan.cpp
lea r8, str.__s__recursion______0__
mov edx, 0x100b
mov r9, r12
call fcn.1400c44b0
mov qword [rsp + 0x20], 0
lea rcx, str.gotsan.cpp
lea r8, str.__s__recursion_______0__
mov edx, 0x100f
xor r9d, r9d
call fcn.1400c44b0
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressAll
mov r10, qword [rsp + 0x30]
movabs r11, 0x2000000000000000
jmp 0x1400c9ba9
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressAll
mov r10, qword [rsp + 0x30]
test esi, esi
setne al
or dil, al
je 0x1400c9c5e
jmp 0x1400c9cd3
test ecx, ecx
js 0x1400c8db8
mov rbx, qword [rsi + 0x10]
lea edi, [rbx + 8]
test edi, 0xff0
je 0x1400c9e8a
mov rsi, qword [rsp + 0x40]
mov rdi, rsi
mov rbp, qword [rsp + 0x30]
sub rdi, qword [rbp + 0x18]
add rdi, 0x4000
mov qword [rbp + 0x18], rsi
cmp rdi, 0x7fff
ja 0x1400c9ebd
shl edi, 5
mov rsi, r13
shl rsi, 0x14
and edi, 0xfffe0
add rdi, rsi
add rdi, 7
mov qword [rbx], rdi
add rbx, 8
mov rsi, qword [rsp + 0x30]
mov qword [rsi + 0x10], rbx
mov r9d, dword [rdx]
mov rdi, rdx
test r9, r9
movabs r10, 0x10000000000
jne 0x1400c9eda
mov dword [rdi], r8d
jmp 0x1400c8db8
jmp 0x1400c9d3d
mov qword [rsp + 0x20], 3
mov r9d, 1
mov rsi, qword [rsp + 0x30]
mov rcx, rsi
mov rdx, qword [rsp + 0x40]
mov r8, r13
call fcn.1400dff10
movabs r10, 0x10000000000
jmp 0x1400c8db8
mov rbp, r13
shl rbp, 0x14
or rbp, 0x60
mov qword [rbx], rbp
mov rbp, qword [rsp + 0x40]
mov qword [rbx + 8], rbp
add rbx, 0x10
jmp 0x1400c9e5f
shr ecx, 8
test r9b, al
jne 0x1400c9f0c
xor ebx, ebx
lea rdi, [rdx + 4]
mov r9d, dword [rdi]
test r9, r9
jne 0x1400c9f2e
test bl, bl
mov rsi, qword [rsp + 0x30]
movabs r10, 0x10000000000
jne 0x1400c8db8
jmp 0x1400c9e7d
mov rbx, r9
shr rbx, 8
cmp cl, bl
jne 0x1400c9f94
xor ebx, ebx
cmp r9d, 0xc0000000
jb 0x1400c9ee4
cmp al, r9b
jne 0x1400c9ee4
mov dword [rdx], r8d
mov bl, 1
jmp 0x1400c9ee4
test r9b, al
jne 0x1400c9fc5
lea rdi, [rdx + 8]
mov r9d, dword [rdi]
test r9, r9
je 0x1400c9ef0
test r9b, al
jne 0x1400c9ff5
lea rdi, [rdx + 0xc]
mov r9d, dword [rdi]
test r9, r9
je 0x1400c9ef0
test r9b, al
je 0x1400ca04d
mov rsi, r9
shr rsi, 8
cmp cl, sil
jne 0x1400ca025
cmp r9d, 0xc0000000
jb 0x1400ca04d
cmp al, r9b
jne 0x1400ca04d
mov dword [rdi], r8d
mov rsi, qword [rsp + 0x30]
jmp 0x1400c9eae
cmp r9d, 0x3fffffff
ja 0x1400c9ee2
mov ebp, r9d
shr ebp, 0x10
movzx ebx, bl
and ebp, 0x3fff
mov rdi, qword [rsp + 0x30]
cmp word [rdi + rbx*2 + 0x2c], bp
jae 0x1400c9ee2
jmp 0x1400ca0d3
mov rsi, r9
shr rsi, 8
cmp cl, sil
jne 0x1400ca077
cmp r9d, 0xc0000000
jb 0x1400c9f37
cmp al, r9b
jne 0x1400c9f37
mov dword [rdi], r8d
mov bl, 1
jmp 0x1400c9f37
mov rsi, r9
shr rsi, 8
cmp cl, sil
jne 0x1400ca0a6
cmp r9d, 0xc0000000
jb 0x1400c9f4c
cmp al, r9b
jne 0x1400c9f4c
mov dword [rdi], r8d
mov bl, 1
jmp 0x1400c9f4c
cmp r9d, 0x3fffffff
ja 0x1400ca04d
mov eax, r9d
shr eax, 0x10
movzx ecx, sil
and eax, 0x3fff
mov rbp, qword [rsp + 0x30]
cmp word [rbp + rcx*2 + 0x2c], ax
jb 0x1400ca0d3
test bl, bl
mov rsi, qword [rsp + 0x30]
movabs r10, 0x10000000000
jne 0x1400c8db8
mov rax, qword [rsi + 0x10]
shr rax, 1
and eax, 0xc
mov dword [rdx + rax], r8d
jmp 0x1400c8db8
cmp r9d, 0x3fffffff
ja 0x1400c9f37
mov ebp, r9d
shr ebp, 0x10
movzx edi, sil
and ebp, 0x3fff
mov rsi, qword [rsp + 0x30]
cmp word [rsi + rdi*2 + 0x2c], bp
jae 0x1400c9f37
jmp 0x1400ca0d3
cmp r9d, 0x3fffffff
ja 0x1400c9f4c
mov ebp, r9d
shr ebp, 0x10
movzx edi, sil
and ebp, 0x3fff
mov rsi, qword [rsp + 0x30]
cmp word [rsi + rdi*2 + 0x2c], bp
jae 0x1400c9f4c
mov qword [rsp + 0x20], 3
mov rsi, qword [rsp + 0x30]
mov rcx, rsi
call fcn.1400ded30
jmp 0x1400c9eae