Function at 0x1401c2f8a
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x3f8
movaps xmmword [rsp + 0x3e0], xmm7
movaps xmmword [rsp + 0x3d0], xmm6
mov ebx, r8d
mov qword [rsp + 0xa0], rdx
mov rbp, rcx
mov rax, qword [0x140346038]
xor rax, rsp
mov qword [rsp + 0x3c8], rax
movaps xmm6, xmmword [0x1402fccc0]
movups xmmword [rsp + 0x2b0], xmm6
movups xmmword [rsp + 0x2a0], xmm6
movups xmmword [rsp + 0x290], xmm6
movups xmmword [rsp + 0x280], xmm6
movups xmmword [rsp + 0x270], xmm6
movups xmmword [rsp + 0x260], xmm6
movups xmmword [rsp + 0x250], xmm6
movups xmmword [rsp + 0x240], xmm6
xor esi, esi
mov qword [rsp + 0x238], rsi
lea rdi, [rsp + 0x158]
mov r8d, 0xe0
mov rcx, rdi
mov dl, 0xaa
call fcn.140159120
mov qword [rsp + 0xd8], rdi
mov qword [rdi - 8], rsi
lea rcx, [rbp + 0x10]
mov rax, qword [rbp + 0x10]
test al, 0x19
mov qword [rsp + 0x70], rcx
jne 0x1401c4104
mov rdx, rax
or rdx, 8
lock cmpxchg qword [rcx], rdx
jne 0x1401c4104
mov r11, qword [rbp + 0x38]
test r11, r11
je 0x1401c3077
lock inc dword [r11 + 8]
mov rax, qword [rbp + 0x48]
mov cl, 1
mov dword [rsp + 0xb4], ecx
test rax, rax
mov qword [rsp + 0x50], r11
mov dword [rsp + 0x90], ebx
jne 0x1401c4afe
xor esi, esi
mov bl, 1
mov rax, qword [rbp + 0x40]
test rax, rax
jne 0x1401c401d
xor eax, eax
mov qword [rsp + 0xc8], rax
mov rax, qword [rbp + 0x48]
mov cl, 1
mov dword [rsp + 0xc4], ecx
test rax, rax
jne 0x1401c40c3
xor r14d, r14d
test r11, r11
je 0x1401c3f52
mov rax, qword [r11]
mov rax, qword [rax]
lea rcx, [0x140209920]
cmp rax, rcx
jne 0x1401c3f5a
lea rdi, [r11 + 0x20]
cmp dword [rdi], 0
sete r10b
mov rax, qword [rbp + 0x50]
test rax, rax
jne 0x1401c4985
xor ecx, ecx
mov rax, qword [rbp + 0x40]
test rax, rax
mov dword [rsp + 0x7c], ebx
mov qword [rsp + 0xe8], r14
mov qword [rsp + 0xf0], rsi
jne 0x1401c3f4a
xor esi, esi
lea rax, [rsp + 0x240]
mov qword [rsp + 0xb8], rax
lea r13, [rbp + 0x38]
mov r12, qword [rbp + 0x88]
mov rbx, qword [rbp + 0x90]
cmp r12, rbx
mov qword [rsp + 0x88], rcx
mov dword [rsp + 0x5c], r10d
je 0x1401c3195
mov r14, qword [rbp + 0x38]
mov rax, qword [rbp + 0xa0]
movabs r15, 0x6db6db6db6db6db7
sub rbx, r12
sar rbx, 3
imul rbx, r15
cmp rbx, rax
jbe 0x1401c62f7
imul rax, rax, 0x38
cmp byte [r12 + rax], 0
jne 0x1401c5460
mov rsi, qword [rbp + 0xb0]
mov rax, qword [rbp + 0x80]
mov rdx, qword [rbp + 0x58]
mov r9, qword [rbp + 0x60]
cmp rdx, r9
jne 0x1401c3eff
xor edx, edx
mov rdi, qword [rbp + 0x40]
test rdi, rdi
jne 0x1401c3fa8
xor r12d, r12d
lea rdi, [rbp + 0x58]
mov rbx, qword [rbp + 0x48]
test rbx, rbx
jne 0x1401c4ef8
test rcx, rcx
jne 0x1401c59eb
xor ebx, ebx
mov rax, qword [rbp + 0x50]
test rax, rax
jne 0x1401c57ac
cmp byte [rbp + 0x18], 0
jne 0x1401c4c3e
mov eax, dword [rsp + 0xc4]
mov r15d, eax
or r15b, bl
mov r14b, 1
test r11, r11
je 0x1401c322b
mov eax, dword [rsp + 0xb4]
and al, bl
or al, r12b
mov ecx, r10d
and cl, r15b
and cl, al
cmp cl, 1
je 0x1401c42f8
test r10b, r10b
mov dword [rsp + 0x80], r14d
je 0x1401c328a
mov rax, qword [rbp + 0x88]
mov r9, qword [rbp + 0x90]
cmp rax, r9
je 0x1401c327d
mov rcx, qword [rbp + 0xa0]
mov rdx, r9
sub rdx, rax
sar rdx, 3
movabs r8, 0x6db6db6db6db6db7
imul r8, rdx
cmp r8, rcx
jbe 0x1401c630c
imul rcx, rcx, 0x38
cmp byte [rax + rcx], 0
jne 0x1401c328a
cmp byte [rbp + 0xa8], 0
jne 0x1401c438b
cmp byte [rbp + 0x78], 0
mov rax, qword [rbp + 0x58]
mov rsi, qword [rbp + 0x60]
jne 0x1401c4048
mov cl, 1
mov dword [rsp + 0x60], ecx
xor r14d, r14d
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov r13, rdi
mov r10, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x70]
cmp rax, rsi
mov qword [rsp + 0x68], r13
jne 0x1401c352f
mov dl, 1
mov qword [rsp + 0xa8], rdx
cmp byte [rbp + 0x78], 0
jne 0x1401c41dd
xor esi, esi
mov qword [rsp + 0xd0], rdi
mov r9, r10
xor r10d, r10d
xor r13d, r13d
mov rax, qword [rcx]
mov r8, rax
xor r8, 0xc
mov edx, r8d
and edx, 0x18
and r8d, 6
cmp rdx, r8
jae 0x1401c61b2
mov rdx, rax
and rdx, 0xffffffffffffffd7
lock cmpxchg qword [rcx], rdx
jne 0x1401c61b2
mov rax, qword [rsp + 0x238]
test al, 1
je 0x1401c333f
mov rcx, qword [rsp + 0x240]
mov qword [rsp + 0xb8], rcx
cmp rax, 2
jae 0x1401c4d69
test r12b, r12b
jne 0x1401c4a4f
test bl, bl
mov ebx, dword [rsp + 0x7c]
jne 0x1401c4162
test r11, r11
je 0x1401c3384
or r12b, byte [rsp + 0xb4]
test r9, r9
setne al
and r12b, bl
and r12b, al
and r15b, r12b
cmp r15b, 1
je 0x1401c5e04
test r14, r14
jne 0x1401c464f
test r13, r13
jne 0x1401c614f
test r10, r10
sete al
xor sil, 1
or sil, al
mov r12, qword [rsp + 0xf0]
je 0x1401c6004
cmp dword [rsp + 0x90], 1
setne al
test byte [rsp + 0x80], al
jne 0x1401c3442
mov eax, dword [rsp + 0x5c]
xor al, 1
jne 0x1401c3442
test r14, r14
jne 0x1401c3442
test bl, bl
je 0x1401c606f
test r11, r11
je 0x1401c3442
mov rax, qword [r11]
mov rax, qword [rax + 0x68]
lea rcx, [0x14020c1c0]
cmp rax, rcx
jne 0x1401c3576
mov rcx, qword [r11 + 0x48]
test rcx, rcx
je 0x1401c3442
xor edx, edx
cmp byte [r11 + 0x24], 0
sete dl
lea eax, [rdx*4 + 7]
mov r8d, 3
lock cmpxchg dword [rcx + 4], r8d
je 0x1401c5f75
lea edx, [rdx*4 + 4]
mov r8d, eax
and r8d, 0x33
cmp r8d, 3
jne 0x1401c3442
mov r8d, eax
and r8d, edx
jne 0x1401c5eb9
mov rax, qword [rsp + 0x150]
test al, 1
jne 0x1401c60aa
cmp rax, 2
jae 0x1401c35d6
test rax, rax
jne 0x1401c350c
cmp qword [rsp + 0x238], 0
jne 0x1401c4cf4
test r10, r10
jne 0x1401c5dd1
test r14, r14
jne 0x1401c34fc
test r13, r13
jne 0x1401c61e9
cmp byte [rsp + 0xc4], 0
je 0x1401c49e3
cmp byte [rsp + 0xb4], 0
je 0x1401c4b2f
test r9, r9
jne 0x1401c4a22
test bl, bl
je 0x1401c6040
test r11, r11
je 0x1401c34c8
lock dec dword [r11 + 8]
je 0x1401c4567
mov rcx, qword [rsp + 0x3c8]
xor rcx, rsp
call fcn.140156fe0
movaps xmm6, xmmword [rsp + 0x3d0]
movaps xmm7, xmmword [rsp + 0x3e0]
add rsp, 0x3f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lock dec dword [r14 + 8]
jne 0x1401c3482
jmp 0x1401c636b
lea rcx, [rsp + 0x150]
mov rsi, r10
mov rdi, r9
call fcn.1401318be
mov r9, rdi
mov r10, rsi
mov r11, qword [rsp + 0x50]
jmp 0x1401c3465
mov rdx, qword [rbp + 0x70]
mov r8, rsi
sub r8, rax
sar r8, 3
movabs r9, 0x6db6db6db6db6db7
imul r9, r8
cmp r9, rdx
jbe 0x1401c6303
imul rdx, rdx, 0x38
cmp byte [rax + rdx], 0
mov rcx, qword [rsp + 0x70]
je 0x1401c32cd
mov al, 1
mov qword [rsp + 0xa8], rax
jmp 0x1401c32e1
lea rcx, [0x1401fd440]
cmp rax, rcx
jne 0x1401c624d
xor edx, edx
cmp byte [r11 + 0x10], 0
sete dl
mov rcx, qword [r11 + 0x18]
lea eax, [rdx*4 + 7]
mov r8d, 3
lock cmpxchg dword [rcx + 0x14], r8d
je 0x1401c5eff
lea edx, [rdx*4 + 4]
mov r8d, eax
and r8d, 0x33
cmp r8d, 3
jne 0x1401c3442
mov r8d, eax
and r8d, edx
je 0x1401c3442
jmp 0x1401c5eea
shr rax, 1
imul rsi, rax, 0x38
mov rax, qword [rsp + 0xd8]
add rsi, rax
xorps xmm7, xmm7
mov qword [rsp + 0x88], r10
mov qword [rsp + 0xe0], r14
mov qword [rsp + 0x70], r9
mov qword [rsp + 0x118], rdi
mov qword [rsp + 0x108], 0x20
mov r15, qword [rax + 8]
mov qword [rsp + 0x110], r15
mov rcx, rax
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x118], eax
lea rax, [rcx + 0x18]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0xd8], rcx
mov rax, qword [rcx]
lea rcx, [0x1401f9ae0]
cmp rax, rcx
jne 0x1401c39ea
mov r14, qword [r15 + 8]
test r15, r15
je 0x1401c36c4
mov eax, 1
lock xadd dword [r15], eax
cmp eax, 0x7fffffff
je 0x1401c630f
lock dec dword [r15]
jne 0x1401c36c8
mov rcx, qword [r15 + 0x18]
test rcx, rcx
je 0x1401c3699
lock dec dword [rcx + 8]
jne 0x1401c3699
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
mov edx, 1
call qword [0x14037e008]
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x1401c36ba
lock dec dword [rcx + 8]
jne 0x1401c36ba
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
mov edx, 1
call qword [0x14037e008]
mov rcx, r15
call fcn.140153bcc
jmp 0x1401c36c8
lock dec dword [r15]
lea rbp, [r14 + 0x18]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x1401c36e2
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
cmp byte [r14 + 0x118], 0
je 0x1401c394b
cmp byte [r15 + 0x50], 0
je 0x1401c394b
mov eax, dword [rsp + 0x118]
cmp byte [r15 + 0x51], 0
mov byte [r15 + 0x50], 0
jne 0x1401c3950
mov ecx, eax
and ecx, 1
jne 0x1401c3950
mov byte [r14 + 0x118], 0
movabs rcx, 0xaaaaaaaa00000000
mov qword [rsp + 0x140], rcx
mov dword [rsp + 0x128], 0x20
shr eax, 9
and eax, 1
mov dword [rsp + 0x12c], eax
mov rax, qword [r15 + 0x28]
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], 0
mov rdi, qword [r15 + 0x18]
test rdi, rdi
mov qword [rsp + 0x90], rsi
je 0x1401c3a71
mov eax, dword [r15 + 0x20]
mov dword [rsp + 0x5c], eax
mov dword [rsp + 0x140], 0
lea rcx, [rdi + 0x20]
mov qword [rsp + 0x80], rcx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401c622b
cmp qword [rdi + 0x28], 0
je 0x1401c6329
mov rsi, r13
movups xmm0, xmmword [0x1403076f8]
movaps xmmword [rsp + 0x2d0], xmm0
movups xmm0, xmmword [0x1403076e8]
movaps xmmword [rsp + 0x2c0], xmm0
mov eax, dword [0x140360b50]
mov ecx, dword [0x1403576e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1401c6278
mov rax, qword [0x1403530c8]
mov rcx, qword [rdi + 0x28]
mov r13, qword [rcx + 8]
lea rcx, [0x1400f2320]
cmp rax, rcx
jne 0x1401c6415
test r13, r13
je 0x1401c6343
cmp dword [r13 + 0xc], 1
jne 0x1401c6343
lea r9, [r13 + 0x10]
mov rax, qword [r13 + 0x10]
test al, 0x19
jne 0x1401c5e48
mov rcx, rax
or rcx, 8
lock cmpxchg qword [r9], rcx
jne 0x1401c5e48
mov rax, qword [rsp + 0x2c0]
cmp rax, 0x20
mov ecx, 0x20
cmovae rax, rcx
mov qword [rsp + 0x2c0], rax
mov eax, dword [r13 + 0x1c]
mov dword [rsp + 0x2c8], eax
mov rax, qword [r13 + 0x58]
mov rcx, qword [r13 + 0x60]
cmp rax, rcx
jne 0x1401c4d17
mov qword [rsp + 0x2d0], 0
xor eax, eax
mov qword [rsp + 0x2d8], rax
mov rax, qword [r9]
mov rcx, rax
xor rcx, 0xc
mov edx, ecx
and edx, 0x18
and ecx, 6
cmp rdx, rcx
jae 0x1401c623e
mov rcx, rax
and rcx, 0xffffffffffffffd7
lock cmpxchg qword [r9], rcx
jne 0x1401c623e
test byte [rsp + 0x2c8], 1
jne 0x1401c58a1
cmp byte [rdi + 0xa1], 0
mov dword [rsp + 0x140], 4
mov r13, rsi
jne 0x1401c58b6
mov dword [rsp + 0x140], 0x14
cmp dword [rdi + 0x10], 1
mov rsi, qword [rsp + 0x90]
jne 0x1401c58dc
mov cl, 1
mov eax, 0x14
cmp byte [rdi + 0xa2], 0
jne 0x1401c3afc
cmp qword [rsp + 0x2d0], 0
jne 0x1401c3afc
cmp qword [rdi + 0x48], 0
je 0x1401c3b24
mov edx, dword [rsp + 0x13c]
jmp 0x1401c3b10
mov byte [r15 + 0x50], 0
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test r15, r15
mov r14, qword [rsp + 0xe0]
je 0x1401c39b6
lock dec dword [r15]
jne 0x1401c39b6
mov rcx, qword [r15 + 0x18]
test rcx, rcx
je 0x1401c398d
lock dec dword [rcx + 8]
jne 0x1401c398d
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
mov edx, 1
call qword [0x14037e008]
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x1401c39ae
lock dec dword [rcx + 8]
jne 0x1401c39ae
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
mov edx, 1
call qword [0x14037e008]
mov rcx, r15
call fcn.140153bcc
mov rax, qword [rsp + 0xd8]
add rax, 0x38
cmp rax, rsi
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp + 0x88]
mov r9, qword [rsp + 0x70]
jne 0x1401c3600
mov rax, qword [rsp + 0x150]
jmp 0x1401c345c
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], r13
mov rsi, r14
lea rcx, [0x1401f9940]
cmp rax, rcx
jne 0x1401c62cc
mov r13, qword [r15 + 8]
lea r14, [r13 + 0x18]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401c621d
mov rbp, qword [rsp + 0x110]
cmp byte [rbp + 0x51], 0
je 0x1401c60bf
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
lock dec dword [r15]
setne al
test r15, r15
mov r14, rsi
mov r13, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x90]
je 0x1401c39b6
test al, al
je 0x1401c396c
jmp 0x1401c39b6
mov r8, qword [rsp + 0x120]
mov eax, dword [r15 + 0x20]
mov dword [rsp + 0x140], 0x24
mov ecx, dword [r8 + 8]
and ecx, 2
cmp ecx, 1
mov ecx, 0
adc ecx, 0x24
mov dword [rsp + 0x140], ecx
mov edx, 4
test byte [r8 + 8], 1
jne 0x1401c3abc
or ecx, 0x12
mov dword [rsp + 0x140], ecx
mov edx, 2
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov dword [rsp + 0x13c], edx
cmp qword [r8 + 0x10], 0
je 0x1401c3ade
or edx, 1
mov dword [rsp + 0x13c], edx
or edx, ecx
mov dword [rsp + 0x138], 0
test edx, eax
jne 0x1401c3b66
mov dword [rsp + 0x138], 9
jmp 0x1401c3b66
mov byte [rdi + 0xa2], 1
mov edx, dword [rsp + 0x13c]
or edx, 8
or eax, 8
or eax, 1
mov dword [rsp + 0x140], eax
or edx, 1
mov dword [rsp + 0x13c], edx
test cl, cl
je 0x1401c3b32
or eax, 9
mov dword [rsp + 0x140], eax
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov dword [rsp + 0x138], 0
mov eax, dword [rsp + 0x5c]
test dword [rsp + 0x13c], eax
movabs rdi, 0xaaaaaaaaaaaaaaaa
je 0x1401c3df8
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov cl, byte [r14 + 0x3c]
test cl, cl
je 0x1401c3b7e
cmp dword [r14 + 0x40], eax
je 0x1401c3e2b
mov qword [rsp + 0x98], r13
test cl, cl
lea rbx, [rsp + 0x2c0]
je 0x1401c3c3c
mov eax, dword [0x1403576e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rsi, [rax + 0x198]
lea r13, [r14 + 0x20]
mov rcx, rbx
lea rdx, str.DispatchOrQueueEvent
lea r8, str.....mojocoreipcz_drivermojo_trap.cc
mov r9d, 0x21c
call fcn.1400c6940
test byte [0x140354cd0], 0x19
jne 0x1401c3e0a
mov rdi, qword [rsi]
test rdi, rdi
je 0x1401c3bff
cmp qword [rdi + 0x18], 0
jne 0x1401c63a8
movabs rax, 0x4000000000000000
lock or qword [rdi + 0x10], rax
inc dword [r14 + 0x38]
movabs rax, 0x7fffffffffffffff
mov qword [rsp + 0x2c0], rax
mov rcx, r13
mov rdx, rbx
call fcn.1400d5cf0
dec dword [r14 + 0x38]
test byte [0x140354cd0], 0x19
jne 0x1401c3daf
cmp byte [r14 + 0x3c], 0
jne 0x1401c3bb4
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp byte [r14 + 0x3c], 0
jne 0x1401c3c4e
mov byte [r14 + 0x3c], 1
mov dword [r14 + 0x40], eax
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [r14 + 0x10]
lea rcx, [rsp + 0x128]
call qword [0x14037e008]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401c3eee
mov rax, qword [r14 + 0x70]
cmp rax, 2
jb 0x1401c3c95
lea rsi, [r14 + 0x78]
xor edi, edi
xor ebx, ebx
jmp 0x1401c3d92
mov r12, rax
shr r12, 1
lea rsi, [r14 + 0x78]
mov rcx, rax
mov rdx, rsi
and rcx, 1
je 0x1401c3cae
mov rdx, qword [rsi]
cmp rax, 2
mov ebx, dword [rsp + 0x7c]
movabs rdi, 0xaaaaaaaaaaaaaaaa
jb 0x1401c3ce6
lea rax, [r12 + r12*4]
lea r13, [rdx + rax*8]
add r13, 0xffffffffffffffd8
mov rcx, r13
call fcn.14003a1f0
add r13, 0xffffffffffffffd8
dec r12
jne 0x1401c3cce
mov rcx, qword [r14 + 0x70]
and ecx, 1
test rcx, rcx
mov r13, qword [rsp + 0x98]
je 0x1401c3cfb
mov rcx, qword [rsi]
call fcn.140153bcc
mov qword [r14 + 0x70], 0
mov byte [r14 + 0x3c], 0
cmp dword [r14 + 0x38], 0
mov r12, qword [rsp + 0xf0]
mov rsi, qword [rsp + 0x90]
je 0x1401c3950
add r14, 0x20
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_WakeConditionVariable]
jmp 0x1401c3950
mov rax, qword [rsi]
mov rcx, qword [rax + rdi]
cmp byte [rcx + 0x51], 0
je 0x1401c3d49
cmp dword [rax + rdi + 0x18], 1
jne 0x1401c3d78
lea r13, [rax + rdi]
add r13, 8
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [r14 + 0x10]
mov rcx, r13
call qword [0x14037e008]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401c3ee0
inc rbx
mov rax, qword [r14 + 0x70]
mov r12, rax
shr r12, 1
add rdi, 0x28
cmp rbx, r12
jae 0x1401c3c9b
test al, 1
jne 0x1401c3d35
mov rax, qword [rsi + rdi]
cmp byte [rax + 0x51], 0
mov rax, rsi
je 0x1401c3d49
cmp dword [rsi + rdi + 0x18], 1
mov rax, rsi
je 0x1401c3d49
jmp 0x1401c3d78
mov rcx, rbx
call fcn.1400e35f0
call sub.KERNEL32.dll_GetCurrentThreadId
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], eax
movups xmmword [rsp + 0x20], xmm7
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
mov cl, 0x45
lea rdx, [0x140354cd0]
lea r8, str.ScopedAllowBaseSyncPrimitivesOutsideBlockingScope
xor r9d, r9d
call fcn.1401bfdf0
jmp 0x1401c3c31
test dword [rsp + 0x140], eax
jne 0x1401c3950
jmp 0x1401c3aef
mov qword [rsp + 0x148], rbx
lea rcx, str.ScopedAllowBaseSyncPrimitivesOutsideBlockingScope
lea rdx, [rsp + 0x148]
call fcn.14006d1b0
jmp 0x1401c3bdd
mov rsi, r13
mov qword [rsp + 0x2c0], r15
test r15, r15
je 0x1401c3e50
mov eax, 1
lock xadd dword [r15], eax
cmp eax, 0x7fffffff
je 0x1401c3efc
add r14, 0x70
lea r13, [rsp + 0x2c0]
lea r8, [rsp + 0x128]
mov rcx, r14
mov rdx, r13
call fcn.14003a260
mov r14, qword [r13]
test r14, r14
mov r13, rsi
mov rsi, qword [rsp + 0x90]
je 0x1401c3950
lock dec dword [r14]
jne 0x1401c3950
mov rcx, qword [r14 + 0x18]
test rcx, rcx
je 0x1401c3eb2
lock dec dword [rcx + 8]
jne 0x1401c3eb2
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
mov edx, 1
call qword [0x14037e008]
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x1401c3ed3
lock dec dword [rcx + 8]
jne 0x1401c3ed3
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
mov edx, 1
call qword [0x14037e008]
mov rcx, r14
call fcn.140153bcc
jmp 0x1401c3950
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1401c3d78
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1401c3c7e
int3
mov edi, r10d
mov r8, qword [rbp + 0x70]
sub r9, rdx
sar r9, 3
movabs r10, 0x6db6db6db6db6db7
imul r10, r9
cmp r10, r8
jbe 0x1401c62f4
imul r8, r8, 0x38
cmp byte [rdx + r8], 0
mov rcx, qword [rsp + 0x88]
je 0x1401c3f46
add rdx, r8
mov rdx, qword [rdx + 0x10]
mov r10d, edi
jmp 0x1401c31b6
xor edx, edx
jmp 0x1401c3f3e
mov rsi, qword [rax]
jmp 0x1401c3129
xor r10d, r10d
jmp 0x1401c30f7
lea rcx, [0x1401fd330]
cmp rax, rcx
jne 0x1401c3f73
mov rdi, qword [r11 + 0x18]
add rdi, 4
jmp 0x1401c30f0
lea rdi, [rsp + 0x2c0]
mov rcx, r11
mov rdx, rdi
call qword [0x14037e008]
mov r11, qword [rsp + 0x50]
jmp 0x1401c30f0
mov rax, qword [rcx]
mov rax, qword [rax + 0xb0]
mov edx, 1
call qword [0x14037e008]
jmp 0x1401c3ffd
cmp qword [rdi], 0
je 0x1401c31c3
cmp byte [rdi + 8], 0
je 0x1401c31c3
cmp byte [rdi + 0x20], 0
je 0x1401c31c3
cmp qword [rdi + 0x10], rsi
ja 0x1401c31c3
add rdx, rax
cmp qword [rdi + 0x28], rdx
ja 0x1401c31c3
mov esi, r10d
mov qword [rbp + 0x40], 0
mov rcx, qword [rdi]
test rcx, rcx
je 0x1401c3ffd
mov qword [rdi], 0
lock dec dword [rcx + 8]
je 0x1401c3f91
mov rcx, rdi
call fcn.140153bcc
mov r12b, 1
mov r11, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x88]
mov r10d, esi
jmp 0x1401c31c6
mov rax, qword [rax]
test rax, rax
je 0x1401c30aa
mov rcx, rax
mov qword [rsp + 0xc8], rax
lock inc dword [rax + 8]
mov dword [rsp + 0xb4], 0
jmp 0x1401c30b4
mov r8, qword [rbp + 0x70]
mov rdx, qword [rbp + 0x80]
mov r10, rsi
sub r10, rax
sar r10, 3
movabs r9, 0x6db6db6db6db6db7
imul r9, r10
cmp rsi, rax
movabs rdi, 0xaaaaaaaaaaaaaaaa
jne 0x1401c40a6
xor r10d, r10d
mov cl, 1
mov dword [rsp + 0x60], ecx
add r10, rdx
sub rdx, r8
add rdx, r9
cmp r10, rdx
jb 0x1401c6318
mov r14, qword [r13]
mov qword [r13], 0
jmp 0x1401c32af
cmp r9, r8
jbe 0x1401c6320
imul r10, r8, 0x38
cmp byte [rax + r10], 0
je 0x1401c407a
add r10, rax
mov r10, qword [r10 + 0x10]
jmp 0x1401c407d
mov rax, qword [rax + 8]
test rax, rax
je 0x1401c30ca
mov r14, qword [rax]
test r14, r14
je 0x1401c30ca
lock inc dword [r14 + 8]
mov dword [rsp + 0xc4], 0
jmp 0x1401c30cd
lea rcx, [0x140358c00]
call fcn.140095b30
mov rcx, qword [rsp + 0x70]
jmp 0x1401c4111
mov eax, dword [0x140358c00]
cmp eax, 0xdd
jne 0x1401c40f1
mov r8d, dword [0x140358c04]
inc r8d
mov rax, qword [rcx]
test al, 0x11
jne 0x1401c412f
test al, 8
je 0x1401c4146
dec r8d
cmp r8d, 1
jg 0x1401c411b
lea rdx, [0x140304c88]
xor r8d, r8d
xor r9d, r9d
call fcn.140100042
jmp 0x1401c3069
mov rdx, rax
or rdx, 8
lock cmpxchg qword [rcx], rdx
je 0x1401c3069
jmp 0x1401c4126
call qword [0x14037e008]
jmp 0x1401c418d
mov qword [rsp + 0x70], r9
mov rdi, r10
mov rcx, qword [rsp + 0xe8]
mov rax, qword [rcx]
mov rax, qword [rax + 0xa0]
lea rdx, [fcn.1400ddfb0]
cmp rax, rdx
jne 0x1401c415a
call fcn.1400ddfb0
mov r11, qword [rsp + 0x50]
mov r10, rdi
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov r9, qword [rsp + 0x70]
jmp 0x1401c335e
lea rcx, [rdi + 0x10]
call fcn.14020c628
jmp 0x1401c427e
xor eax, eax
jmp 0x1401c420c
cmp r8, rdx
jbe 0x1401c6326
imul r9, rdx, 0x38
cmp byte [rax + r9], 0
mov rcx, qword [rsp + 0x70]
je 0x1401c41b7
add rax, r9
mov rax, qword [rax + 0x10]
jmp 0x1401c420c
mov r9, rsi
sub r9, rax
mov rdx, qword [rbp + 0x70]
mov r13, qword [rbp + 0x80]
sar r9, 3
movabs r8, 0x6db6db6db6db6db7
imul r8, r9
cmp rsi, rax
jne 0x1401c41bb
xor eax, eax
mov rcx, qword [rsp + 0x70]
lea r9, [r8 + r13]
sub r9, rdx
add rax, r13
cmp rax, r9
jb 0x1401c32e1
sub r13, rdx
add r13, r8
mov rax, qword [rbp + 0x48]
test rax, rax
mov qword [rsp + 0xd0], r13
jne 0x1401c42b2
mov rdi, qword [rbp + 0x50]
mov qword [rbp + 0x50], 0
mov sil, 1
test rdi, rdi
jne 0x1401c4269
xor eax, eax
mov qword [rsp + 0xa8], rax
xor r9d, r9d
xor r13d, r13d
movabs rdi, 0xaaaaaaaaaaaaaaaa
jmp 0x1401c32f4
mov rdx, qword [rdi + 8]
mov qword [rdi + 8], 0
test rdx, rdx
jne 0x1401c41a9
mov rcx, qword [rdi]
test rcx, rcx
jne 0x1401c42d4
mov rcx, rdi
call fcn.140153bcc
xor eax, eax
mov qword [rsp + 0xa8], rax
xor r9d, r9d
xor r13d, r13d
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x70]
jmp 0x1401c425a
mov r13, qword [rax]
mov qword [rax], 0
mov sil, 1
xor eax, eax
mov qword [rsp + 0xa8], rax
mov r9, r10
xor r10d, r10d
jmp 0x1401c32f4
mov qword [rdi], 0
lock dec dword [rcx + 8]
jne 0x1401c4286
mov rax, qword [rcx]
mov rax, qword [rax + 0xb0]
mov edx, 1
call qword [0x14037e008]
jmp 0x1401c4286
mov rax, qword [r11]
mov rax, qword [rax + 0x48]
lea rcx, [0x140142b00]
cmp rax, rcx
jne 0x1401c4352
mov byte [r11 + 0x25], 1
mov rcx, qword [r11 + 0x48]
xor eax, eax
test rcx, rcx
je 0x1401c4366
cmp byte [r11 + 0x24], 1
mov edx, 2
sbb edx, 0
xor r14d, r14d
mov r8d, eax
or r8d, edx
lock cmpxchg dword [rcx + 4], r8d
sete r8b
test r8b, r8b
jne 0x1401c322b
mov r8d, eax
and r8d, edx
jne 0x1401c322b
jmp 0x1401c432b
mov rcx, r11
mov esi, r10d
call qword [0x14037e008]
mov r10d, esi
mov r11, qword [rsp + 0x50]
xor r14d, r14d
jmp 0x1401c322b
cmp rcx, r8
jbe 0x1401c6323
imul r9, r8, 0x38
cmp byte [rax + r9], 0
je 0x1401c43b6
add rax, r9
mov rax, qword [rax + 0x10]
jmp 0x1401c43b8
mov rcx, r9
sub rcx, rax
mov r8, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0xb0]
sar rcx, 3
movabs rsi, 0x6db6db6db6db6db7
imul rcx, rsi
cmp r9, rax
jne 0x1401c436e
xor eax, eax
add rcx, rdx
sub rcx, r8
add rax, rdx
cmp rax, rcx
jb 0x1401c328a
mov rax, qword [r11]
mov rax, qword [rax + 0x58]
lea rcx, [0x14020c0e0]
cmp rax, rcx
jne 0x1401c448d
mov rcx, qword [r11 + 0x48]
test rcx, rcx
je 0x1401c328a
xor r10d, r10d
xor edx, edx
cmp byte [r11 + 0x24], 0
setne r10b
sete r9b
mov r8d, r10d
shl r8d, 4
lea r11d, [r8 + 0x13]
mov eax, 3
lock cmpxchg dword [rcx + 4], r11d
mov r11, qword [rsp + 0x50]
jne 0x1401c44a4
cmp byte [rbp + 0xa8], 0
je 0x1401c62f2
mov r13, qword [rbp + 0xb0]
mov rax, qword [rbp + 0x90]
sub rax, qword [rbp + 0x88]
sar rax, 3
imul rax, rsi
sub r13, qword [rbp + 0xa0]
add r13, rax
mov r14, qword [rbp + 0x38]
mov rax, qword [rbp + 0x58]
mov qword [rbp + 0x38], 0
mov rsi, qword [rbp + 0x60]
mov dword [rsp + 0x60], 0
mov r10, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x70]
movabs rdi, 0xaaaaaaaaaaaaaaaa
jmp 0x1401c32bf
mov rcx, r11
call qword [0x14037e008]
mov r11, qword [rsp + 0x50]
test al, al
jne 0x1401c4421
jmp 0x1401c328a
mov dl, r9b
mov r9d, 2
sub r9d, edx
inc edx
add r8d, 0x10
lea r10d, [r10*4 + 4]
mov dword [rsp + 0x60], r10d
mov r11d, r8d
mov edi, r11d
test al, 0x30
mov r11, qword [rsp + 0x50]
jne 0x1401c328a
mov r11d, eax
and r11d, r9d
mov r11, qword [rsp + 0x50]
je 0x1401c328a
cmp edi, r8d
jne 0x1401c4518
mov r10d, eax
mov r11d, dword [rsp + 0x60]
and r10d, edx
jne 0x1401c4518
mov edi, eax
or edi, r11d
lock cmpxchg dword [rcx + 4], edi
jne 0x1401c44c6
cmp r11d, r8d
mov r11, qword [rsp + 0x50]
je 0x1401c4421
jmp 0x1401c328a
mov r11d, edi
cmp edi, dword [rsp + 0x60]
jne 0x1401c44f9
mov r11d, eax
not r11d
test r11b, 3
mov r11d, dword [rsp + 0x60]
cmove r11d, r8d
jmp 0x1401c44f9
mov rcx, r11
mov edx, 1
call qword [0x14037e008]
jmp 0x1401c34c8
lea rcx, [fcn.1400daa40]
cmp rax, rcx
jne 0x1401c4536
mov rcx, r11
mov edx, 1
call fcn.1400daa40
jmp 0x1401c34c8
mov rax, qword [r11]
mov rax, qword [rax + 0xb0]
lea rcx, [0x1400e7dd0]
cmp rax, rcx
jne 0x1401c4549
lea rax, [0x1403019b0]
mov qword [r11], rax
mov rdi, qword [r11 + 0x18]
test rdi, rdi
je 0x1401c45e0
mov qword [r11 + 0x18], 0
lock dec dword [rdi]
jne 0x1401c45e0
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x1401c45b4
mov qword [rdi + 0x58], 0
lock dec dword [rcx + 8]
je 0x1401c45ed
mov rcx, qword [rdi + 0x50]
test rcx, rcx
je 0x1401c45cb
mov qword [rdi + 0x50], 0
lock dec dword [rcx + 8]
je 0x1401c4601
mov rax, qword [rdi + 8]
test al, 0x10
jne 0x1401c4615
mov rcx, rdi
call fcn.140153bcc
mov r11, qword [rsp + 0x50]
mov rcx, r11
call fcn.140153bcc
jmp 0x1401c34c8
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov edx, 1
call qword [0x14037e008]
jmp 0x1401c45b4
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov edx, 1
call qword [0x14037e008]
jmp 0x1401c45cb
lea rcx, [rdi + 8]
mov edx, 0x10
mov r8d, 0x40
call fcn.1401e1cf0
jmp 0x1401c45d3
mov rcx, qword [rsp + 0x3b8]
call fcn.140153bcc
jmp 0x1401c4713
lea rcx, [rsp + 0x388]
call fcn.1400eeb1c
jmp 0x1401c4722
cmp byte [rsp + 0x60], 0
jne 0x1401c47ba
mov r15, r9
mov rdi, r10
mov rax, qword [r14]
mov rax, qword [rax + 0x38]
lea rcx, [fcn.1401c6440]
cmp rax, rcx
jne 0x1401c4799
lea r12, [rsp + 0x2c0]
mov r8d, 0x108
mov rcx, r12
mov dl, 0xaa
call fcn.140159120
mov byte [r12], 1
lea rbx, [rsp + 0x2d0]
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx + 0x20], xmm0
mov qword [rbx - 8], 0x60
mov byte [rbx + 0x88], 0
mov qword [rbx + 0xa8], rbx
mov qword [rbx + 0xb0], 0x30
xor eax, eax
mov qword [rbx + 0xb8], rax
mov qword [rbx + 0xe0], rax
mov byte [rbx], 0x18
mov byte [rbx + 2], 0x16
mov dword [rbx + 0x18], 0x18
mov rax, qword [r14 + 0x18]
mov qword [rbx + 0x20], rax
mov rax, qword [rsp + 0x68]
mov qword [rbx + 0x28], rax
mov rcx, qword [r14 + 0x10]
mov rdx, r12
call fcn.1400d5e40
test byte [rbx + 0xe0], 1
jne 0x1401c462b
cmp qword [rsp + 0x388], 0
jne 0x1401c463d
cmp byte [rsp + 0x358], 0
mov ebx, dword [rsp + 0x7c]
je 0x1401c4760
mov rdx, qword [rsp + 0x360]
mov qword [rsp + 0x360], 0
test rdx, rdx
je 0x1401c4758
lea rcx, fcn.14013c1c0
xor r8d, r8d
call fcn.140135500
mov byte [rsp + 0x358], 0
cmp byte [rsp + 0x2c0], 0
mov r11, qword [rsp + 0x50]
mov r10, rdi
mov r9, r15
je 0x1401c47ba
test byte [rsp + 0x2c8], 1
je 0x1401c47ba
mov rcx, qword [rsp + 0x2d0]
call fcn.140153bcc
mov r9, r15
mov r10, rdi
mov r11, qword [rsp + 0x50]
jmp 0x1401c47ba
mov rcx, r14
mov rdx, qword [rsp + 0xa0]
mov r8, qword [rsp + 0x68]
call qword [0x14037e008]
mov r11, qword [rsp + 0x50]
mov r10, rdi
mov r9, r15
mov rax, qword [r14]
mov rax, qword [rax + 0xa0]
lea rcx, [fcn.1400ddfb0]
cmp rax, rcx
jne 0x1401c47fe
mov rcx, r14
mov rdi, r10
mov r15d, ebx
mov rbx, r9
call fcn.1400ddfb0
mov r9, rbx
mov ebx, r15d
mov r10, rdi
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov r11, qword [rsp + 0x50]
jmp 0x1401c338d
lea rcx, [fcn.140142b40]
cmp rax, rcx
jne 0x1401c63e8
mov rbx, qword [r14 + 0x18]
movzx edi, byte [r14 + 0x10]
lea r12, [rbx + 8]
mov rax, qword [rbx + 8]
test al, 0x19
jne 0x1401c48cc
mov rcx, rax
or rcx, 8
lock cmpxchg qword [r12], rcx
jne 0x1401c48cc
cmp edi, 1
je 0x1401c4860
test edi, edi
movabs rdi, 0xaaaaaaaaaaaaaaaa
jne 0x1401c4885
mov rcx, qword [rbx + 0x50]
test rcx, rcx
je 0x1401c4885
mov qword [rbx + 0x50], 0
jmp 0x1401c487b
mov rcx, qword [rbx + 0x58]
test rcx, rcx
movabs rdi, 0xaaaaaaaaaaaaaaaa
je 0x1401c4885
mov qword [rbx + 0x58], 0
lock dec dword [rcx + 8]
je 0x1401c4953
mov rax, qword [r12]
mov rcx, rax
xor rcx, 0xc
mov edx, ecx
and edx, 0x18
and ecx, 6
cmp rdx, rcx
mov ebx, dword [rsp + 0x7c]
jae 0x1401c48b4
mov rcx, rax
and rcx, 0xffffffffffffffd7
lock cmpxchg qword [r12], rcx
je 0x1401c338d
mov rcx, r12
xor edx, edx
mov rdi, r10
mov r15d, ebx
mov rbx, r9
call fcn.140102bcc
jmp 0x1401c47e1
mov qword [rsp + 0x70], r9
mov r15, r10
mov eax, dword [0x140358c00]
cmp eax, 0xdd
jne 0x1401c4945
mov ecx, dword [0x140358c04]
inc ecx
mov r11, qword [rsp + 0x50]
mov r10, r15
mov r9, qword [rsp + 0x70]
mov rax, qword [r12]
test al, 0x11
jne 0x1401c4909
test al, 8
je 0x1401c4930
dec ecx
cmp ecx, 1
jg 0x1401c48f6
lea rdx, [0x140304c88]
mov rcx, r12
xor r8d, r8d
xor r9d, r9d
call fcn.140100042
mov r9, qword [rsp + 0x70]
mov r10, r15
mov r11, qword [rsp + 0x50]
jmp 0x1401c483a
mov rdx, rax
or rdx, 8
lock cmpxchg qword [r12], rdx
je 0x1401c483a
jmp 0x1401c4902
lea rcx, [0x140358c00]
call fcn.140095b30
jmp 0x1401c48e1
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov edx, 1
mov rdi, r10
mov rbx, r9
call qword [0x14037e008]
mov r9, rbx
mov r10, rdi
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov r11, qword [rsp + 0x50]
jmp 0x1401c4885
mov rcx, qword [rax]
test rcx, rcx
jne 0x1401c49a6
mov rax, qword [rax + 8]
test rax, rax
je 0x1401c3104
mov rcx, qword [rax]
test rcx, rcx
je 0x1401c3104
lock inc dword [rcx + 8]
lock inc dword [rcx + 8]
lock dec dword [rcx + 8]
jne 0x1401c3106
mov rax, qword [rcx]
mov rax, qword [rax + 0xb0]
mov edx, 1
mov rdi, rcx
mov r15d, r10d
call qword [0x14037e008]
mov r10d, r15d
mov rcx, rdi
mov r11, qword [rsp + 0x50]
jmp 0x1401c3106
mov rax, qword [rsp + 0xe8]
lock dec dword [rax + 8]
jne 0x1401c3499
mov rcx, qword [rsp + 0xe8]
mov rax, qword [rcx]
mov rax, qword [rax + 0xb0]
mov edx, 1
mov rsi, r9
call qword [0x14037e008]
mov r9, rsi
mov r11, qword [rsp + 0x50]
jmp 0x1401c3499
lock dec dword [r9 + 8]
jne 0x1401c34b0
mov rax, qword [r9]
mov rax, qword [rax + 0xb0]
mov rcx, r9
mov edx, 1
call qword [0x14037e008]
mov r11, qword [rsp + 0x50]
jmp 0x1401c34b0
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rcx]
mov rax, qword [rax + 0xa0]
lea rdx, [fcn.1400ddfb0]
cmp rax, rdx
jne 0x1401c4aa2
mov rdi, r10
mov qword [rsp + 0x98], r13
mov r13, r9
call fcn.1400ddfb0
mov r9, r13
mov r13, qword [rsp + 0x98]
mov r10, rdi
mov r11, qword [rsp + 0x50]
movabs rdi, 0xaaaaaaaaaaaaaaaa
jmp 0x1401c3352
mov qword [rsp + 0x70], r9
mov rdi, r10
lea rdx, [fcn.140142b40]
cmp rax, rdx
jne 0x1401c4ad7
call fcn.140142b40
mov r11, qword [rsp + 0x50]
mov r10, rdi
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov r9, qword [rsp + 0x70]
jmp 0x1401c3352
call qword [0x14037e008]
jmp 0x1401c4abb
mov rax, qword [rsi]
mov rax, qword [rax + 0xb0]
mov rcx, rsi
mov edx, 1
call qword [0x14037e008]
mov r11, qword [rsp + 0x50]
jmp 0x1401c4b18
mov rsi, qword [rax]
test rsi, rsi
je 0x1401c3099
lock inc dword [rsi + 8]
lock inc dword [rsi + 8]
lock dec dword [rsi + 8]
je 0x1401c4adf
xor ebx, ebx
jmp 0x1401c309d
mov edx, 1
mov rsi, r9
call qword [0x14037e008]
jmp 0x1401c4b6c
mov rax, qword [rsp + 0xc8]
lock dec dword [rax + 8]
jne 0x1401c34a7
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rcx]
mov rax, qword [rax + 0xb0]
lea rdx, [fcn.1400daa40]
cmp rax, rdx
jne 0x1401c4b79
mov edx, 1
mov rsi, r9
call fcn.1400daa40
mov r9, rsi
mov r11, qword [rsp + 0x50]
jmp 0x1401c34a7
lea rdx, [0x1400e7dd0]
cmp rax, rdx
jne 0x1401c4b1f
mov rsi, r9
lea rax, [0x1403019b0]
mov qword [rcx], rax
mov rdi, qword [rcx + 0x18]
test rdi, rdi
je 0x1401c4bee
mov qword [rcx + 0x18], 0
lock dec dword [rdi]
jne 0x1401c4bee
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x1401c4bbf
mov qword [rdi + 0x58], 0
lock dec dword [rcx + 8]
je 0x1401c4c00
mov rcx, qword [rdi + 0x50]
test rcx, rcx
je 0x1401c4bd6
mov qword [rdi + 0x50], 0
lock dec dword [rcx + 8]
je 0x1401c4c14
mov rax, qword [rdi + 8]
test al, 0x10
jne 0x1401c4c28
mov rcx, rdi
call fcn.140153bcc
mov rcx, qword [rsp + 0xc8]
call fcn.140153bcc
mov r11, qword [rsp + 0x50]
mov r9, rsi
jmp 0x1401c34a7
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov edx, 1
call qword [0x14037e008]
jmp 0x1401c4bbf
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov edx, 1
call qword [0x14037e008]
jmp 0x1401c4bd6
lea rcx, [rdi + 8]
mov edx, 0x10
mov r8d, 0x40
call fcn.1401e1cf0
jmp 0x1401c4bde
mov r8d, dword [rbp + 0x1c]
test r8b, 1
jne 0x1401c31f9
cmp byte [rbp + 0x78], 0
je 0x1401c31f9
mov esi, r10d
mov rax, qword [rbp + 0x80]
mov r9, qword [rbp + 0x58]
mov r10, qword [rbp + 0x60]
mov rdx, r10
sub rdx, r9
sar rdx, 3
movabs rcx, 0x6db6db6db6db6db7
imul rcx, rdx
mov rdx, qword [rbp + 0x70]
cmp r10, r9
jne 0x1401c4cd7
xor r9d, r9d
add r9, rax
sub rax, rdx
add rax, rcx
cmp r9, rax
mov r10d, esi
jb 0x1401c31f9
or r8d, 1
mov dword [rbp + 0x1c], r8d
lea rcx, [rbp + 0x20]
lea rax, [rsp + 0x150]
mov qword [rsp + 0x20], rax
mov rdx, qword [rsp + 0xa0]
mov r9, rdi
call fcn.140136fde
mov r10d, esi
mov r11, qword [rsp + 0x50]
jmp 0x1401c31f9
cmp rcx, rdx
jbe 0x1401c6438
imul r10, rdx, 0x38
cmp byte [r9 + r10], 0
je 0x1401c4c89
add r9, r10
mov r9, qword [r9 + 0x10]
jmp 0x1401c4c8c
lea rcx, [rsp + 0x238]
mov rsi, r10
mov rdi, r9
call fcn.140133dce
mov r9, rdi
mov r10, rsi
mov r11, qword [rsp + 0x50]
jmp 0x1401c3474
mov rdx, qword [r13 + 0x70]
sub rcx, rax
sar rcx, 3
movabs r8, 0x6db6db6db6db6db7
imul rcx, r8
cmp rcx, rdx
jbe 0x1401c6312
imul rdx, rdx, 0x38
lea rcx, [rax + rdx]
cmp byte [rax + rdx], 0
je 0x1401c4d65
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x2d0], rax
cmp byte [rcx], 0
je 0x1401c3894
mov rax, qword [rcx + 0x18]
jmp 0x1401c3896
xor eax, eax
jmp 0x1401c4d4b
and rax, 0xfffffffffffffffe
mov rcx, qword [rsp + 0xb8]
lea rax, [rcx + rax*8]
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0xe0], r14
mov qword [rsp + 0x98], r13
mov r14, qword [rsp + 0xb8]
mov rcx, qword [r14]
mov rax, qword [r14 + 8]
mov qword [r14 + 8], 0
mov qword [rsp + 0x100], rax
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov rdx, qword [rsp + 0xa0]
lea r8, [rsp + 0x100]
mov rdi, r10
mov r13, r9
call qword [0x14037e008]
mov r9, r13
mov r13, qword [rsp + 0x98]
mov r10, rdi
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov r11, qword [rsp + 0x50]
add r14, 0x10
mov qword [rsp + 0xb8], r14
cmp r14, qword [rsp + 0xf8]
mov r14, qword [rsp + 0xe0]
je 0x1401c3349
jmp 0x1401c4d91
mov rax, rcx
mov qword [rsp + 0x60], rax
call fcn.1401c6642
mov rcx, qword [rsp + 0x60]
call fcn.140153bcc
jmp 0x1401c4eab
mov rcx, r14
mov qword [rsp + 0x68], r9
call fcn.1401c6642
mov rcx, r14
call fcn.140153bcc
mov r9, qword [rsp + 0x68]
mov r10d, dword [rsp + 0x5c]
mov r11, qword [rsp + 0x50]
jmp 0x1401c5150
mov rax, qword [rcx]
mov rax, qword [rax + 0xb0]
mov edx, 1
call qword [0x14037e008]
jmp 0x1401c4fa5
mov r15, r9
mov r14d, r10d
lea rcx, [rsp + 0x238]
lea rdx, [rsp + 0x2c0]
call fcn.140143664
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0x2c0]
mov rcx, qword [rax + 8]
test rcx, rcx
jne 0x1401c4e17
mov r11, qword [rsp + 0x50]
mov r10d, r14d
mov r9, r15
movabs r8, 0x6db6db6db6db6db7
jmp 0x1401c50ed
test r9, r9
je 0x1401c4f14
mov rcx, rbx
mov rdx, r15
mov r14d, r10d
mov r15, r9
call fcn.140133db0
mov r9, r15
mov r10d, r14d
mov r11, qword [rsp + 0x50]
mov rcx, r15
test al, al
je 0x1401c506c
jmp 0x1401c4f14
mov rsi, qword [rax]
jmp 0x1401c4f03
mov rax, qword [rbx + 8]
test rax, rax
jne 0x1401c4ef3
xor esi, esi
mov r15, qword [rbp + 0x58]
mov r14, qword [rbp + 0x60]
cmp r15, r14
jne 0x1401c5002
mov rcx, qword [rbp + 0x80]
mov rdx, qword [rbp + 0x88]
mov rax, qword [rbp + 0xb0]
mov r9, qword [rbp + 0x90]
cmp rdx, r9
jne 0x1401c4fbc
xor edx, edx
mov r8, qword [rbp + 0x48]
mov rbx, qword [r8 + 8]
test rbx, rbx
je 0x1401c31e0
cmp qword [rbx], 0
je 0x1401c31e0
cmp byte [rbx + 8], 0
je 0x1401c31e0
cmp byte [rbx + 0x20], 0
je 0x1401c31e0
cmp qword [rbx + 0x10], rcx
ja 0x1401c31e0
add rdx, rax
cmp qword [rbx + 0x28], rdx
ja 0x1401c31e0
mov esi, r10d
mov qword [r8 + 8], 0
mov rcx, qword [rbx]
test rcx, rcx
je 0x1401c4fa5
mov qword [rbx], 0
lock dec dword [rcx + 8]
je 0x1401c4e59
mov rcx, rbx
call fcn.140153bcc
mov bl, 1
mov r11, qword [rsp + 0x50]
mov r10d, esi
jmp 0x1401c31e2
mov esi, r10d
mov r8, qword [rbp + 0xa0]
sub r9, rdx
sar r9, 3
movabs r10, 0x6db6db6db6db6db7
imul r10, r9
cmp r10, r8
jbe 0x1401c6393
imul r8, r8, 0x38
cmp byte [rdx + r8], 0
mov r10d, esi
je 0x1401c4f39
add rdx, r8
mov rdx, qword [rdx + 0x10]
jmp 0x1401c4f3b
mov r9, qword [rbx]
mov rax, qword [rbp + 0x70]
movabs r8, 0x6db6db6db6db6db7
sub r14, r15
sar r14, 3
imul r14, r8
cmp r14, rax
jbe 0x1401c6396
imul rax, rax, 0x38
cmp byte [r15 + rax], 0
je 0x1401c4f14
mov r15, qword [rbp + 0x80]
test rsi, rsi
je 0x1401c4ec5
mov rcx, rbx
mov rdx, r15
mov r14, r9
call fcn.140133db0
mov r9, r14
mov r10d, dword [rsp + 0x5c]
mov r11, qword [rsp + 0x50]
mov rcx, rsi
test al, al
je 0x1401c4ec5
mov qword [rsp + 0x2c0], rcx
mov qword [rsp + 0x2c8], 0
mov rax, qword [rsp + 0x238]
mov r8d, 8
lea rdx, [rsp + 0x240]
test al, 1
je 0x1401c50aa
mov r8, qword [rsp + 0x248]
mov rdx, qword [rsp + 0x240]
shr rax, 1
cmp rax, r8
je 0x1401c4e73
shl rax, 4
mov r14, rdx
add r14, rax
movabs r8, 0x6db6db6db6db6db7
je 0x1401c6399
mov qword [rsp + 0x80], r14
mov qword [r14], rcx
mov qword [rdx + rax + 8], 0
add qword [rsp + 0x238], 2
mov r15, qword [rbp + 0x58]
mov r14, qword [rbp + 0x60]
cmp r15, r14
je 0x1401c4f14
mov rax, qword [rbp + 0x70]
mov rcx, r14
sub rcx, r15
sar rcx, 3
imul rcx, r8
cmp rcx, rax
jbe 0x1401c639c
imul rcx, rax, 0x38
cmp byte [r15 + rcx], 0
je 0x1401c5226
add r15, rcx
mov rax, qword [r15 + 8]
mov qword [r15 + 8], 0
mov rdx, qword [rsp + 0x80]
mov r14, qword [rdx + 8]
mov qword [rdx + 8], rax
test r14, r14
jne 0x1401c4e30
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0xa8], rax
inc rax
mov qword [rbp + 0x80], rax
mov rax, qword [rbp + 0x70]
lea rdx, [rax + 1]
mov r14, qword [rbp + 0x58]
mov r8, qword [rbp + 0x60]
mov qword [rsp + 0x60], r8
sub r8, r14
sar r8, 3
movabs rcx, 0x6db6db6db6db6db7
imul r8, rcx
cmp rdx, r8
jb 0x1401c527a
mov rcx, qword [rsp + 0x60]
sub rcx, r14
sar rcx, 3
movabs r8, 0x6db6db6db6db6db7
imul rcx, r8
cmp rcx, rax
jbe 0x1401c639f
imul rdx, rax, 0x38
cmp byte [r14 + rdx], 0
jne 0x1401c5234
mov rdx, qword [rsp + 0x60]
dec rcx
cmp rax, rcx
jb 0x1401c526f
mov r15, r14
cmp rdx, r14
je 0x1401c521c
add rdx, 0xffffffffffffffc8
test rdx, rdx
je 0x1401c63a2
cmp byte [rdx], 0
je 0x1401c520d
mov r15, qword [rdx + 8]
mov qword [rdx + 8], 0
test r15, r15
jne 0x1401c5380
mov byte [rdx], 0
lea rax, [rdx - 0x38]
cmp rdx, r14
mov rdx, rax
jne 0x1401c51e7
mov r15, qword [rdi]
mov qword [rbp + 0x60], r14
xor eax, eax
mov qword [rbp + 0x70], rax
cmp r15, r14
jne 0x1401c5013
jmp 0x1401c4f14
add r14, rdx
mov r15, qword [r14 + 8]
mov qword [r14 + 8], 0
test r15, r15
jne 0x1401c534d
mov byte [r14], 0
mov rax, qword [rbp + 0x70]
mov r14, qword [rbp + 0x58]
mov rdx, qword [rbp + 0x60]
mov rcx, rdx
sub rcx, r14
sar rcx, 3
imul rcx, r8
jmp 0x1401c51cf
inc rax
mov r15, r14
mov r14, rdx
jmp 0x1401c5222
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x68], r9
imul rdx, rdx, 0x38
cmp byte [r14 + rdx], 0
je 0x1401c52e8
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x40]
add r14, rdx
mov rdx, qword [r15 + 0x20]
mov qword [r14 + 0x20], rdx
mov r8, qword [r15 + 0x28]
mov qword [r14 + 0x28], r8
mov rdx, qword [r15 + 0x10]
dec rdx
mov qword [r14 + 0x10], rdx
mov r9, qword [r15 + 0x18]
sub r9, rax
mov qword [r14 + 0x18], r9
sub r8, rcx
mov rax, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x58]
mov r9, qword [rbp + 0x60]
mov qword [rsp + 0x60], r9
cmp r8, 2
jae 0x1401c52f7
mov r14, rcx
mov r11, qword [rsp + 0x50]
mov r9, qword [rsp + 0x68]
jmp 0x1401c519c
add rax, r8
mov r9, qword [rsp + 0x60]
sub r9, rcx
sar r9, 3
movabs r8, 0x6db6db6db6db6db7
imul r9, r8
cmp r9, rax
jbe 0x1401c63a5
imul rax, rax, 0x38
cmp byte [rcx + rax], 0
je 0x1401c62f2
add rcx, rax
mov qword [rcx + 0x10], rdx
mov rax, qword [r14 + 0x18]
mov qword [rcx + 0x18], rax
mov rax, qword [rbp + 0x70]
mov r14, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x60]
mov qword [rsp + 0x60], rcx
jmp 0x1401c52e8
mov rcx, r15
mov qword [rsp + 0x68], r9
call fcn.1401c6642
mov rcx, r15
call fcn.140153bcc
movabs r8, 0x6db6db6db6db6db7
mov r9, qword [rsp + 0x68]
mov r10d, dword [rsp + 0x5c]
mov r11, qword [rsp + 0x50]
jmp 0x1401c524c
mov rcx, r15
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x60], rdx
call fcn.1401c6642
mov rcx, r15
call fcn.140153bcc
mov rdx, qword [rsp + 0x60]
movabs r8, 0x6db6db6db6db6db7
mov r9, qword [rsp + 0x68]
mov r10d, dword [rsp + 0x5c]
mov r11, qword [rsp + 0x50]
jmp 0x1401c520a
mov rcx, rbx
call fcn.1401c6642
mov rcx, rbx
call fcn.140153bcc
jmp 0x1401c5418
mov rcx, rbx
call fcn.1401c6642
mov rcx, rbx
call fcn.140153bcc
mov rcx, qword [rsp + 0x88]
mov r11, qword [rsp + 0x50]
jmp 0x1401c5566
mov r12d, r10d
lea rcx, [rsp + 0x238]
lea rbx, [rsp + 0x2c0]
mov rdx, rbx
call fcn.140143664
mov rdi, rax
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x1401c53bd
mov r11, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x88]
mov r10d, r12d
jmp 0x1401c5500
test r14, r14
je 0x1401c3195
mov rcx, r13
mov rdx, rdi
mov edi, r10d
call fcn.140133db0
mov r10d, edi
mov rcx, qword [rsp + 0x88]
mov r11, qword [rsp + 0x50]
mov r9, r14
test al, al
je 0x1401c5491
jmp 0x1401c3195
mov rdi, qword [rbp + 0xb0]
test rsi, rsi
je 0x1401c542d
mov rcx, r13
mov rdx, rdi
mov ebx, r10d
call fcn.140133db0
mov r10d, ebx
mov rcx, qword [rsp + 0x88]
mov r11, qword [rsp + 0x50]
mov r9, rsi
test al, al
je 0x1401c542d
mov qword [rsp + 0x2c0], r9
mov qword [rsp + 0x2c8], 0
mov rax, qword [rsp + 0x238]
mov r8d, 8
lea rdx, [rsp + 0x240]
test al, 1
je 0x1401c54cf
mov r8, qword [rsp + 0x248]
mov rdx, qword [rsp + 0x240]
shr rax, 1
cmp rax, r8
je 0x1401c53f1
shl rax, 4
mov rdi, rdx
add rdi, rax
je 0x1401c62fa
mov qword [rdi], r9
mov qword [rdx + rax + 8], 0
add qword [rsp + 0x238], 2
mov r12, qword [rbp + 0x88]
mov rbx, qword [rbp + 0x90]
cmp r12, rbx
je 0x1401c3195
mov rax, qword [rbp + 0xa0]
mov rdx, rbx
sub rdx, r12
sar rdx, 3
imul rdx, r15
cmp rdx, rax
jbe 0x1401c62fd
imul rdx, rax, 0x38
cmp byte [r12 + rdx], 0
je 0x1401c566c
add r12, rdx
mov rax, qword [r12 + 8]
mov qword [r12 + 8], 0
mov rbx, qword [rdi + 8]
mov qword [rdi + 8], rax
test rbx, rbx
jne 0x1401c53cf
mov r10, qword [rbp + 0xb0]
lea rax, [r10 + 1]
mov qword [rbp + 0xb0], rax
mov rax, qword [rbp + 0xa0]
lea rdx, [rax + 1]
mov rbx, qword [rbp + 0x88]
mov r8, qword [rbp + 0x90]
mov r9, r8
sub r8, rbx
sar r8, 3
imul r8, r15
cmp rdx, r8
jb 0x1401c5685
mov r10d, dword [rsp + 0x5c]
mov rdi, r9
mov r8, rdi
sub r8, rbx
sar r8, 3
imul r8, r15
cmp r8, rax
jbe 0x1401c6300
imul rdx, rax, 0x38
cmp byte [rbx + rdx], 0
je 0x1401c560f
add rbx, rdx
mov rdi, qword [rbx + 8]
mov qword [rbx + 8], 0
test rdi, rdi
jne 0x1401c5747
mov byte [rbx], 0
mov rax, qword [rbp + 0xa0]
mov rbx, qword [rbp + 0x88]
mov rdi, qword [rbp + 0x90]
mov r8, rdi
sub r8, rbx
sar r8, 3
imul r8, r15
dec r8
cmp rax, r8
jb 0x1401c567a
mov r12, rbx
cmp rdi, rbx
je 0x1401c565c
add rdi, 0xffffffffffffffc8
test rdi, rdi
je 0x1401c6306
cmp byte [rdi], 0
je 0x1401c5649
mov r12, qword [rdi + 8]
mov qword [rdi + 8], 0
test r12, r12
jne 0x1401c576e
mov byte [rdi], 0
lea rax, [rdi - 0x38]
cmp rdi, rbx
mov rdi, rax
jne 0x1401c5623
mov r12, qword [rbp + 0x88]
mov qword [rbp + 0x90], rbx
xor eax, eax
mov qword [rbp + 0xa0], rax
cmp r12, rbx
jne 0x1401c3172
jmp 0x1401c3195
inc rax
mov r12, rbx
mov rbx, rdi
jmp 0x1401c5665
imul rdx, rdx, 0x38
cmp byte [rbx + rdx], 0
je 0x1401c55a8
mov rax, qword [rdi + 8]
mov rax, qword [rax + 0x40]
add rbx, rdx
mov rdx, qword [r12 + 0x20]
mov qword [rbx + 0x20], rdx
mov r8, qword [r12 + 0x28]
mov qword [rbx + 0x28], r8
mov rdx, qword [r12 + 0x10]
dec rdx
mov qword [rbx + 0x10], rdx
mov r9, qword [r12 + 0x18]
sub r9, rax
mov qword [rbx + 0x18], r9
sub r8, r10
mov rax, qword [rbp + 0xa0]
mov r9, qword [rbp + 0x88]
mov rdi, qword [rbp + 0x90]
cmp r8, 2
jae 0x1401c56f3
mov rbx, r9
mov r10d, dword [rsp + 0x5c]
jmp 0x1401c55b0
add rax, r8
sub rdi, r9
sar rdi, 3
imul rdi, r15
cmp rdi, rax
mov r10d, dword [rsp + 0x5c]
jbe 0x1401c6309
imul rax, rax, 0x38
cmp byte [r9 + rax], 0
je 0x1401c62f2
add r9, rax
mov qword [r9 + 0x10], rdx
mov rax, qword [rbx + 0x18]
mov qword [r9 + 0x18], rax
mov rax, qword [rbp + 0xa0]
mov rbx, qword [rbp + 0x88]
mov rdi, qword [rbp + 0x90]
jmp 0x1401c55b0
mov rcx, rdi
call fcn.1401c6642
mov rcx, rdi
call fcn.140153bcc
mov r10d, dword [rsp + 0x5c]
mov rcx, qword [rsp + 0x88]
mov r11, qword [rsp + 0x50]
jmp 0x1401c55e9
mov rcx, r12
call fcn.1401c6642
mov rcx, r12
call fcn.140153bcc
mov r10d, dword [rsp + 0x5c]
mov rcx, qword [rsp + 0x88]
mov r11, qword [rsp + 0x50]
jmp 0x1401c5646
mov rax, qword [rcx]
mov rax, qword [rax + 0xb0]
mov edx, 1
call qword [0x14037e008]
jmp 0x1401c581f
mov r14, qword [rax + 8]
test r14, r14
je 0x1401c31ef
cmp qword [r14], 0
je 0x1401c31ef
cmp byte [r14 + 8], 0
je 0x1401c31ef
cmp byte [r14 + 0x20], 0
je 0x1401c31ef
mov rcx, qword [rbp + 0x80]
cmp qword [r14 + 0x10], rcx
ja 0x1401c31ef
mov rcx, qword [rbp + 0xb0]
cmp qword [r14 + 0x28], rcx
ja 0x1401c31ef
mov esi, r10d
mov qword [rax + 8], 0
mov rcx, qword [r14]
test rcx, rcx
je 0x1401c581f
mov qword [r14], 0
lock dec dword [rcx + 8]
je 0x1401c5795
mov rcx, r14
call fcn.140153bcc
mov r14, qword [rbp + 0x50]
mov qword [rbp + 0x50], 0
test r14, r14
mov r11, qword [rsp + 0x50]
mov r10d, esi
je 0x1401c31ef
mov rdx, qword [r14 + 8]
mov qword [r14 + 8], 0
test rdx, rdx
jne 0x1401c5896
mov rcx, qword [r14]
test rcx, rcx
jne 0x1401c5872
mov rcx, r14
call fcn.140153bcc
mov r11, qword [rsp + 0x50]
mov r10d, esi
jmp 0x1401c31ef
mov qword [r14], 0
lock dec dword [rcx + 8]
jne 0x1401c585d
mov rax, qword [rcx]
mov rax, qword [rax + 0xb0]
mov edx, 1
call qword [0x14037e008]
jmp 0x1401c585d
lea rcx, [r14 + 0x10]
call fcn.14020c628
jmp 0x1401c5855
mov byte [rdi + 0xa1], 1
mov dword [rsp + 0x140], 4
mov r13, rsi
or byte [rsp + 0x13c], 4
cmp dword [rdi + 0x10], 1
mov rsi, qword [rsp + 0x90]
jne 0x1401c3b32
mov eax, 4
xor ecx, ecx
jmp 0x1401c3918
mov dword [rsp + 0x140], 0x16
mov rax, qword [rdi + 0x38]
mov rax, qword [rax + 0x10]
mov rax, qword [rax + 0x18]
cmp rax, qword [rdi + 0x48]
jne 0x1401c5908
cmp qword [rsp + 0x2d0], 0
je 0x1401c3b32
or byte [rsp + 0x13c], 2
jmp 0x1401c3b32
mov rax, rcx
mov qword [rsp + 0x60], rax
call fcn.1401c6642
mov rcx, qword [rsp + 0x60]
call fcn.140153bcc
jmp 0x1401c5986
mov rcx, rsi
mov qword [rsp + 0x68], r9
call fcn.1401c6642
mov rcx, rsi
call fcn.140153bcc
mov r9, qword [rsp + 0x68]
mov r10d, dword [rsp + 0x5c]
mov r11, qword [rsp + 0x50]
jmp 0x1401c5b53
mov r14, r9
mov esi, r10d
lea rcx, [rsp + 0x238]
lea rdx, [rsp + 0x2c0]
call fcn.140143664
mov rbx, rax
lea rax, [rsp + 0x2c0]
mov rcx, qword [rax + 8]
test rcx, rcx
jne 0x1401c5915
mov r11, qword [rsp + 0x50]
mov r10d, esi
mov r9, r14
movabs r8, 0x6db6db6db6db6db7
jmp 0x1401c5af8
xor ebx, ebx
mov r11, qword [rsp + 0x50]
mov r10d, dword [rsp + 0x5c]
jmp 0x1401c31e2
mov rsi, qword [rsp + 0x80]
test rsi, rsi
je 0x1401c59a0
mov rbx, r9
mov rcx, r15
mov rdx, r14
call fcn.140133db0
test al, al
mov r11, qword [rsp + 0x50]
mov r10d, dword [rsp + 0x5c]
mov r9, rbx
je 0x1401c5a7f
jmp 0x1401c31e0
mov r9, qword [rax]
jmp 0x1401c59fb
mov r15, qword [rbp + 0x50]
mov rax, qword [r15 + 8]
test rax, rax
jne 0x1401c59e6
xor r9d, r9d
mov r14, qword [rbp + 0x58]
mov rsi, qword [rbp + 0x60]
cmp r14, rsi
je 0x1401c31e0
mov rcx, qword [r15]
mov rax, qword [rbp + 0x70]
movabs r8, 0x6db6db6db6db6db7
sub rsi, r14
sar rsi, 3
imul rsi, r8
cmp rsi, rax
jbe 0x1401c63d6
imul rax, rax, 0x38
cmp byte [r14 + rax], 0
je 0x1401c31e0
mov qword [rsp + 0x80], rcx
mov r14, qword [rbp + 0x80]
test r9, r9
je 0x1401c59b1
mov rcx, r15
mov rdx, r14
mov esi, r10d
mov rbx, r9
call fcn.140133db0
mov r9, rbx
mov r10d, esi
mov r11, qword [rsp + 0x50]
mov rsi, rbx
test al, al
je 0x1401c59b1
mov qword [rsp + 0x2c0], rsi
mov qword [rsp + 0x2c8], 0
mov rax, qword [rsp + 0x238]
mov r8d, 8
lea rdx, [rsp + 0x240]
test al, 1
je 0x1401c5abd
mov r8, qword [rsp + 0x248]
mov rdx, qword [rsp + 0x240]
shr rax, 1
cmp rax, r8
je 0x1401c5957
shl rax, 4
mov rbx, rdx
add rbx, rax
movabs r8, 0x6db6db6db6db6db7
je 0x1401c63d9
mov qword [rbx], rsi
mov qword [rdx + rax + 8], 0
add qword [rsp + 0x238], 2
mov r14, qword [rbp + 0x58]
mov rsi, qword [rbp + 0x60]
cmp r14, rsi
je 0x1401c31e0
mov rax, qword [rbp + 0x70]
mov rcx, rsi
sub rcx, r14
sar rcx, 3
imul rcx, r8
cmp rcx, rax
jbe 0x1401c63dc
imul rcx, rax, 0x38
cmp byte [r14 + rcx], 0
je 0x1401c5dc4
add r14, rcx
mov rax, qword [r14 + 8]
mov qword [r14 + 8], 0
mov rsi, qword [rbx + 8]
mov qword [rbx + 8], rax
test rsi, rsi
jne 0x1401c592e
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0xa8], rax
inc rax
mov qword [rbp + 0x80], rax
mov rax, qword [rbp + 0x70]
lea rdx, [rax + 1]
mov rsi, qword [rbp + 0x58]
mov r8, qword [rbp + 0x60]
mov qword [rsp + 0x60], r8
sub r8, rsi
sar r8, 3
movabs rcx, 0x6db6db6db6db6db7
imul r8, rcx
cmp rdx, r8
jb 0x1401c5cb6
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
sub rcx, rsi
sar rcx, 3
movabs r8, 0x6db6db6db6db6db7
imul rcx, r8
cmp rcx, rax
jbe 0x1401c63df
imul rdx, rax, 0x38
cmp byte [rsi + rdx], 0
je 0x1401c5c04
add rsi, rdx
mov rbx, qword [rsi + 8]
mov qword [rsi + 8], 0
test rbx, rbx
jne 0x1401c5d95
mov byte [rsi], 0
mov rax, qword [rbp + 0x70]
mov rsi, qword [rbp + 0x58]
mov rbx, qword [rbp + 0x60]
mov rcx, rbx
sub rcx, rsi
sar rcx, 3
imul rcx, r8
dec rcx
cmp rax, rcx
jb 0x1401c5ca3
mov r14, rsi
cmp rbx, rsi
mov rcx, qword [rsp + 0x80]
je 0x1401c5c89
add rbx, 0xffffffffffffffc8
test rbx, rbx
je 0x1401c63e2
cmp byte [rbx], 0
je 0x1401c5c7a
mov qword [rsp + 0x68], r9
mov rax, rbx
mov rbx, qword [rbx + 8]
mov r14, rax
mov qword [rax + 8], 0
test rbx, rbx
jne 0x1401c5d80
mov rbx, r14
mov byte [r14], 0
mov r11, qword [rsp + 0x50]
mov r10d, dword [rsp + 0x5c]
mov r9, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x80]
movabs r8, 0x6db6db6db6db6db7
lea rax, [rbx - 0x38]
cmp rbx, rsi
mov rbx, rax
jne 0x1401c5c24
mov r14, qword [rdi]
mov qword [rbp + 0x60], rsi
xor eax, eax
mov qword [rbp + 0x70], rax
xor ebx, ebx
cmp r14, rsi
jne 0x1401c5a1d
jmp 0x1401c31e2
inc rax
mov r14, rsi
mov rsi, rbx
mov rcx, qword [rsp + 0x80]
jmp 0x1401c5c8f
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x68], r9
imul rdx, rdx, 0x38
cmp byte [rsi + rdx], 0
je 0x1401c5d1b
mov rax, qword [rbx + 8]
mov rax, qword [rax + 0x40]
add rsi, rdx
mov rdx, qword [r14 + 0x20]
mov qword [rsi + 0x20], rdx
mov r8, qword [r14 + 0x28]
mov qword [rsi + 0x28], r8
mov rdx, qword [r14 + 0x10]
dec rdx
mov qword [rsi + 0x10], rdx
mov r9, qword [r14 + 0x18]
sub r9, rax
mov qword [rsi + 0x18], r9
sub r8, rcx
mov rax, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x58]
mov r9, qword [rbp + 0x60]
mov qword [rsp + 0x60], r9
cmp r8, 2
jae 0x1401c5d2a
mov rsi, rcx
mov r11, qword [rsp + 0x50]
mov r9, qword [rsp + 0x68]
jmp 0x1401c5b9f
add rax, r8
mov r9, qword [rsp + 0x60]
sub r9, rcx
sar r9, 3
movabs r8, 0x6db6db6db6db6db7
imul r9, r8
cmp r9, rax
jbe 0x1401c63e5
imul rax, rax, 0x38
cmp byte [rcx + rax], 0
je 0x1401c62f2
add rcx, rax
mov qword [rcx + 0x10], rdx
mov rax, qword [rsi + 0x18]
mov qword [rcx + 0x18], rax
mov rax, qword [rbp + 0x70]
mov rsi, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x60]
mov qword [rsp + 0x60], rcx
jmp 0x1401c5d1b
mov rcx, rbx
call fcn.1401c6642
mov rcx, rbx
call fcn.140153bcc
jmp 0x1401c5c52
mov rcx, rbx
mov r14, r9
call fcn.1401c6642
mov rcx, rbx
call fcn.140153bcc
movabs r8, 0x6db6db6db6db6db7
mov r9, r14
mov r10d, dword [rsp + 0x5c]
mov r11, qword [rsp + 0x50]
jmp 0x1401c5be7
mov rcx, qword [rsp + 0x80]
jmp 0x1401c5c93
lock dec dword [r10 + 8]
jne 0x1401c347d
mov rax, qword [r10]
mov rax, qword [rax + 0xb0]
mov rcx, r10
mov edx, 1
mov rsi, r9
call qword [0x14037e008]
mov r9, rsi
mov r11, qword [rsp + 0x50]
jmp 0x1401c347d
mov rcx, rbp
mov rdx, qword [rsp + 0xa0]
mov rdi, r10
mov r15d, ebx
mov rbx, r9
call fcn.140133e6e
mov r9, rbx
mov ebx, r15d
mov r10, rdi
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov r11, qword [rsp + 0x50]
jmp 0x1401c3384
lea rcx, [0x140358c00]
call fcn.140095b30
jmp 0x1401c5e5d
mov qword [rsp + 0xb8], r9
mov eax, dword [0x140358c00]
cmp eax, 0xdd
jne 0x1401c5e3a
mov ecx, dword [0x140358c04]
inc ecx
mov ebx, dword [rsp + 0x7c]
mov r9, qword [rsp + 0xb8]
mov rax, qword [r9]
test al, 0x11
jne 0x1401c5e83
test al, 8
je 0x1401c5ea5
dec ecx
cmp ecx, 1
jg 0x1401c5e71
lea rdx, [0x140304c88]
mov rcx, r9
xor r8d, r8d
xor r9d, r9d
call fcn.140100042
mov r9, qword [rsp + 0xb8]
jmp 0x1401c384f
mov rdx, rax
or rdx, 8
lock cmpxchg qword [r9], rdx
je 0x1401c384f
jmp 0x1401c5e7c
mov r8d, edx
not r8d
and r8d, eax
lock cmpxchg dword [rcx + 4], r8d
jne 0x1401c3429
jmp 0x1401c5f75
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov edx, 1
call qword [0x14037e008]
jmp 0x1401c5f6b
mov r8d, edx
not r8d
and r8d, eax
lock cmpxchg dword [rcx + 0x14], r8d
jne 0x1401c35b4
mov ebp, ebx
mov rbx, r13
mov r13, r9
mov r15, r14
mov rsi, r10
lea r14, [rsp + 0x2c0]
mov qword [r14], rdi
mov rcx, qword [r11 + 0x18]
cmp byte [r11 + 0x10], 0
sete r8b
mov rdx, r14
call fcn.1401bc22c
mov rcx, qword [r14]
test rcx, rcx
je 0x1401c5f6b
mov rdx, qword [rsp + 0xa0]
mov r8d, 1
call fcn.1401c2f8a
mov rcx, qword [rsp + 0x2c0]
test rcx, rcx
je 0x1401c5f6b
mov qword [rsp + 0x2c0], 0
lock dec dword [rcx + 8]
je 0x1401c5ed3
mov r11, qword [rsp + 0x50]
mov r10, rsi
jmp 0x1401c5ff4
mov ebp, ebx
mov rbx, r13
mov r13, r9
mov r15, r14
mov rdi, r10
lea r14, [rsp + 0x2c0]
mov r8d, 0x108
mov rcx, r14
mov dl, 0xaa
call fcn.140159120
mov rcx, r14
call fcn.1400de30c
mov rax, qword [r14 + 0xb8]
movzx ecx, byte [rax]
cmp qword [r14 + 0xc0], rcx
jbe 0x1401c62f2
mov rsi, qword [rsp + 0x50]
mov rdx, qword [rsi + 0x18]
mov qword [rax + rcx + 8], rdx
mov rcx, qword [rsi + 0x10]
lea r14, [rsp + 0x2c0]
mov rdx, r14
call fcn.1400d5e40
mov rcx, r14
call fcn.1401c193a
mov r11, rsi
mov r10, rdi
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov r14, r15
mov r9, r13
mov r13, rbx
mov ebx, ebp
jmp 0x1401c3442
mov rax, qword [r10]
mov rax, qword [rax + 0x38]
mov rcx, r10
mov rdx, qword [rsp + 0xa0]
mov r8, qword [rsp + 0xd0]
mov rsi, r10
mov r15d, ebx
mov rbx, r9
call qword [0x14037e008]
mov r9, rbx
mov ebx, r15d
mov r10, rsi
mov r11, qword [rsp + 0x50]
jmp 0x1401c33b1
lock dec dword [r12 + 8]
jne 0x1401c34b8
mov rax, qword [r12]
mov rax, qword [rax + 0xb0]
mov rcx, r12
mov edx, 1
call qword [0x14037e008]
mov r11, qword [rsp + 0x50]
jmp 0x1401c34b8
mov rcx, rbp
mov rdx, qword [rsp + 0xa0]
mov rsi, r10
mov ebp, ebx
mov rbx, r9
call fcn.14014a99e
mov r9, rbx
mov ebx, ebp
mov r10, rsi
mov r11, qword [rsp + 0x50]
test r11, r11
je 0x1401c3442
test al, al
jne 0x1401c3442
jmp 0x1401c33df
mov rcx, qword [rsp + 0x158]
mov qword [rsp + 0xd8], rcx
jmp 0x1401c3452
lea rcx, [r13 + 0x48]
lea r8, [rbp + 0x28]
lea rbx, [rsp + 0x2c0]
movaps xmmword [rbx], xmm6
mov rdx, rbx
call fcn.1400640f0
mov r8, qword [rbx]
mov r9, qword [rbx + 8]
lea rcx, [r13 + 0x50]
lea rdx, [rsp + 0x128]
call fcn.140064160
cmp byte [rbp + 0x51], 0
jne 0x1401c6134
mov byte [rbp + 0x51], 1
movabs rax, 0x100000020
lea r8, [rsp + 0x2c0]
mov qword [r8], rax
mov rax, qword [rbp + 0x28]
mov qword [r8 + 8], rax
mov qword [r8 + 0x10], 1
mov dword [r8 + 0x18], 0
mov rcx, r13
mov rdx, rbp
call fcn.1400fbb70
mov rax, qword [r13 + 0x50]
mov qword [r13 + 0x68], rax
mov ebx, dword [rsp + 0x7c]
movabs rdi, 0xaaaaaaaaaaaaaaaa
jmp 0x1401c3a38
mov r15, r9
mov rdi, r10
cmp byte [rsp + 0xa8], 0
jne 0x1401c6180
mov rcx, r13
mov rax, qword [r13]
mov rax, qword [rax + 0x38]
mov rdx, qword [rsp + 0xa0]
mov r8, qword [rsp + 0xd0]
call qword [0x14037e008]
mov rax, qword [r13]
mov rax, qword [rax + 0xa0]
mov rcx, r13
call qword [0x14037e008]
mov r11, qword [rsp + 0x50]
mov ebx, dword [rsp + 0x7c]
mov r10, rdi
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov r9, r15
jmp 0x1401c3396
xor edx, edx
mov rdi, r10
mov qword [rsp + 0x98], r13
mov r13, r9
call fcn.140102bcc
mov r9, r13
mov r13, qword [rsp + 0x98]
mov r10, rdi
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov r11, qword [rsp + 0x50]
jmp 0x1401c3323
lock dec dword [r13 + 8]
jne 0x1401c348b
mov rax, qword [r13]
mov rax, qword [rax + 0xb0]
mov rcx, r13
mov edx, 1
mov rsi, r9
call qword [0x14037e008]
mov r9, rsi
mov r11, qword [rsp + 0x50]
jmp 0x1401c348b
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1401c3a26
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1401c37a9
mov rcx, r9
xor edx, edx
call fcn.140102bcc
jmp 0x1401c38cb
mov rcx, r11
mov rdx, qword [rsp + 0xa0]
mov rsi, r10
mov ebp, ebx
mov rbx, r9
call qword [0x14037e008]
mov r9, rbx
mov ebx, ebp
mov r10, rsi
mov r11, qword [rsp + 0x50]
jmp 0x1401c3442
lea rcx, [0x140360b50]
call fcn.1401547b8
cmp dword [0x140360b50], 0xffffffff
jne 0x1401c37fa
cmp qword [0x140353098], 0x87
jbe 0x1401c6315
lea rcx, [0x140353098]
lea rdx, [0x140307810]
mov r8d, 0x88
call fcn.140158a70
lea rcx, [0x140360b50]
call fcn.140153cf4
mov ebx, dword [rsp + 0x7c]
jmp 0x1401c37fa
lea rcx, [rsp + 0x108]
call qword [0x14037e008]
mov r14, rsi
mov r13, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x90]
jmp 0x1401c39b6
ud2
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
xor r14d, r14d
jmp 0x1401c32af
int3
int3
int3
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
movabs rdi, 0xaaaaaaaaaaaaaaaa
jmp 0x1401c635e
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov r13, rsi
mov rsi, qword [rsp + 0x90]
jmp 0x1401c3950
mov rax, qword [r14]
mov rax, qword [rax + 0xb0]
mov rcx, r14
mov edx, 1
mov rsi, r9
call qword [0x14037e008]
mov r9, rsi
mov r11, qword [rsp + 0x50]
jmp 0x1401c3482
int3
int3
int3
int3
int3
int3
int3
lea rcx, [rdi + 0x18]
mov rbx, qword [rdi + 0x10]
call fcn.140257310
movabs rcx, 0xff00000000000000
and rcx, rbx
lea rbx, [rsp + 0x2c0]
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x1401c3bf0
int3
int3
int3
int3
int3
int3
mov rcx, r14
mov rdi, r10
mov rbx, r9
call qword [0x14037e008]
mov r9, rbx
mov r10, rdi
mov r11, qword [rsp + 0x50]
mov ebx, dword [rsp + 0x7c]
movabs rdi, 0xaaaaaaaaaaaaaaaa
jmp 0x1401c338d
lea r9, [rsp + 0x2c0]
mov rcx, r13
xor edx, edx
xor r8d, r8d
call qword [0x14037e008]
test eax, eax
je 0x1401c38cb
jmp 0x1401c6343
int3