Function at 0x140077200
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 0x140077233
mov eax, dword [rsp + 0xf0]
test eax, eax
je 0x14007824f
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 0x1400772b8
lea rax, [r13 - 0x1000]
shr rax, 0xc
cmp rax, 0xdfffffe
ja 0x1400772b8
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 0x1400772b8
or ebx, dword [rdx + 4]
cmp ebx, r8d
je 0x1400772b8
mov ebx, 0x40000000
mov edi, dword [rdx + 8]
or edi, ebx
cmp edi, r8d
je 0x1400772b8
or ebx, dword [rdx + 0xc]
cmp ebx, r8d
jne 0x140078305
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 0x14007731b
mov rbp, rax
or rbp, r14
and rbp, rdx
lock cmpxchg qword [rbx], rbp
je 0x140077387
add rcx, 1
jmp 0x140077300
cmp rcx, 0x5dc
jbe 0x14007735d
lea rbp, [rax + r10]
and rbp, rdx
lock cmpxchg qword [rbx], rbp
jne 0x140077315
mov rcx, r15
mov rsi, r8
call fcn.1400af8f0
mov r8, rsi
movabs r10, 0x10000000000
movabs rdi, 0x2000000000000000
mov rsi, qword [rsp + 0x30]
xor ecx, ecx
jmp 0x14007736f
test rax, rdi
jne 0x14007737b
mov rbp, rax
or rbp, rdi
lock cmpxchg qword [rbx], rbp
jne 0x140077315
mov rax, qword [rbx]
add rcx, 1
mov rdx, r8
jmp 0x140077300
mov rax, qword [rbx]
add rcx, 1
jmp 0x140077300
mov byte [rsi + 0x290], 1
cmp qword [rbx + 0x18], rsi
jne 0x1400781e8
mov eax, dword [rsi]
not eax
test eax, 0x3fff0000
je 0x1400781e8
mov rcx, qword [0x1401c6208]
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.14009db00
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 0x14007821a
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 0x140077480
mov rdi, rax
or rdi, r14
and rdi, rdx
lock cmpxchg qword [r9 + 8], rdi
je 0x140077515
add rcx, 1
jmp 0x140077460
cmp rcx, 0x5dc
jbe 0x1400774e5
lea rdi, [rax + rbx]
and rdi, rdx
lock cmpxchg qword [r9 + 8], rdi
je 0x1400774ce
jmp 0x14007747a
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 0x14007749a
lea ecx, [rax - 1]
lock cmpxchg dword [r13], ecx
jne 0x1400774d2
xor ecx, ecx
jmp 0x1400774f8
test rax, r11
jne 0x140077508
mov rdi, rax
or rdi, r11
lock cmpxchg qword [r9 + 8], rdi
jne 0x14007747a
mov rax, qword [r9 + 8]
add rcx, 1
mov rdx, rsi
jmp 0x140077460
mov rax, qword [r9 + 8]
add rcx, 1
jmp 0x140077460
movsxd r12, dword [r9 + 0x24]
mov r14d, dword [rsp + 0x48]
mov eax, r14d
and eax, 0x107
je 0x140077534
mov ecx, dword [r9 + 0x28]
test ecx, 0x107
je 0x1400775a4
mov eax, dword [r9 + 0x1c]
cmp eax, 0xffffffff
je 0x1400775b3
cmp eax, dword [r10 + 0x24c]
jne 0x14007755f
test r12d, r12d
je 0x1400782ab
mov eax, dword [rsp + 0x3c]
add eax, r12d
mov dword [r9 + 0x24], eax
jmp 0x140077fac
mov rax, qword [0x1401c6208]
cmp byte [rax + 0xa00196], 0
je 0x140077581
test dword [r9 + 0x28], 0x40000000
jne 0x140077581
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 0x140077fae
cmp dword [r10 + 4], 0
jne 0x140077aca
jmp 0x1400775e1
or ecx, eax
mov dword [r9 + 0x28], ecx
mov eax, dword [r9 + 0x1c]
cmp eax, 0xffffffff
jne 0x14007753d
test r12d, r12d
jne 0x140078287
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 0x140077aca
mov rax, qword [r9 + 0x50]
test rax, rax
je 0x14007764a
lea rcx, [r10 + 0x2c]
lea rdx, [rax + 0x200]
cmp rcx, rdx
jae 0x14007765c
lea rcx, [r10 + 0x22c]
cmp rax, rcx
jae 0x14007765c
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 0x140077610
mov rax, qword [r9 + 0x48]
test rax, rax
jne 0x140077a68
jmp 0x140077aca
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 0x140077aca
lea rcx, [r10 + 0x2c]
lea rdx, [rax + 0x200]
cmp rcx, rdx
jae 0x140077b9c
lea rcx, [r10 + 0x22c]
cmp rax, rcx
jae 0x140077b9c
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 0x140077a90
cmp byte [0x1401c6292], 0
je 0x140077fac
mov rbp, r9
mov esi, r14d
and esi, 0x10
lea rax, [0x140165748]
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 [0x1401c6200]
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 0x140077b50
test esi, esi
jne 0x140077b50
mov rax, qword [0x1401c6208]
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 [0x1401c6208]
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 0x140077fae
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 [0x1401c6292], 0
jne 0x140077ad7
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 0x140078018
lock cmpxchg qword [r9 + 8], rdi
je 0x140078089
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 0x140078010
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 0x140078018
test rdx, rdx
je 0x1400780a9
mov rcx, r9
add rcx, 0x14
lock add dword [r9 + 0x14], edx
cmp edx, 1
jne 0x1400782cf
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle
jmp 0x1400782d4
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 0x1400780c7
lock cmpxchg qword [rcx], rdi
je 0x140078137
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 0x1400780c0
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 0x1400780c7
test rbx, rbx
mov rsi, qword [rsp + 0x48]
mov dil, byte [rsp + 0x3c]
jne 0x140078273
test esi, esi
setne al
or dil, al
je 0x14007815e
jmp 0x1400781d3
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 0x1400781d3
cmp byte [0x1401c6292], 0
je 0x1400781d3
lea rax, [0x140165748]
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 [0x1401c6200]
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 [0x1401c6208]
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.140091970
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.140089ef0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x290], 0
mov rcx, rbx
call fcn.1400c8170
mov rcx, qword [rsp + 0x30]
call fcn.140089300
mov rsi, qword [rsp + 0x30]
jmp 0x1400773a7
mov rdi, r9
mov rcx, r10
call fcn.14008ba40
mov r10, qword [rsp + 0x30]
mov rax, qword [r10 + 0x10]
lea ecx, [rax + 8]
test ecx, 0xff0
je 0x140078385
movabs r11, 0x2000000000000000
mov r9, rdi
jmp 0x1400773f7
mov qword [rsp + 0x20], 0
lea rcx, str.gotsan.cpp
lea r8, str.__rec_______0__
mov edx, 0xff8
xor r9d, r9d
call fcn.1400729b0
lock add dword [rcx + 0xc], ebx
add rcx, 0xc
cmp ebx, 1
jne 0x1400782e8
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle
jmp 0x1400782ed
mov qword [rsp + 0x20], 0
lea rcx, str.gotsan.cpp
lea r8, str.__s__recursion______0__
mov edx, 0x100b
mov r9, r12
call fcn.1400729b0
mov qword [rsp + 0x20], 0
lea rcx, str.gotsan.cpp
lea r8, str.__s__recursion_______0__
mov edx, 0x100f
xor r9d, r9d
call fcn.1400729b0
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressAll
mov r10, qword [rsp + 0x30]
movabs r11, 0x2000000000000000
jmp 0x1400780a9
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 0x14007815e
jmp 0x1400781d3
test ecx, ecx
js 0x1400772b8
mov rbx, qword [rsi + 0x10]
lea edi, [rbx + 8]
test edi, 0xff0
je 0x14007838a
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 0x1400783bd
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 0x1400783da
mov dword [rdi], r8d
jmp 0x1400772b8
jmp 0x14007823d
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.14008e410
movabs r10, 0x10000000000
jmp 0x1400772b8
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 0x14007835f
shr ecx, 8
test r9b, al
jne 0x14007840c
xor ebx, ebx
lea rdi, [rdx + 4]
mov r9d, dword [rdi]
test r9, r9
jne 0x14007842e
test bl, bl
mov rsi, qword [rsp + 0x30]
movabs r10, 0x10000000000
jne 0x1400772b8
jmp 0x14007837d
mov rbx, r9
shr rbx, 8
cmp cl, bl
jne 0x140078494
xor ebx, ebx
cmp r9d, 0xc0000000
jb 0x1400783e4
cmp al, r9b
jne 0x1400783e4
mov dword [rdx], r8d
mov bl, 1
jmp 0x1400783e4
test r9b, al
jne 0x1400784c5
lea rdi, [rdx + 8]
mov r9d, dword [rdi]
test r9, r9
je 0x1400783f0
test r9b, al
jne 0x1400784f5
lea rdi, [rdx + 0xc]
mov r9d, dword [rdi]
test r9, r9
je 0x1400783f0
test r9b, al
je 0x14007854d
mov rsi, r9
shr rsi, 8
cmp cl, sil
jne 0x140078525
cmp r9d, 0xc0000000
jb 0x14007854d
cmp al, r9b
jne 0x14007854d
mov dword [rdi], r8d
mov rsi, qword [rsp + 0x30]
jmp 0x1400783ae
cmp r9d, 0x3fffffff
ja 0x1400783e2
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 0x1400783e2
jmp 0x1400785d3
mov rsi, r9
shr rsi, 8
cmp cl, sil
jne 0x140078577
cmp r9d, 0xc0000000
jb 0x140078437
cmp al, r9b
jne 0x140078437
mov dword [rdi], r8d
mov bl, 1
jmp 0x140078437
mov rsi, r9
shr rsi, 8
cmp cl, sil
jne 0x1400785a6
cmp r9d, 0xc0000000
jb 0x14007844c
cmp al, r9b
jne 0x14007844c
mov dword [rdi], r8d
mov bl, 1
jmp 0x14007844c
cmp r9d, 0x3fffffff
ja 0x14007854d
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 0x1400785d3
test bl, bl
mov rsi, qword [rsp + 0x30]
movabs r10, 0x10000000000
jne 0x1400772b8
mov rax, qword [rsi + 0x10]
shr rax, 1
and eax, 0xc
mov dword [rdx + rax], r8d
jmp 0x1400772b8
cmp r9d, 0x3fffffff
ja 0x140078437
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 0x140078437
jmp 0x1400785d3
cmp r9d, 0x3fffffff
ja 0x14007844c
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 0x14007844c
mov qword [rsp + 0x20], 3
mov rsi, qword [rsp + 0x30]
mov rcx, rsi
call fcn.14008d230
jmp 0x1400783ae