Function at 0x140153310
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, 0x168
movaps xmmword [rsp + 0x150], xmm7
movaps xmmword [rsp + 0x140], xmm6
mov rsi, r8
mov rbp, rdx
mov rbx, rcx
mov rax, qword [0x14033f038]
xor rax, rsp
mov qword [rsp + 0x138], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xd0], rax
mov r15, qword [rcx + 0x30]
xorps xmm6, xmm6
movaps xmmword [rsp + 0x70], xmm6
mov qword [rsp + 0x80], 0
mov rax, qword [0x1403428e0]
and rax, r15
mov rcx, r15
cmp rax, qword [0x1403428c8]
je 0x140154c28
mov qword [rsp + 0x88], r15
movaps xmmword [rsp + 0x90], xmm6
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0xb0], xmm6
movaps xmmword [rsp + 0xc0], xmm6
mov byte [rsp + 0xd0], 0
add rcx, 0x28
mov qword [rsp + 0x48], rcx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140154432
mov qword [rsp + 0x50], rsi
mov r15, qword [rbx + 0x30]
mov rax, qword [r15]
mov rax, qword [rax + 0x38]
lea rcx, [0x140149b30]
cmp rax, rcx
mov qword [rsp + 0x30], rbp
jne 0x140154c39
cmp qword [r15 + 0x100], 0
je 0x14015365d
cmp byte [r15 + 0x160], 0
jne 0x14015365d
mov rsi, qword [r15 + 0x58]
mov rdi, qword [r15 + 0x118]
test rsi, rsi
jne 0x140153a8b
xor esi, esi
add rsi, rdi
mov rax, qword [r15 + 0x108]
cmp rax, rsi
cmovb rsi, rax
mov r14, qword [r15 + 0x118]
cmp rsi, r14
cmovbe rsi, r14
mov r12, qword [r15 + 0x68]
mov rdi, qword [r15 + 0x110]
add r12, qword [r15 + 0x60]
je 0x1401538d1
mov rax, qword [r15 + 8]
mov eax, dword [rax + 0x3c]
cmp eax, 1
ja 0x1401538d1
mov rax, qword [r15 + 0x40]
cmp rax, qword [r15 + 0x48]
je 0x140154b16
mov cl, byte [rax + 0x10]
dec cl
cmp cl, 1
ja 0x1401534c3
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov r13d, 1
lea r8, [method.std::Cr::codecvt_char__char__struct__Mbstatet_.virtual_64]
mov edx, 1
cmp rax, r8
jne 0x140154121
lea rax, [r12 + rdx]
dec rax
cmp rax, 2
cmovae r13, rax
mov r12, r13
sub rdi, r14
add rdi, rsi
add rdi, r12
mov rax, qword [r15 + 0x100]
cmp rax, rdi
cmovb rdi, rax
mov eax, 0x100
cmp rdi, rax
cmovae rdi, rax
mov rbp, qword [r15 + 0xe8]
sub rbp, qword [r15 + 0xe0]
sar rbp, 3
lea r12, [r15 + 0x128]
mov rax, qword [r15 + 0x130]
sub rax, qword [r15 + 0x128]
sar rax, 3
sub rbp, rax
xor eax, eax
mov rcx, rdi
sub rcx, rbp
cmovae rax, rcx
cmp rax, 2
mov esi, 2
cmovb rsi, rax
test rsi, rsi
jne 0x140153953
cmp rdi, rbp
mov rbp, qword [rsp + 0x30]
jne 0x14015356a
mov rax, qword [r15 + 0xe8]
sub rax, qword [r15 + 0xe0]
cmp rax, 0x800
je 0x14015356a
mov rcx, qword [r15 + 0x128]
cmp rcx, qword [r15 + 0x130]
je 0x1401540b2
mov rax, qword [r15 + 0x40]
cmp rax, qword [r15 + 0x48]
je 0x140153588
mov rcx, qword [r15 + 0x110]
cmp rcx, qword [r15 + 0x100]
jae 0x140154279
mov word [r15 + 0x78], 0
cmp byte [r15 + 0x148], 0
jne 0x14015365d
mov rdi, qword [r15 + 0x58]
mov rsi, qword [r15 + 0x118]
test rdi, rdi
jne 0x140153d61
xor edi, edi
add rdi, rsi
cmp rdi, qword [r15 + 0x108]
ja 0x140154782
mov rdi, qword [r15 + 0x58]
mov rsi, qword [r15 + 0x110]
test rdi, rdi
jne 0x140153dc4
xor edi, edi
mov r14, qword [r15 + 0x68]
add r14, qword [r15 + 0x60]
je 0x14015394b
mov rax, qword [r15 + 8]
mov eax, dword [rax + 0x3c]
cmp eax, 1
ja 0x14015394b
mov rax, qword [r15 + 0x40]
cmp rax, qword [r15 + 0x48]
je 0x140154b16
mov cl, byte [rax + 0x10]
dec cl
cmp cl, 1
ja 0x140153646
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov r12d, 1
lea r8, [method.std::Cr::codecvt_char__char__struct__Mbstatet_.virtual_64]
mov edx, 1
cmp rax, r8
jne 0x140154161
lea rax, [r14 + rdx]
dec rax
cmp rax, 2
cmovae r12, rax
mov r14, r12
add rsi, rdi
lea rax, [r14 + rsi]
inc rax
cmp rax, qword [r15 + 0x100]
ja 0x140154266
mov rax, qword [rsp + 0x90]
or rax, qword [rsp + 0xb0]
jne 0x1401542d8
mov rax, qword [rbx + 0x30]
mov rdx, qword [rax + 0x128]
mov rcx, qword [rax + 0x130]
cmp rdx, rcx
mov rdi, qword [rsp + 0x50]
je 0x140153a83
mov r8, qword [rcx - 8]
cmp r8, rdi
je 0x140154979
lea r15, [rdi + 0x18]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140154afc
mov rsi, qword [rdi + 0x28]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [rbx + 0x30]
cmp byte [rax + 0x98], 0
jne 0x140154c56
test rsi, rsi
jne 0x140154986
mov rcx, qword [rax + 0xe8]
sub rcx, qword [rax + 0xe0]
mov rdx, qword [rax + 0x130]
sar rcx, 3
sub rdx, qword [rax + 0x128]
sar rdx, 3
sub rcx, rdx
cmp rcx, qword [rax + 0x100]
ja 0x140154ae7
lea r14, [0x14014f8e0]
xorps xmm6, xmm6
mov r9, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov r10, qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rbp, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
lea r11, fcn.140055170
movaps xmm7, xmmword [0x140301d60]
mov r13, qword [rbx + 0x30]
mov rax, qword [r13 + 0x40]
cmp rax, qword [r13 + 0x48]
je 0x140153e38
movzx esi, byte [rax + 0x10]
mov rax, qword [r13 + 8]
mov eax, dword [rax + 0x3c]
test eax, eax
jne 0x140153e27
mov r13, qword [rbx + 0x30]
test esi, esi
jne 0x14015377e
mov rax, qword [r13 + 0x118]
cmp rax, qword [r13 + 0x108]
jae 0x140153e38
mov rax, qword [r13 + 0x40]
cmp rax, qword [r13 + 0x48]
je 0x140154b16
lea r15, [r13 + 0x38]
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rax, qword [rax + 0x28]
cmp rax, r14
jne 0x140153b74
mov dword [rcx + 0xb8], 3
mov rax, qword [r13 + 0x40]
cmp rax, qword [r13 + 0x48]
je 0x140154b16
movzx ecx, byte [rax + 0x10]
cmp rcx, 3
jae 0x140154b42
dec qword [r13 + rcx*8 + 0x58]
mov rcx, qword [rax]
mov qword [rcx + 0x28], 0xffffffffffffffff
mov rcx, qword [rax]
mov qword [rsp + 0x60], rcx
mov rcx, qword [rax + 8]
movups xmmword [rax], xmm6
mov qword [rsp + 0x68], rcx
mov rcx, qword [r13 + 0x40]
mov rax, qword [r13 + 0x48]
mov rdx, rax
sub rdx, rcx
je 0x140154bc7
mov r8, qword [rcx]
test r8, r8
jne 0x140153d46
sar rdx, 5
dec rdx
jne 0x140153aee
cmp rcx, rax
je 0x140154b9b
lea rdi, [rax - 0x20]
mov r15, qword [rax - 0x20]
test r15, r15
jne 0x14015416f
mov qword [rdi], 0
test r15, r15
jne 0x14015419d
mov rcx, qword [rdi]
test rcx, rcx
jne 0x140154bf3
mov qword [r13 + 0x48], rdi
mov rdi, qword [rsp + 0x50]
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x14015373d
jmp 0x1401538d9
cmp rcx, r14
jb 0x140154b6e
mov rsi, r12
mov rax, qword [rsp + 0x28]
mov r12, qword [rax + r14*8]
mov qword [rax + r14*8], 0
mov rax, qword [r12 + 8]
mov rcx, r12
call qword [case.0x140211850.0]
test r12, r12
jne 0x1401538ba
inc r14
mov rcx, qword [rsp + 0x58]
cmp r14, rcx
mov eax, 0
cmove r14, rax
mov r12, rsi
cmp r14, rsi
jne 0x140153869
jmp 0x1401544ca
lock dec dword [r12]
jne 0x140153899
mov rax, qword [r12 + 0x10]
mov rcx, r12
call qword [case.0x140211850.0]
jmp 0x140153899
xor r12d, r12d
jmp 0x1401534c3
mov r10, qword [rsp + 0x68]
mov rdx, qword [rbx + 0x30]
mov r8, qword [rdx + 0x110]
inc r8
mov qword [rdx + 0x110], r8
test esi, esi
mov rbp, qword [rsp + 0x30]
jne 0x140153903
inc qword [rdx + 0x118]
mov r9, qword [rdx + 0x40]
cmp r9, qword [rdx + 0x48]
je 0x14015391a
cmp r8, qword [rdx + 0x100]
jae 0x1401542c9
mov word [rdx + 0x78], 0
mov rcx, qword [rsp + 0x48]
shl esi, 8
or esi, 1
mov dword [rbx + 0x20], esi
movzx edx, byte [rax + 0x16]
and edx, 0x7f
shl edx, 8
or edx, 1
mov dword [rbx + 0x24], edx
mov qword [rbp], rax
mov qword [rbp + 8], r10
jmp 0x140153f4f
xor r14d, r14d
jmp 0x140153646
neg rsi
mov qword [rsp + 0x28], r12
mov rax, qword [r15 + 0xe8]
sub rax, qword [r15 + 0xe0]
cmp rax, 0x800
je 0x140153985
mov rcx, qword [r15 + 0x128]
cmp rcx, qword [r15 + 0x130]
je 0x140153a14
mov rcx, qword [r15 + 0x128]
mov rax, qword [r15 + 0x130]
cmp rcx, rax
je 0x140153a06
lea rdx, [rax - 8]
mov r14, qword [rax - 8]
mov qword [r15 + 0x130], rdx
cmp rcx, rdx
je 0x1401539dd
mov r12, qword [rax - 0x10]
lea r13, [r12 + 0x18]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140154cbe
mov qword [r12 + 0x28], 0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov r12, qword [rsp + 0x28]
test r14, r14
je 0x140153a06
lock inc dword [r14 + 8]
mov qword [rsp + 0x118], r14
cmp qword [rsp + 0x90], 0
jne 0x14015445d
mov qword [rsp + 0x90], r14
inc rsi
je 0x140153536
jmp 0x14015395b
sar rax, 3
cmp rax, qword [r15 + 0x100]
jae 0x140153985
lea r13, [rsp + 0x118]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [r13], rax
lea r8, [rsp + 0x70]
mov rcx, r15
mov rdx, r13
call fcn.1400dd3a0
mov r14, qword [r13]
mov rcx, r12
mov rdx, r14
call fcn.140107010
test r14, r14
je 0x140153985
lock dec dword [r14 + 8]
jne 0x140153985
mov rcx, r14
call fcn.140114010
mov rcx, r14
call fcn.14016eccc
jmp 0x140153985
xor r8d, r8d
jmp 0x140153697
mov rax, qword [r15 + 8]
mov eax, dword [rax + 0x3c]
test eax, eax
jne 0x14015342e
mov rax, qword [r15 + 0x40]
cmp rax, qword [r15 + 0x48]
je 0x140154b16
cmp byte [rax + 0x10], 0
jne 0x140153430
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov r14d, 1
lea r8, [method.std::Cr::codecvt_char__char__struct__Mbstatet_.virtual_64]
mov edx, 1
cmp rax, r8
jne 0x140154ccb
lea rax, [rsi + rdx]
dec rax
cmp rax, 2
cmovae r14, rax
mov rsi, r14
jmp 0x140153430
cmp rax, rcx
je 0x140154bc7
mov qword [rsp + 0x38], rbx
shl rdx, 5
mov rdx, qword [rcx + rdx]
test rdx, rdx
jne 0x14015435d
cmp rax, rcx
je 0x140154bc7
mov rbx, r11
mov r12, r10
mov rdi, r9
mov rcx, qword [rax - 0x20]
mov qword [rsp + 0x118], rcx
mov rcx, qword [rax - 0x18]
movups xmmword [rax - 0x20], xmm6
mov qword [rsp + 0x120], rcx
movups xmm0, xmmword [rax - 0x10]
movups xmmword [rsp + 0x128], xmm0
mov rcx, r15
xor edx, edx
lea r8, [rsp + 0x118]
call fcn.140073c20
mov rcx, qword [r13 + 0x40]
mov rax, qword [r13 + 0x48]
mov r9, rdi
mov r10, r12
mov r11, rbx
mov rbx, qword [rsp + 0x38]
jmp 0x14015381a
mov r12, r10
call qword [case.0x140211850.0]
lea r11, fcn.140055170
mov rbp, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov r10, r12
mov r9, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
cmp eax, 2
je 0x1401537ad
test eax, eax
je 0x140154287
movaps xmmword [rsp + 0xf0], xmm7
mov rax, qword [r13 + 0x40]
cmp rax, qword [r13 + 0x48]
je 0x140154b16
mov rcx, qword [r13 + 8]
mov r8, qword [rax]
test r8, r8
je 0x140153bcd
lock inc dword [r8 + 8]
lea rdx, [rsp + 0xf0]
call fcn.1401436b0
cmp qword [rsp + 0xf0], 0
je 0x140154cf5
mov rdi, qword [r13 + 0x40]
cmp rdi, qword [r13 + 0x48]
je 0x140154b16
mov rax, qword [rdi]
mov qword [rsp + 0x118], rax
mov rax, qword [rdi + 8]
xor ecx, ecx
mov qword [rdi + 8], rcx
mov qword [rsp + 0x120], rax
mov qword [rdi], rcx
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0xf0], rcx
mov rcx, qword [rdi]
mov qword [rdi], rax
test rcx, rcx
jne 0x140154d0c
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0xf8], 0
mov qword [rdi + 8], rax
mov r8, qword [rsp + 0xf0]
test r8, r8
jne 0x140154d25
mov qword [rsp + 0x60], r8
mov qword [rsp + 0xf0], 0
mov rdi, qword [rsp + 0x50]
test r8, r8
jne 0x140154d57
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x118], 0
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0xf0], rax
test rcx, rcx
jne 0x140154d74
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x120], 0
mov qword [rsp + 0xf8], rax
lea rcx, [rsp + 0x118]
call fcn.140143750
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
lea r13, [rsp + 0xe0]
mov rdx, r13
call qword [case.0x140211850.0]
mov rdx, qword [rsp + 0xf0]
mov rcx, r15
mov r8, r13
call fcn.14008edd0
movaps xmm0, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0xf0], xmm6
lea rcx, [rsp + 0xf0]
call fcn.140143750
mov r9, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov r10, r12
mov rbp, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
lea r11, fcn.140055170
jmp 0x140153859
mov qword [r8 + 0x28], 0xffffffffffffffff
mov rcx, qword [r13 + 0x40]
mov rax, qword [r13 + 0x48]
mov rdx, rax
sub rdx, rcx
jmp 0x14015380d
mov rax, qword [r15 + 8]
mov eax, dword [rax + 0x3c]
test eax, eax
jne 0x1401535b1
mov rax, qword [r15 + 0x40]
cmp rax, qword [r15 + 0x48]
je 0x140154b16
cmp byte [rax + 0x10], 0
jne 0x1401535b3
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov r14d, 1
lea r8, [method.std::Cr::codecvt_char__char__struct__Mbstatet_.virtual_64]
mov edx, 1
cmp rax, r8
jne 0x140154cd9
lea rax, [rdi + rdx]
dec rax
cmp rax, 2
cmovae r14, rax
mov rdi, r14
jmp 0x1401535b3
mov rax, qword [r15 + 8]
mov eax, dword [rax + 0x3c]
test eax, eax
jne 0x1401535d7
mov rax, qword [r15 + 0x40]
cmp rax, qword [r15 + 0x48]
je 0x140154b16
cmp byte [rax + 0x10], 0
jne 0x1401535d9
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov r14d, 1
lea r8, [method.std::Cr::codecvt_char__char__struct__Mbstatet_.virtual_64]
mov edx, 1
cmp rax, r8
jne 0x140154ce7
lea rax, [rdi + rdx]
dec rax
cmp rax, 2
cmovae r14, rax
mov rdi, r14
jmp 0x1401535d9
mov r13, qword [rbx + 0x30]
test esi, esi
je 0x140153e38
cmp eax, 1
je 0x14015377e
cmp byte [r13 + 0x98], 0
jne 0x140154c8f
mov qword [rsp + 0x108], rdi
mov rax, qword [r13 + 0x128]
mov rcx, qword [r13 + 0x130]
cmp rax, rcx
mov rbp, qword [rsp + 0x30]
je 0x140153f0e
mov rsi, qword [rcx - 8]
lea r15, [rsi + 0x18]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140154ab9
mov rax, qword [0x1403411f8]
lea rcx, [0x14003b7a0]
lea r12, [rsp + 0x118]
cmp rax, rcx
jne 0x140154aa7
mov qword [r12], 0
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [r12]
movabs rcx, 0x8637bd05af6
cmp rax, rcx
jg 0x140153ed8
imul rax, rax, 0xf4240
cqo
idiv qword [0x140354790]
jmp 0x140153efa
mov rcx, qword [0x140354790]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
mov qword [rsi + 0x28], rax
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [r13 + 0x130]
cmp rax, qword [r13 + 0x138]
je 0x140154441
test rax, rax
je 0x140154dab
mov qword [rax], rdi
add rax, 8
mov qword [r13 + 0x130], rax
mov rax, qword [rbx + 0x30]
mov rcx, qword [rax + 0x140]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [rsp + 0x90]
test rax, rax
jne 0x140154039
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
jne 0x1401545a1
cmp byte [rsp + 0xd0], 0
jne 0x140154967
mov rsi, qword [rsp + 0xb8]
test rsi, rsi
jne 0x1401546c5
mov rdi, qword [rsp + 0xb0]
test rdi, rdi
jne 0x140154845
mov rsi, qword [rsp + 0x98]
test rsi, rsi
jne 0x1401546eb
mov rdi, qword [rsp + 0x90]
test rdi, rdi
jne 0x140154093
mov rcx, qword [rsp + 0x88]
mov rax, qword [0x1403428e0]
and rax, rcx
cmp rax, qword [0x1403428c8]
je 0x140154c4c
mov qword [rsp + 0x88], 0
mov rsi, qword [rsp + 0x70]
test rsi, rsi
jne 0x14015412f
mov rcx, qword [rsp + 0x138]
xor rcx, rsp
call fcn.140171860
mov rax, rbp
movaps xmm6, xmmword [rsp + 0x140]
movaps xmm7, xmmword [rsp + 0x150]
add rsp, 0x168
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rax + 0x30]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rsi, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xa0]
cmp rsi, rbx
je 0x140153f66
mov r14, qword [sym.imp.KERNEL32.dll_SetEvent]
mov rdi, qword [rsi]
test rdi, rdi
je 0x140154dd7
lock inc dword [rdi + 8]
mov rcx, qword [rdi + 0x30]
call r14
lock dec dword [rdi + 8]
je 0x140154dea
add rsi, 8
cmp rsi, rbx
je 0x140153f66
jmp 0x140154063
lock dec dword [rdi + 8]
jne 0x140153fc9
mov rcx, rdi
call fcn.140114010
mov rcx, rdi
call fcn.14016eccc
jmp 0x140153fc9
sar rax, 3
cmp rax, qword [r15 + 0x100]
jae 0x14015356a
lea r13, [rsp + 0x118]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [r13], rax
lea r8, [rsp + 0x70]
mov rcx, r15
mov rdx, r13
call fcn.1400dd3a0
mov r13, qword [r13]
mov rcx, r12
mov rdx, r13
call fcn.140107010
test r13, r13
je 0x14015356a
lock dec dword [r13 + 8]
jne 0x14015356a
mov rcx, r13
call fcn.140114010
mov rcx, r13
call fcn.14016eccc
jmp 0x14015356a
call qword [case.0x140211850.0]
mov rdx, rax
jmp 0x1401534b1
mov rdi, qword [rsp + 0x78]
mov rcx, rsi
cmp rdi, rsi
je 0x140154152
add rdi, 0xfffffffffffffff0
mov rcx, rdi
call fcn.140143750
cmp rdi, rsi
jne 0x14015413c
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x78], rsi
call fcn.14016eccc
jmp 0x140154002
call qword [case.0x140211850.0]
mov rdx, rax
jmp 0x140153634
mov r12, qword [rax - 0x18]
test r12, r12
je 0x140153834
mov qword [rdi], 0
mov al, byte [r15 + 0x16]
and al, 0x7f
cmp al, 2
je 0x140154535
lock dec dword [r12 + 0x38]
je 0x140154372
lock dec dword [r15 + 8]
jne 0x140153844
lea rax, [0x1402ff3a8]
mov qword [r15], rax
mov rdx, qword [r15 + 0xa0]
test rdx, rdx
jne 0x1401549a9
lea rbp, [r15 + 0x78]
mov r14, qword [r15 + 0x78]
mov r12, qword [r15 + 0x80]
mov rdx, r14
cmp r12, r14
jne 0x140154e49
mov qword [r15 + 0x80], r14
test rdx, rdx
jne 0x140154dff
mov r14, qword [r15 + 0x60]
mov r12, qword [r15 + 0x68]
cmp r12, r14
jne 0x140154711
mov r12, r9
mov rdx, qword [r15 + 0x50]
lea rcx, fcn.140055170
xor r8d, r8d
call fcn.140054930
lea rax, [0x1402ff408]
mov qword [r15], rax
mov rcx, qword [r15 + 0x38]
mov rax, qword [0x1403428e0]
and rax, rcx
cmp rax, qword [0x1403428c8]
jne 0x14015423a
call fcn.1401571d0
mov rcx, r15
call fcn.14016eccc
lea r14, [0x14014f8e0]
mov r9, r12
mov r10, qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rbp, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
lea r11, fcn.140055170
jmp 0x140153844
cmp dword [r15 + 0x120], 0
jle 0x14015365d
jmp 0x140154790
movzx eax, word [rax + 0x10]
mov word [r15 + 0x78], ax
jmp 0x14015358f
mov rcx, r15
lea r15, [rsp + 0x108]
mov rdx, r15
call fcn.14014f200
lea rcx, [rsp + 0x70]
mov rdx, r15
call fcn.140123210
lea r11, fcn.140055170
mov rbp, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov r10, r12
mov r9, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
movaps xmmword [rsp + 0x60], xmm6
jmp 0x140153859
movzx r8d, word [r9 + 0x10]
mov word [rdx + 0x78], r8w
jmp 0x140153920
mov r15, qword [rbx + 0x30]
add r15, 0x28
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [rsp + 0x90]
test rax, rax
jne 0x1401547a5
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
jne 0x1401549d8
lea r13, [rsp + 0x90]
lea r12, [rsp + 0xb0]
cmp byte [r12 + 0x20], 0
jne 0x140154ad5
mov rcx, r13
call fcn.1400a4600
mov rcx, r12
call fcn.1400a4600
mov byte [rsp + 0xd0], 0
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x140153673
mov rcx, r15
call fcn.140047ff0
jmp 0x140153673
mov qword [rdx + 0x28], 0xffffffffffffffff
mov rcx, qword [r13 + 0x40]
mov rax, qword [r13 + 0x48]
jmp 0x140153b0d
lea rbp, [r12 + 0x40]
mov rcx, rbp
mov r14, r9
call r9
test al, al
je 0x140154b09
mov rcx, qword [r12 + 0x48]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rcx, rbp
mov rax, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
call rax
mov qword [rsp + 0x40], rbp
mov rcx, rbp
call r14
test al, al
je 0x140154ac6
mov rax, qword [r12 + 0x50]
mov qword [rsp + 0x28], rax
mov rax, qword [r12 + 0x58]
mov qword [rsp + 0x58], rax
movups xmmword [r12 + 0x50], xmm6
mov rbp, qword [r12 + 0x60]
mov rax, qword [r12 + 0x68]
movups xmmword [r12 + 0x60], xmm6
mov r12, rax
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp rbp, r12
lea rax, fcn.140055170
jne 0x1401544b9
mov rcx, rax
mov rdx, qword [rsp + 0x28]
xor r8d, r8d
call fcn.140054930
lea r11, fcn.140055170
lea r14, [0x14014f8e0]
mov r9, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov r10, qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rbp, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x14015383b
mov rcx, qword [rsp + 0x48]
call fcn.140047ff0
jmp 0x1401533d9
add r13, 0x128
lea rdx, [rsp + 0x108]
mov rcx, r13
call fcn.140107170
jmp 0x140153f32
mov rax, qword [rsp + 0xa0]
cmp rax, qword [rsp + 0xa8]
jb 0x140154d8d
lea rcx, [rsp + 0x98]
lea rdx, [rsp + 0x118]
call fcn.1400dd900
mov r13, qword [rsp + 0x118]
test r13, r13
je 0x140153a06
lock dec dword [r13 + 8]
jne 0x140153a06
mov rcx, r13
call fcn.140114010
mov rcx, r13
call fcn.14016eccc
jmp 0x140153a06
mov dword [rsp + 0x40], esi
mov r14, rbp
mov rcx, qword [rsp + 0x58]
jmp 0x140153869
cmp r12, rbp
jbe 0x140154650
cmp rcx, r12
lea rax, fcn.140055170
jb 0x140154b71
cmp rcx, rbp
mov esi, dword [rsp + 0x40]
jb 0x140154b74
cmp rbp, r12
jg 0x140154b77
shl r12, 3
shl rbp, 3
mov rcx, qword [rsp + 0x28]
mov rcx, qword [rcx + rbp]
test rcx, rcx
jne 0x14015451d
add rbp, 8
cmp r12, rbp
jne 0x140154501
jmp 0x1401543fa
lock dec dword [rcx]
jne 0x14015450f
mov rax, qword [rcx + 0x10]
call qword [case.0x140211850.0]
lea rax, fcn.140055170
jmp 0x14015450f
mov rax, qword [r12 + 0x30]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x140154191
lea r14, [r12 + 0x70]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140154ef8
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
lea r14, [0x14014f8e0]
mov r9, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov r10, qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rbp, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
lea r11, fcn.140055170
jmp 0x140154191
mov rax, qword [rsp + 0x88]
mov rdx, qword [rax + 0xa0]
mov r8, qword [rax + 0xa8]
test rdx, rdx
je 0x1401545c0
lock inc dword [rdx + 8]
call fcn.1400ed4e0
mov rcx, qword [rsp + 0x88]
cmp byte [rcx + 0x168], 0
jne 0x140154e27
mov rsi, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xc0]
cmp rsi, rbx
je 0x140153f77
mov rdi, qword [rsi]
test rdi, rdi
je 0x1401545ff
lock inc dword [rdi + 8]
mov rax, qword [rsp + 0x88]
mov rdx, qword [rax + 0xa0]
mov r8, qword [rax + 0xa8]
test rdx, rdx
je 0x14015461e
lock inc dword [rdx + 8]
mov rcx, rdi
call fcn.1400ed4e0
mov rcx, qword [rsp + 0x88]
cmp byte [rcx + 0x168], 0
jne 0x140154e73
test rdi, rdi
je 0x14015464a
lock dec dword [rdi + 8]
je 0x140154e84
add rsi, 8
jmp 0x1401545ea
cmp rcx, rbp
lea rax, fcn.140055170
jb 0x140154b7a
jl 0x140154b7d
mov esi, dword [rsp + 0x40]
jne 0x140154864
cmp qword [rsp + 0x58], r12
jb 0x140154b80
test r12, r12
js 0x140154b83
je 0x1401543fa
shl r12, 3
xor r14d, r14d
mov rcx, qword [rsp + 0x28]
mov rcx, qword [rcx + r14]
test rcx, rcx
jne 0x1401546ad
add r14, 8
cmp r12, r14
jne 0x140154691
jmp 0x1401543fa
lock dec dword [rcx]
jne 0x14015469f
mov rax, qword [rcx + 0x10]
call qword [case.0x140211850.0]
lea rax, fcn.140055170
jmp 0x14015469f
mov rdi, qword [rsp + 0xc0]
mov rcx, rsi
cmp rdi, rsi
jne 0x140154809
mov qword [rsp + 0xc0], rsi
call fcn.14016eccc
jmp 0x140153f96
mov rdi, qword [rsp + 0xa0]
mov rcx, rsi
cmp rdi, rsi
jne 0x140154827
mov qword [rsp + 0xa0], rsi
call fcn.14016eccc
jmp 0x140153fb8
mov rbp, qword [r15 + 0x58]
mov qword [rsp + 0x38], rbx
jbe 0x1401548a9
cmp rbp, r12
jb 0x140154b89
cmp rbp, r14
jb 0x140154b8c
cmp r14, r12
jg 0x140154b8f
mov rbp, qword [r15 + 0x50]
shl r12, 7
shl r14, 7
mov rcx, qword [rbp + r14]
test rcx, rcx
jne 0x14015475f
sub r14, 0xffffffffffffff80
cmp r12, r14
jne 0x140154747
jmp 0x1401541fe
lock dec dword [rcx]
jne 0x140154751
mov rax, qword [rcx + 0x10]
mov rbx, r11
call qword [case.0x140211850.0]
mov r11, rbx
mov rbx, qword [rsp + 0x38]
mov r9, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
jmp 0x140154751
cmp dword [r15 + 0x124], 0
jle 0x1401535c3
mov al, 1
mov byte [rsp + 0xd0], al
mov byte [r15 + 0x148], al
jmp 0x14015365d
mov rcx, qword [rax + 0x30]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rsi, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xa0]
cmp rsi, rdi
je 0x1401542fa
mov r14, qword [sym.imp.KERNEL32.dll_SetEvent]
mov rbp, qword [rsp + 0x30]
mov r12, qword [rsi]
test r12, r12
je 0x140154e99
lock inc dword [r12 + 8]
mov rcx, qword [r12 + 0x30]
call r14
lock dec dword [r12 + 8]
je 0x140154eac
add rsi, 8
cmp rsi, rdi
je 0x1401542fa
jmp 0x1401547d4
add rdi, 0xfffffffffffffff8
mov rcx, rdi
call fcn.140081c60
cmp rdi, rsi
jne 0x140154809
mov rcx, qword [rsp + 0xb8]
jmp 0x1401546d9
add rdi, 0xfffffffffffffff8
mov rcx, rdi
call fcn.140081c60
cmp rdi, rsi
jne 0x140154827
mov rcx, qword [rsp + 0x98]
jmp 0x1401546ff
lock dec dword [rdi + 8]
jne 0x140153fa7
mov rcx, rdi
call fcn.140114010
mov rcx, rdi
call fcn.14016eccc
jmp 0x140153fa7
mov rcx, qword [rsp + 0x58]
lea r14, [rcx*8]
shl rbp, 3
mov rcx, qword [rsp + 0x28]
mov rcx, qword [rcx + rbp]
test rcx, rcx
jne 0x140154891
add rbp, 8
cmp r14, rbp
jne 0x140154875
jmp 0x140154670
lock dec dword [rcx]
jne 0x140154883
mov rax, qword [rcx + 0x10]
call qword [case.0x140211850.0]
lea rax, fcn.140055170
jmp 0x140154883
cmp rbp, r14
jb 0x140154b92
jl 0x140154b95
je 0x14015490b
mov rax, qword [r15 + 0x50]
shl rbp, 7
shl r14, 7
mov qword [rsp + 0x28], rax
mov rcx, qword [rax + r14]
test rcx, rcx
jne 0x1401548df
sub r14, 0xffffffffffffff80
cmp rbp, r14
jne 0x1401548cb
jmp 0x140154907
lock dec dword [rcx]
jne 0x1401548d4
mov rax, qword [rcx + 0x10]
mov rbx, r11
call qword [case.0x140211850.0]
mov rax, qword [rsp + 0x28]
mov r11, rbx
mov rbx, qword [rsp + 0x38]
mov r9, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
jmp 0x1401548d4
mov r14, qword [r15 + 0x58]
cmp r14, r12
jb 0x140154b98
test r12, r12
js 0x140154b86
je 0x1401541fe
mov r14, qword [r15 + 0x50]
shl r12, 7
xor ebp, ebp
mov rcx, qword [r14 + rbp]
test rcx, rcx
jne 0x140154944
sub rbp, 0xffffffffffffff80
cmp r12, rbp
jne 0x14015492d
jmp 0x1401541fe
lock dec dword [rcx]
jne 0x140154936
mov rax, qword [rcx + 0x10]
mov rbx, r11
call qword [case.0x140211850.0]
mov r11, rbx
mov rbx, qword [rsp + 0x38]
mov r9, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
jmp 0x140154936
mov rcx, qword [rsp + 0x88]
call fcn.1400ed890
jmp 0x140153f85
cmp byte [rax + 0x98], 0
jne 0x140154c64
mov rcx, rbx
mov rdx, rdi
call fcn.140131a00
test al, al
je 0x140153f43
mov rcx, rbx
mov rdx, rdi
call fcn.140115b40
jmp 0x140153f43
lea r12, [r15 + 0xa0]
mov rcx, r12
mov r14, r9
mov rbp, rbx
mov rbx, r11
call fcn.1401b5410
mov rcx, qword [r12]
call fcn.14016eccc
mov r11, rbx
mov rbx, rbp
mov r9, r14
jmp 0x1401541c2
mov r14, rbx
mov rax, qword [rsp + 0x88]
mov rdx, qword [rax + 0xa0]
mov r8, qword [rax + 0xa8]
test rdx, rdx
je 0x1401549fa
lock inc dword [rdx + 8]
call fcn.1400ed4e0
mov rcx, qword [rsp + 0x88]
cmp byte [rcx + 0x168], 0
jne 0x140154ec1
mov rsi, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xc0]
cmp rsi, rdi
mov rbp, qword [rsp + 0x30]
mov rbx, r14
je 0x14015430b
mov rbp, qword [rsp + 0x30]
mov r12, qword [rsi]
test r12, r12
je 0x140154a48
lock inc dword [r12 + 8]
mov rax, qword [rsp + 0x88]
mov rdx, qword [rax + 0xa0]
mov r8, qword [rax + 0xa8]
test rdx, rdx
je 0x140154a67
lock inc dword [rdx + 8]
mov rcx, r12
call fcn.1400ed4e0
mov rcx, qword [rsp + 0x88]
cmp byte [rcx + 0x168], 0
jne 0x140154ed2
test r12, r12
je 0x140154a95
lock dec dword [r12 + 8]
je 0x140154ee3
add rsi, 8
cmp rsi, rdi
mov rbx, r14
je 0x14015430b
jmp 0x140154a3a
mov rcx, r12
call qword [case.0x140211850.0]
mov rax, qword [r12]
jmp 0x140153efa
mov rcx, r15
call fcn.140047ff0
jmp 0x140153e83
mov rcx, qword [rsp + 0x40]
call fcn.140047ff0
jmp 0x1401543b2
mov rcx, qword [rsp + 0x88]
call fcn.1400ed890
jmp 0x140154327
mov rcx, rbx
mov rdx, rdi
call fcn.140244960
mov rbp, qword [rsp + 0x30]
jmp 0x140153f43
mov rcx, r15
call fcn.140047ff0
jmp 0x1401536b5
mov rcx, rbp
call fcn.140047ff0
jmp 0x140154388
lea rax, str.front___called_on_an_empty_vector
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_vector
lea r9, str._empty__
mov r8d, 0x225
call fcn.1401c469a
lea rax, str.out_of_bounds_access_in_std::array_T__N_
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_array
lea r9, str.__n____Size
mov r8d, 0xda
call fcn.1401c469a
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
lea rax, str.vector::pop_back_called_on_an_empty_vector
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_vector
lea r9, str._empty__
mov r8d, 0x623
call fcn.1401c469a
lea rax, str.vector___index_out_of_bounds
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_vector
lea r9, str.__n___size__
mov r8d, 0x587
call fcn.1401c469a
lock dec dword [rcx + 8]
jne 0x140153850
mov edx, 1
mov r15, r9
mov r12, r10
mov qword [rsp + 0x38], rbx
mov rbx, r11
call fcn.14007bad0
mov r11, rbx
mov rbx, qword [rsp + 0x38]
mov r10, r12
mov r9, r15
jmp 0x140153850
mov rcx, r15
call fcn.140156f20
mov rcx, qword [rbx + 0x30]
jmp 0x140153392
lea rdx, [rsp + 0x70]
mov rcx, r15
call qword [case.0x140211850.0]
jmp 0x14015365d
call fcn.1401571d0
jmp 0x140153fe8
mov rdx, qword [rax + 0x128]
mov rcx, qword [rax + 0x130]
sub rcx, rdx
mov rdx, qword [rax + 0xe8]
sub rdx, qword [rax + 0xe0]
sar rdx, 3
sar rcx, 3
sub rdx, rcx
cmp rdx, qword [rax + 0x100]
jbe 0x140153710
jmp 0x140154cae
mov rax, qword [r13 + 0xe8]
sub rax, qword [r13 + 0xe0]
sar rax, 3
cmp rax, qword [r13 + 0x100]
jbe 0x140153e46
mov rcx, rbx
mov rdx, rdi
call fcn.140115b40
jmp 0x140154af2
mov rcx, r13
call fcn.140047ff0
jmp 0x1401539c6
call qword [case.0x140211850.0]
mov rdx, rax
jmp 0x140153ad7
call qword [case.0x140211850.0]
mov rdx, rax
jmp 0x140153dad
call qword [case.0x140211850.0]
mov rdx, rax
jmp 0x140153e10
lea rdx, [rsp + 0x60]
mov rcx, r15
call fcn.14014f200
mov rdi, qword [rsp + 0x50]
jmp 0x140153d1c
lock dec dword [rcx + 8]
jne 0x140153c36
mov edx, 1
call fcn.14007bad0
jmp 0x140153c36
mov rcx, qword [rsp + 0xf8]
test rcx, rcx
je 0x140153c5f
mov qword [rsp + 0xf0], 0
lea rdi, [rsp + 0x60]
mov rdx, rdi
call fcn.140152c90
mov r8, qword [rdi]
jmp 0x140153c70
lock dec dword [r8 + 8]
jne 0x140153c7e
mov rcx, r8
mov edx, 1
call fcn.14007bad0
jmp 0x140153c7e
lock dec dword [rcx + 8]
jne 0x140153cab
mov edx, 1
call fcn.14007bad0
jmp 0x140153cab
test rax, rax
je 0x140154dab
mov qword [rax], r14
add rax, 8
mov qword [rsp + 0xa0], rax
mov r12, qword [rsp + 0x28]
jmp 0x140153a06
lea rax, str.null_pointer_given_to_construct_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude__memoryconstruct_at.h
lea r9, str.__location___nullptr
mov r8d, 0x23
call fcn.1401c469a
mov rcx, qword [0x30]
call qword [sym.imp.KERNEL32.dll_SetEvent]
jmp 0x140154084
mov rcx, rdi
call fcn.140114010
mov rcx, rdi
call fcn.14016eccc
jmp 0x140154084
mov rcx, rbp
mov r14, r9
mov r12, rbx
mov rbx, r11
call fcn.140246d90
mov rcx, qword [rbp]
call fcn.14016eccc
mov r11, rbx
mov rbx, r12
mov r9, r14
jmp 0x1401541ed
add rcx, 0x170
call fcn.140143000
jmp 0x1401545da
lock dec dword [rcx]
jne 0x140154e57
mov rax, qword [rcx + 0x10]
call qword [case.0x140211850.0]
jmp 0x140154e57
mov rcx, qword [r12 - 0x80]
add r12, 0xffffffffffffff80
test rcx, rcx
jne 0x140154e38
cmp r12, r14
jne 0x140154e49
mov rdx, qword [rbp]
mov r9, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
lea r11, fcn.140055170
jmp 0x1401541dd
add rcx, 0x170
call fcn.140143000
jmp 0x14015463b
mov rcx, rdi
call fcn.140114010
mov rcx, rdi
call fcn.14016eccc
jmp 0x14015464a
mov rcx, qword [0x30]
call qword [sym.imp.KERNEL32.dll_SetEvent]
jmp 0x1401547fa
mov rcx, r12
call fcn.140114010
mov rcx, r12
call fcn.14016eccc
jmp 0x1401547fa
add rcx, 0x170
call fcn.140143000
jmp 0x140154a14
add rcx, 0x170
call fcn.140143000
jmp 0x140154a84
mov rcx, r12
call fcn.140114010
mov rcx, r12
call fcn.14016eccc
jmp 0x140154a95
mov rcx, r14
call fcn.140047ff0
jmp 0x140154562