Function at 0x1400e0cec
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, 0x1e8
movaps xmmword [rsp + 0x1d0], xmm6
mov r12, r9
mov r15, r8
mov ebp, edx
mov rbx, rcx
mov rax, qword [0x140346038]
xor rax, rsp
mov qword [rsp + 0x1c8], rax
lea rsi, [rsp + 0xe8]
mov r8d, 0xe0
mov rcx, rsi
mov dl, 0xaa
call fcn.140159120
mov qword [rsi - 8], 0
lea rdi, [rbx + 0x10]
mov rax, qword [rbx + 0x10]
test al, 0x19
jne 0x1400e130e
mov rcx, rax
or rcx, 8
lock cmpxchg qword [rdi], rcx
jne 0x1400e130e
mov rax, qword [rbx + 0x58]
mov rcx, qword [rbx + 0x60]
cmp rax, rcx
je 0x1400e0f9b
mov rdx, qword [rbx + 0x70]
sub rcx, rax
sar rcx, 3
movabs r13, 0x6db6db6db6db6db7
imul rcx, r13
sub rcx, rdx
jbe 0x1400e1383
imul r8, rdx, 0x38
cmp byte [rax + r8], 0
je 0x1400e1365
mov rcx, qword [rsp + 0x258]
test r12, r12
jne 0x1400e0f69
xor edx, edx
test rcx, rcx
jne 0x1400e1386
xor r9d, r9d
mov esi, 3
test r15, r15
jne 0x1400e0dda
test rdx, rdx
jne 0x1400e0faa
mov r11, qword [rsp + 0x250]
test r11, r11
jne 0x1400e0df0
test r9, r9
jne 0x1400e0faa
mov r10, qword [rbx + 0xb8]
test r10, r10
jne 0x1400e13e7
add rax, r8
mov r10, qword [rax + 8]
mov r8, qword [r10 + 0x40]
test bpl, 1
je 0x1400e1406
cmp rdx, r8
cmovb r8, rdx
mov r10, qword [r10 + 0x48]
test r10, r10
je 0x1400e1396
mov r14, qword [r10 + 0x20]
cmp r9, r14
cmovb r14, r9
test r12, r12
jne 0x1400e0f72
test rcx, rcx
jne 0x1400e138e
cmp rdx, r8
setae cl
cmp r9, r14
setae dl
test bpl, 1
jne 0x1400e0e60
and cl, dl
je 0x1400e1666
test r8, r8
jne 0x1400e0f7b
mov rcx, qword [rbx + 0x58]
mov rdx, qword [rbx + 0x60]
cmp rcx, rdx
je 0x1400e1379
mov rax, qword [rbx + 0x70]
sub rdx, rcx
sar rdx, 3
imul rdx, r13
cmp rdx, rax
jbe 0x1400e139e
imul rax, rax, 0x38
cmp byte [rcx + rax], 0
je 0x1400e1379
add rcx, rax
mov r15, qword [rcx + 8]
mov qword [rcx + 8], 0
mov rdx, qword [rbx + 0x80]
lea rax, [rdx + 1]
mov qword [rbx + 0x80], rax
mov rax, qword [rbx + 0x70]
lea r8, [rax + 1]
mov r12, qword [rbx + 0x58]
mov rbp, qword [rbx + 0x60]
mov r9, rbp
sub r9, r12
sar r9, 3
imul r9, r13
cmp r8, r9
jb 0x1400e1203
mov rcx, rbp
sub rcx, r12
sar rcx, 3
imul rcx, r13
cmp rcx, rax
jbe 0x1400e13a1
imul rdx, rax, 0x38
cmp byte [r12 + rdx], 0
je 0x1400e0f43
add r12, rdx
mov rsi, qword [r12 + 8]
mov qword [r12 + 8], 0
test rsi, rsi
jne 0x1400e16f9
mov byte [r12], 0
mov rax, qword [rbx + 0x70]
mov r12, qword [rbx + 0x58]
mov rbp, qword [rbx + 0x60]
mov rcx, rbp
sub rcx, r12
sar rcx, 3
imul rcx, r13
dec rcx
cmp rax, rcx
jb 0x1400e0f96
cmp rbp, r12
je 0x1400e0fdc
add rbp, 0xffffffffffffffc8
je 0x1400e13b3
cmp byte [rbp], 0
je 0x1400e0f4b
jmp 0x1400e16c5
mov rdx, qword [r12]
jmp 0x1400e0dbb
mov qword [r12], r8
jmp 0x1400e0e3d
mov rax, qword [rax + 8]
mov rdx, qword [rax + 0x38]
mov rcx, r15
mov rsi, r11
call fcn.140158a70
mov r11, rsi
jmp 0x1400e0e69
inc rax
jmp 0x1400e0fe2
mov esi, 0xe
cmp byte [rbx + 0x78], 0
jne 0x1400e11a9
mov rax, qword [rdi]
mov rcx, rax
xor rcx, 0xc
mov edx, ecx
and edx, 0x18
and ecx, 6
cmp rdx, rcx
jae 0x1400e12d2
mov rcx, rax
and rcx, 0xffffffffffffffd7
lock cmpxchg qword [rdi], rcx
je 0x1400e1102
jmp 0x1400e12d2
mov qword [rbx + 0x60], r12
xor eax, eax
mov qword [rbx + 0x70], rax
mov rax, qword [r15 + 0x48]
test rax, rax
je 0x1400e13de
mov rcx, qword [rax + 0x18]
mov rdx, qword [rax + 0x20]
test r14, r14
jne 0x1400e13b6
test rax, rax
je 0x1400e1022
mov rcx, qword [rax + 0x20]
sub rcx, r14
jb 0x1400e1381
shl r14, 3
add qword [rax + 0x18], r14
mov qword [rax + 0x20], rcx
mov rax, qword [rbx + 0x58]
mov r9, qword [rbx + 0x60]
cmp rax, r9
jne 0x1400e115b
cmp byte [rbx + 0x78], 0
jne 0x1400e11c4
mov rsi, qword [rbx + 0x20]
cmp rsi, qword [rbx + 0x28]
je 0x1400e1095
lea rcx, [rbx + 0x58]
mov r14d, dword [rbx + 0x1c]
lea ebp, [r14 + r14]
mov eax, dword [rsi + 8]
mov edx, eax
and edx, ebp
and edx, 2
lea r12d, [rdx + 4]
test al, 4
cmove r12d, edx
test r14b, 2
cmove r12d, edx
test al, 8
jne 0x1400e169b
test al, 0x10
jne 0x1400e1476
test r12d, r12d
jne 0x1400e1493
add rsi, 0x30
mov r8, qword [rbx + 0x28]
cmp rsi, r8
jne 0x1400e1053
mov rsi, qword [rsp + 0x260]
mov rax, qword [rdi]
mov rcx, rax
xor rcx, 0xc
mov edx, ecx
and edx, 0x18
and ecx, 6
cmp rdx, rcx
jae 0x1400e12c3
mov rcx, rax
and rcx, 0xffffffffffffffd7
lock cmpxchg qword [rdi], rcx
jne 0x1400e12c3
test rsi, rsi
je 0x1400e1189
mov ecx, 0x20
call fcn.140153bd4
movabs rcx, 0x400000001
mov qword [rax + 8], rcx
lea rcx, fcn.1401bf420
mov qword [rax], rcx
mov qword [rax + 0x10], r15
mov byte [rax + 0x18], 0
mov qword [rsi], rax
xor esi, esi
mov rax, qword [rsp + 0xe0]
test al, 1
jne 0x1400e12e1
lea r15, [rsp + 0xe8]
cmp rax, 2
jae 0x1400e194c
test rax, rax
jne 0x1400e12ee
mov rcx, qword [rsp + 0x1c8]
xor rcx, rsp
call fcn.140156fe0
mov eax, esi
movaps xmm6, xmmword [rsp + 0x1d0]
add rsp, 0x1e8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rbx + 0x70]
mov rdx, r9
sub rdx, rax
sar rdx, 3
imul rdx, r13
cmp rdx, rcx
jbe 0x1400e21f0
imul rcx, rcx, 0x38
cmp byte [rax + rcx], 0
jne 0x1400e103d
jmp 0x1400e1033
xor esi, esi
test r15, r15
je 0x1400e1102
mov rcx, r15
call fcn.1401c6642
mov rcx, r15
call fcn.140153bcc
jmp 0x1400e1102
mov rax, qword [rbx + 0x80]
xor ecx, ecx
cmp rax, qword [rbx + 0x70]
setb cl
lea esi, [rcx + rcx*8]
add esi, 5
jmp 0x1400e0faa
mov rcx, r9
sub rcx, rax
mov r8, qword [rbx + 0x70]
mov rdx, qword [rbx + 0x80]
sar rcx, 3
imul rcx, r13
cmp r9, rax
jne 0x1400e12a6
xor eax, eax
add rcx, rdx
sub rcx, r8
add rax, rdx
cmp rax, rcx
jb 0x1400e103d
or byte [rbx + 0x1c], 3
jmp 0x1400e103d
imul r8, r8, 0x38
cmp byte [r12 + r8], 0
je 0x1400e0ee8
mov rax, qword [r15 + 0x40]
add r12, r8
mov r8, qword [rcx + 0x20]
mov qword [r12 + 0x20], r8
mov r9, qword [rcx + 0x28]
mov qword [r12 + 0x28], r9
mov r8, qword [rcx + 0x10]
dec r8
mov qword [r12 + 0x10], r8
mov rcx, qword [rcx + 0x18]
sub rcx, rax
mov qword [r12 + 0x18], rcx
sub r9, rdx
mov rax, qword [rbx + 0x70]
mov rcx, qword [rbx + 0x58]
mov rbp, qword [rbx + 0x60]
cmp r9, 2
jae 0x1400e1260
mov r12, rcx
jmp 0x1400e0ee8
add rax, r9
sub rbp, rcx
sar rbp, 3
imul rbp, r13
cmp rbp, rax
jbe 0x1400e21f3
imul rax, rax, 0x38
cmp byte [rcx + rax], 0
je 0x1400e1381
add rcx, rax
mov qword [rcx + 0x10], r8
mov rax, qword [r12 + 0x18]
mov qword [rcx + 0x18], rax
mov rax, qword [rbx + 0x70]
mov r12, qword [rbx + 0x58]
mov rbp, qword [rbx + 0x60]
jmp 0x1400e0ee8
cmp rcx, r8
jbe 0x1400e2259
imul r9, r8, 0x38
cmp byte [rax + r9], 0
je 0x1400e11e6
jmp 0x1400e225c
mov rcx, rdi
xor edx, edx
call fcn.140102bcc
jmp 0x1400e10ca
mov rcx, rdi
xor edx, edx
call fcn.140102bcc
jmp 0x1400e1102
mov r15, qword [rsp + 0xe8]
jmp 0x1400e111a
lea rcx, [rsp + 0xe0]
call fcn.1401318be
jmp 0x1400e112d
lea rcx, [0x140358c00]
call fcn.140095b30
jmp 0x1400e131b
mov eax, dword [0x140358c00]
cmp eax, 0xdd
jne 0x1400e1300
mov ecx, dword [0x140358c04]
inc ecx
jmp 0x1400e132c
dec ecx
cmp ecx, 1
jle 0x1400e134b
mov rax, qword [rdi]
test al, 0x11
jne 0x1400e134b
test al, 8
jne 0x1400e1325
mov rdx, rax
or rdx, 8
lock cmpxchg qword [rdi], rdx
je 0x1400e0d66
jmp 0x1400e1325
lea rdx, [0x140304c88]
mov rcx, rdi
xor r8d, r8d
xor r9d, r9d
call fcn.140100042
jmp 0x1400e0d66
cmp byte [rbx + 0x78], 0
jne 0x1400e2268
mov esi, 0xe
jmp 0x1400e0faa
xor r15d, r15d
jmp 0x1400e0fe6
ud2
int3
mov r9, qword [rcx]
jmp 0x1400e0dc7
mov qword [rcx], r14
jmp 0x1400e0e46
xor r14d, r14d
jmp 0x1400e0e2d
int3
int3
int3
int3
int3
int3
int3
int3
xor eax, eax
cmp rdx, rax
je 0x1400e1381
mov r8, qword [rcx + rax*8]
mov qword [rcx + rax*8], 0
mov qword [r11 + rax*8], r8
inc rax
cmp r14, rax
jne 0x1400e13b8
mov rax, qword [r15 + 0x48]
jmp 0x1400e1004
xor ecx, ecx
xor edx, edx
jmp 0x1400e0ffb
cmp qword [r10 + 0x10], 0
je 0x1400e0e00
cmp byte [rbx + 0x1a], 0
je 0x1400e0e00
mov esi, 6
jmp 0x1400e0faa
mov r10, qword [r10 + 0x48]
test r10, r10
je 0x1400e1418
mov r14, qword [r10 + 0x20]
jmp 0x1400e0e34
xor r14d, r14d
jmp 0x1400e0e34
mov rdx, qword [rsp + 0xe8]
mov r9, qword [rsp + 0xf0]
jmp 0x1400e1535
xor eax, eax
jmp 0x1400e1463
mov rdx, qword [rbx + 0x70]
sub rcx, rax
sar rcx, 3
imul rcx, r13
cmp rcx, rdx
jbe 0x1400e13a7
imul rdx, rdx, 0x38
lea rcx, [rax + rdx]
cmp byte [rax + rdx], 0
je 0x1400e1435
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0xa8], rax
cmp byte [rcx], 0
je 0x1400e14ea
mov rax, qword [rcx + 0x18]
jmp 0x1400e14ec
mov qword [rsp + 0x58], rcx
call fcn.14020e2ca
mov rcx, qword [rsp + 0x58]
cmp rax, qword [rsi + 0x18]
jbe 0x1400e107f
or r12d, 0x10
mov qword [rsp + 0x58], rcx
movaps xmm0, xmmword [0x1402fccc0]
movups xmmword [rsp + 0xa0], xmm0
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x98], 0x20
mov dword [rsp + 0xa0], r14d
mov rax, qword [rbx + 0x58]
mov rcx, qword [rbx + 0x60]
cmp rax, rcx
jne 0x1400e1439
mov qword [rsp + 0xa8], 0
xor eax, eax
or r12d, 0x200
mov qword [rsp + 0xb0], rax
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
mov dword [rsp + 0x74], r12d
mov qword [rsp + 0x78], rax
mov qword [rsp + 0xb8], rcx
mov r8, qword [rsp + 0xe0]
mov r9d, 4
lea rdx, [rsp + 0xe8]
test r8b, 1
jne 0x1400e1420
shr r8, 1
cmp r8, r9
je 0x1400e1635
imul r8, r8, 0x38
mov r9, rdx
add r9, r8
je 0x1400e13aa
movups xmm0, xmmword [rsp + 0x98]
movups xmm1, xmmword [rsp + 0xa8]
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0xc0], xmm0
mov qword [r9], rcx
mov qword [rdx + r8 + 8], rax
mov dword [rdx + r8 + 0x10], r12d
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmm1, xmmword [rsp + 0xd0]
movups xmmword [rdx + r8 + 0x28], xmm1
movups xmmword [rdx + r8 + 0x18], xmm0
add qword [rsp + 0xe0], 2
mov rdx, qword [rbx + 0x28]
mov rax, rdx
sub rax, rsi
je 0x1400e13b0
lea r9, [rsi + 0x30]
mov r8, rsi
cmp r9, rdx
je 0x1400e1622
mov rcx, qword [rbx + 0x20]
mov qword [rsp + 0x60], rcx
mov rdx, rsi
sub rdx, rcx
mov qword [rsp + 0x68], rdx
add rax, 0xffffffffffffffa0
movabs rcx, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 5
lea r12, [rdx + rdx*2]
shl r12, 4
lea r8, [r12 + 0x30]
mov rcx, rsi
mov rdx, r9
call fcn.140158a70
mov rax, qword [rsp + 0x68]
lea r8, [rax + r12]
add r8, 0x30
add r8, qword [rsp + 0x60]
mov rdx, qword [rbx + 0x28]
jmp 0x1400e1622
add rdx, 0xffffffffffffffd0
je 0x1400e13ad
cmp rdx, r8
jne 0x1400e1618
mov qword [rbx + 0x28], r8
mov rcx, qword [rsp + 0x58]
jmp 0x1400e1090
lea rax, [rsp + 0x98]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0xe0]
lea rdx, [rsp + 0xb8]
lea r8, [rsp + 0x78]
lea r9, [rsp + 0x74]
call fcn.140125cdc
jmp 0x1400e15a3
mov esi, 8
jmp 0x1400e0faa
mov rdx, qword [rbx + 0x70]
sub r8, rcx
sar r8, 3
imul r8, r13
cmp r8, rdx
jbe 0x1400e13a4
imul rdx, rdx, 0x38
cmp byte [rcx + rdx], 0
je 0x1400e16ab
add rcx, rdx
mov rcx, qword [rcx + 0x10]
jmp 0x1400e16ad
mov r9, rcx
mov rcx, qword [rbx + 0x58]
mov r8, qword [rbx + 0x60]
cmp rcx, r8
jne 0x1400e1670
xor ecx, ecx
lea edx, [r12 + 8]
cmp rcx, qword [rsi + 0x10]
cmovbe edx, r12d
mov r12d, edx
mov rcx, r9
jmp 0x1400e1077
mov rsi, qword [rbp + 8]
mov qword [rbp + 8], 0
test rsi, rsi
jne 0x1400e16e7
mov byte [rbp], 0
mov r11, qword [rsp + 0x250]
jmp 0x1400e0f4b
mov rcx, rsi
call fcn.1401c6642
mov rcx, rsi
call fcn.140153bcc
jmp 0x1400e16d6
mov rcx, rsi
mov rbp, r11
call fcn.1401c6642
mov rcx, rsi
call fcn.140153bcc
mov r11, rbp
jmp 0x1400e0f24
int3
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1400e1a51
lea rcx, [0x140360b50]
call fcn.1401547b8
cmp dword [0x140360b50], 0xffffffff
jne 0x1400e1c1a
cmp qword [0x140353098], 0x87
jbe 0x1400e229a
lea rcx, [0x140353098]
lea rdx, [0x140307810]
mov r8d, 0x88
call fcn.140158a70
lea rcx, [0x140360b50]
call fcn.140153cf4
jmp 0x1400e1c1a
lea rcx, [rsp + 0x78]
call qword [0x14037e008]
jmp 0x1400e1ac4
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400e1bcc
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400e190f
lea rcx, [rbx + 0x48]
lea r8, [r14 + 0x28]
movaps xmm0, xmmword [0x1402fccc0]
lea r13, [rsp + 0xc0]
movaps xmmword [r13], xmm0
mov rdx, r13
call fcn.1400640f0
mov r8, qword [r13]
mov r9, qword [r13 + 8]
lea rcx, [rbx + 0x50]
lea rdx, [rsp + 0x98]
call fcn.140064160
cmp byte [r14 + 0x51], 0
jne 0x1400e1826
mov byte [r14 + 0x51], 1
movabs rax, 0x100000020
lea r8, [rsp + 0xc0]
mov qword [r8], rax
mov rax, qword [r14 + 0x28]
mov qword [r8 + 8], rax
mov qword [r8 + 0x10], 1
mov dword [r8 + 0x18], 0
mov rcx, rbx
mov rdx, r14
call fcn.1400fbb70
mov rax, qword [rbx + 0x50]
mov qword [rbx + 0x68], rax
jmp 0x1400e1922
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0xc0], rax
test rax, rax
je 0x1400e185e
mov eax, 1
mov rcx, qword [rsp + 0x58]
lock xadd dword [rcx], eax
cmp eax, 0x7fffffff
je 0x1400e2297
add r13, 0x70
lea rdi, [rsp + 0xc0]
lea r8, [rsp + 0x98]
mov rcx, r13
mov rdx, rdi
call fcn.14003a260
mov rdi, qword [rdi]
test rdi, rdi
je 0x1400e1a51
lock dec dword [rdi]
jne 0x1400e1a51
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x1400e18b3
lock dec dword [rcx + 8]
jne 0x1400e18b3
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
mov edx, 1
call qword [0x14037e008]
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1400e18d4
lock dec dword [rcx + 8]
jne 0x1400e18d4
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
mov edx, 1
call qword [0x14037e008]
mov rcx, rdi
call fcn.140153bcc
jmp 0x1400e1a51
lea rcx, [0x1401f9940]
cmp rax, rcx
jne 0x1400e1779
mov rax, qword [rsp + 0x58]
mov rbx, qword [rax + 8]
lea rdi, [rbx + 0x18]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400e1797
mov r14, qword [rsp + 0x80]
cmp byte [r14 + 0x51], 0
je 0x1400e17a5
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rsp + 0x58]
lock dec dword [rcx]
setne al
test rcx, rcx
je 0x1400e1ac4
test al, al
je 0x1400e1a6e
jmp 0x1400e1ac4
shr rax, 1
imul rax, rax, 0x38
add rax, r15
mov qword [rsp + 0x68], rax
xorps xmm6, xmm6
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x78], 0x20
mov rax, qword [r15 + 8]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x80], rax
mov eax, dword [r15 + 0x10]
mov dword [rsp + 0x88], eax
lea rax, [r15 + 0x18]
mov qword [rsp + 0x90], rax
mov rax, qword [r15]
lea rcx, [0x1401f9ae0]
cmp rax, rcx
jne 0x1400e18e1
mov rax, qword [rsp + 0x58]
mov r13, qword [rax + 8]
test rax, rax
je 0x1400e1ae0
mov eax, 1
mov rcx, qword [rsp + 0x58]
lock xadd dword [rcx], eax
cmp eax, 0x7fffffff
je 0x1400e1714
mov rax, qword [rsp + 0x58]
lock dec dword [rax]
jne 0x1400e1ae8
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1400e1a13
lock dec dword [rcx + 8]
jne 0x1400e1a13
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
mov edx, 1
call qword [0x14037e008]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1400e1a39
lock dec dword [rcx + 8]
jne 0x1400e1a39
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
mov edx, 1
call qword [0x14037e008]
mov rcx, qword [rsp + 0x58]
call fcn.140153bcc
jmp 0x1400e1ae8
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x50], 0
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp qword [rsp + 0x58], 0
je 0x1400e1ac4
mov rax, qword [rsp + 0x58]
lock dec dword [rax]
jne 0x1400e1ac4
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1400e1a94
lock dec dword [rcx + 8]
jne 0x1400e1a94
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
mov edx, 1
call qword [0x14037e008]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1400e1aba
lock dec dword [rcx + 8]
jne 0x1400e1aba
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
mov edx, 1
call qword [0x14037e008]
mov rcx, qword [rsp + 0x58]
call fcn.140153bcc
add r15, 0x38
cmp r15, qword [rsp + 0x68]
jne 0x1400e195e
mov rax, qword [rsp + 0xe0]
jmp 0x1400e1124
mov rax, qword [rsp + 0x58]
lock dec dword [rax]
lea rcx, [r13 + 0x18]
mov qword [rsp + 0x60], rcx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x1400e1b06
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
cmp byte [r13 + 0x118], 0
je 0x1400e1a48
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x50], 0
je 0x1400e1a48
mov eax, dword [rsp + 0x88]
mov rcx, qword [rsp + 0x58]
cmp byte [rcx + 0x51], 0
mov byte [rcx + 0x50], 0
jne 0x1400e1a51
mov ecx, eax
and ecx, 1
jne 0x1400e1a51
mov byte [r13 + 0x118], 0
movabs rcx, 0xaaaaaaaa00000000
mov qword [rsp + 0xb0], rcx
mov dword [rsp + 0x98], 0x20
shr eax, 9
and eax, 1
mov dword [rsp + 0x9c], eax
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx + 0x28]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], 0
mov rdi, qword [rcx + 0x18]
test rdi, rdi
je 0x1400e1e1b
mov rax, qword [rsp + 0x58]
mov ebp, dword [rax + 0x20]
mov dword [rsp + 0xb0], 0
lea r12, [rdi + 0x20]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400e1789
cmp qword [rdi + 0x28], 0
je 0x1400e1717
movups xmm0, xmmword [0x1403076f8]
movaps xmmword [rsp + 0xd0], xmm0
movups xmm0, xmmword [0x1403076e8]
movaps xmmword [rsp + 0xc0], 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 0x1400e1725
mov rax, qword [0x1403530c8]
mov rcx, qword [rdi + 0x28]
mov r14, qword [rcx + 8]
lea rcx, [0x1400f2320]
cmp rax, rcx
jne 0x1400e229d
test r14, r14
je 0x1400e1717
cmp dword [r14 + 0xc], 1
jne 0x1400e1717
lea rbx, [r14 + 0x10]
mov rax, qword [r14 + 0x10]
test al, 0x19
jne 0x1400e2204
mov rcx, rax
or rcx, 8
lock cmpxchg qword [rbx], rcx
jne 0x1400e2204
mov rax, qword [rsp + 0xc0]
cmp rax, 0x20
mov ecx, 0x20
cmovae rax, rcx
mov qword [rsp + 0xc0], rax
mov eax, dword [r14 + 0x1c]
mov dword [rsp + 0xc8], eax
mov rax, qword [r14 + 0x58]
mov rcx, qword [r14 + 0x60]
cmp rax, rcx
jne 0x1400e1d60
mov qword [rsp + 0xd0], 0
xor eax, eax
mov qword [rsp + 0xd8], rax
mov rax, qword [rbx]
mov rcx, rax
xor rcx, 0xc
mov edx, ecx
and edx, 0x18
and ecx, 6
cmp rdx, rcx
jae 0x1400e2285
mov rcx, rax
and rcx, 0xffffffffffffffd7
lock cmpxchg qword [rbx], rcx
jne 0x1400e2285
test byte [rsp + 0xc8], 1
jne 0x1400e1db2
cmp byte [rdi + 0xa1], 0
mov dword [rsp + 0xb0], 4
jne 0x1400e1dc4
mov dword [rsp + 0xb0], 0x14
cmp dword [rdi + 0x10], 1
jne 0x1400e1de2
mov cl, 1
mov eax, 0x14
cmp byte [rdi + 0xa2], 0
jne 0x1400e1eaf
cmp qword [rsp + 0xd0], 0
jne 0x1400e1eaf
cmp qword [rdi + 0x48], 0
je 0x1400e1ed7
mov edx, dword [rsp + 0xac]
jmp 0x1400e1ec3
mov rdx, qword [r14 + 0x70]
sub rcx, rax
sar rcx, 3
movabs r8, 0x6db6db6db6db6db7
imul rcx, r8
cmp rcx, rdx
jbe 0x1400e2294
imul rdx, rdx, 0x38
lea rcx, [rax + rdx]
cmp byte [rax + rdx], 0
je 0x1400e21b3
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0xd0], rax
cmp byte [rcx], 0
je 0x1400e1cb4
mov rax, qword [rcx + 0x18]
jmp 0x1400e1cb6
mov byte [rdi + 0xa1], 1
mov dword [rsp + 0xb0], 4
or byte [rsp + 0xac], 4
cmp dword [rdi + 0x10], 1
jne 0x1400e1ee5
mov eax, 4
xor ecx, ecx
jmp 0x1400e1d2d
mov dword [rsp + 0xb0], 0x16
mov rax, qword [rdi + 0x38]
mov rax, qword [rax + 0x10]
mov rax, qword [rax + 0x18]
cmp rax, qword [rdi + 0x48]
jne 0x1400e1e0e
cmp qword [rsp + 0xd0], 0
je 0x1400e1ee5
or byte [rsp + 0xac], 2
jmp 0x1400e1ee5
mov r8, qword [rsp + 0x90]
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x20]
mov dword [rsp + 0xb0], 0x24
mov ecx, dword [r8 + 8]
and ecx, 2
cmp ecx, 1
mov ecx, 0
adc ecx, 0x24
mov dword [rsp + 0xb0], ecx
mov edx, 4
test byte [r8 + 8], 1
jne 0x1400e1e6a
or ecx, 0x12
mov dword [rsp + 0xb0], ecx
mov edx, 2
mov dword [rsp + 0xac], edx
cmp qword [r8 + 0x10], 0
je 0x1400e1e82
or edx, 1
mov dword [rsp + 0xac], edx
or edx, ecx
mov dword [rsp + 0xa8], 0
test edx, eax
jne 0x1400e1f02
mov dword [rsp + 0xa8], 9
jmp 0x1400e1f02
test dword [rsp + 0xb0], ebp
jne 0x1400e1a51
jmp 0x1400e1e93
mov byte [rdi + 0xa2], 1
mov edx, dword [rsp + 0xac]
or edx, 8
or eax, 8
or eax, 1
mov dword [rsp + 0xb0], eax
or edx, 1
mov dword [rsp + 0xac], edx
test cl, cl
je 0x1400e1ee5
or eax, 9
mov dword [rsp + 0xb0], eax
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov dword [rsp + 0xa8], 0
test dword [rsp + 0xac], ebp
je 0x1400e1ea0
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov cl, byte [r13 + 0x3c]
test cl, cl
je 0x1400e1f1a
cmp dword [r13 + 0x40], eax
je 0x1400e1833
test cl, cl
je 0x1400e1fd2
mov eax, dword [0x1403576e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rbx, [rax + 0x198]
lea rdi, [r13 + 0x20]
lea rcx, [rsp + 0xc0]
lea rdx, str.DispatchOrQueueEvent
lea r8, str.....mojocoreipcz_drivermojo_trap.cc
mov r9d, 0x21c
call fcn.1400c6940
test byte [0x140354cd0], 0x19
jne 0x1400e2035
mov r14, qword [rbx]
test r14, r14
je 0x1400e1f90
cmp qword [r14 + 0x18], 0
jne 0x1400e21ca
movabs rax, 0x4000000000000000
lock or qword [r14 + 0x10], rax
inc dword [r13 + 0x38]
movabs rax, 0x7fffffffffffffff
mov qword [rsp + 0xc0], rax
mov rcx, rdi
lea rdx, [rsp + 0xc0]
call fcn.1400d5cf0
dec dword [r13 + 0x38]
test byte [0x140354cd0], 0x19
jne 0x1400e205e
cmp byte [r13 + 0x3c], 0
jne 0x1400e1f40
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp byte [r13 + 0x3c], 0
jne 0x1400e1fe4
mov byte [r13 + 0x3c], 1
mov dword [r13 + 0x40], eax
mov rdi, qword [rsp + 0x60]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [r13 + 0x10]
lea rcx, [rsp + 0x98]
call qword [0x14037e008]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400e21ba
mov rax, qword [r13 + 0x70]
cmp rax, 2
jb 0x1400e20af
lea rbx, [r13 + 0x78]
xor r14d, r14d
xor ebp, ebp
jmp 0x1400e2188
lea rax, [rsp + 0xc0]
mov qword [rsp + 0xb8], rax
lea rcx, str.ScopedAllowBaseSyncPrimitivesOutsideBlockingScope
lea rdx, [rsp + 0xb8]
call fcn.14006d1b0
jmp 0x1400e1f6e
lea r14, [rsp + 0xc0]
mov rcx, r14
call fcn.1400e35f0
call sub.KERNEL32.dll_GetCurrentThreadId
mov qword [rsp + 0x38], r14
mov dword [rsp + 0x30], eax
movups xmmword [rsp + 0x20], xmm6
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 0x1400e1fc7
mov r12, rax
shr r12, 1
lea rbx, [r13 + 0x78]
mov rcx, rax
mov rdx, rbx
and rcx, 1
je 0x1400e20c8
mov rdx, qword [rbx]
cmp rax, 2
jb 0x1400e20f2
lea rax, [r12 + r12*4]
lea rdi, [rdx + rax*8]
add rdi, 0xffffffffffffffd8
mov rcx, rdi
call fcn.14003a1f0
add rdi, 0xffffffffffffffd8
dec r12
jne 0x1400e20da
mov rcx, qword [r13 + 0x70]
and ecx, 1
test rcx, rcx
je 0x1400e20ff
mov rcx, qword [rbx]
call fcn.140153bcc
mov qword [r13 + 0x70], 0
mov byte [r13 + 0x3c], 0
cmp dword [r13 + 0x38], 0
je 0x1400e1a51
add r13, 0x20
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_WakeConditionVariable]
jmp 0x1400e1a51
mov rax, qword [rbx]
mov rcx, qword [rax + r14]
cmp byte [rcx + 0x51], 0
je 0x1400e213e
cmp dword [rax + r14 + 0x18], 1
jne 0x1400e216e
lea rdi, [rax + r14]
add rdi, 8
mov r12, qword [rsp + 0x60]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [r13 + 0x10]
mov rcx, rdi
call qword [0x14037e008]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400e21a6
inc rbp
mov rax, qword [r13 + 0x70]
mov r12, rax
shr r12, 1
add r14, 0x28
cmp rbp, r12
jae 0x1400e20b5
test al, 1
jne 0x1400e2129
mov rax, qword [rbx + r14]
cmp byte [rax + 0x51], 0
mov rax, rbx
je 0x1400e213e
cmp dword [rbx + r14 + 0x18], 1
mov rax, rbx
je 0x1400e213e
jmp 0x1400e216e
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400e216e
xor eax, eax
jmp 0x1400e1d98
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400e2019
lea rcx, [r14 + 0x18]
mov r12, qword [r14 + 0x10]
call fcn.140257310
movabs rcx, 0xff00000000000000
and rcx, r12
or rcx, rax
mov qword [r14 + 0x10], rcx
jmp 0x1400e1f81
int3
int3
lea rcx, [0x140358c00]
call fcn.140095b30
jmp 0x1400e2211
mov eax, dword [0x140358c00]
cmp eax, 0xdd
jne 0x1400e21f6
mov ecx, dword [0x140358c04]
inc ecx
mov rax, qword [rbx]
test al, 0x11
jne 0x1400e222b
test al, 8
je 0x1400e2245
dec ecx
cmp ecx, 1
jg 0x1400e2219
lea rdx, [0x140304c88]
mov rcx, rbx
xor r8d, r8d
xor r9d, r9d
call fcn.140100042
jmp 0x1400e1c6f
mov rdx, rax
or rdx, 8
lock cmpxchg qword [rbx], rdx
je 0x1400e1c6f
jmp 0x1400e2224
int3
add rax, r9
mov rax, qword [rax + 0x10]
jmp 0x1400e11e8
mov rax, qword [rbx + 0x80]
add rcx, rax
mov esi, 5
cmp rax, rcx
jae 0x1400e0faa
jmp 0x1400e136f
mov rcx, rbx
xor edx, edx
call fcn.140102bcc
jmp 0x1400e1ceb
int3
int3
int3
lea r9, [rsp + 0xc0]
mov rcx, r14
xor edx, edx
xor r8d, r8d
call qword [0x14037e008]
test eax, eax
je 0x1400e1ceb
jmp 0x1400e1717