Function at 0x14015a240
Capabilities:
Check for time delay via queryperformancecounter
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1f8
movapd xmmword [rsp + 0x1e0], xmm11
movaps xmmword [rsp + 0x1d0], xmm10
movaps xmmword [rsp + 0x1c0], xmm9
movaps xmmword [rsp + 0x1b0], xmm8
movaps xmmword [rsp + 0x1a0], xmm7
movaps xmmword [rsp + 0x190], xmm6
mov rsi, rcx
mov rax, qword [0x1402cb038]
xor rax, rsp
mov qword [rsp + 0x188], rax
test byte [0x1402d90d0], 0x19
jne 0x14015bdee
mov rcx, qword [rsi + 0x68]
test rcx, rcx
jne 0x14015bd05
mov rcx, qword [rsi + 0x50]
mov rdx, rsi
call fcn.140004f20
mov eax, dword [0x1402e5c00]
test eax, eax
je 0x14015a3cf
mov rax, qword [rsi + 0x58]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x14015a2e9
cmp dword [rsi + 0x70], 0
je 0x14015a3cf
mov rcx, qword [0x1402e5bf8]
test rcx, rcx
je 0x14015a3cf
lea rdi, [rsp + 0xc0]
mov rdx, rdi
mov r8d, 2
call fcn.140005620
mov rax, qword [rdi]
mov qword [rsp + 0x70], rax
test byte [0x1402d90d0], 0x19
jne 0x14015bd98
test byte [0x1402d9050], 0x19
jne 0x14015bc7e
mov rcx, qword [rsi + 0x50]
lea rdx, [rsi + 0x38]
mov qword [rsp + 0x68], rdx
call fcn.1400046a0
test byte [0x1402d90d0], 0x19
jne 0x14015be93
mov eax, dword [0x1402db110]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 0x180]
mov qword [rsp + 0x88], rcx
lea rcx, [rax + 0x188]
mov qword [rsp + 0x78], rcx
lea rax, [rax + 0x208]
mov qword [rsp + 0x80], rax
mov r13, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov r15, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
movaps xmm6, xmmword [0x14029ca60]
movsd xmm7, qword [0x1402b5660]
movsd xmm8, qword [0x1402a9af8]
movsd xmm9, qword [0x1402a9b00]
xorps xmm10, xmm10
lea r14, [rsp + 0xc0]
xor edi, edi
jmp 0x14015a6fc
xor eax, eax
jmp 0x14015a312
mov rax, qword [r15 + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x14015a4d1
jmp 0x14015b433
mov rbx, r13
lea r13, [r15 + 0x20]
mov rcx, r13
call rbx
test al, al
je 0x14015ba44
mov rcx, qword [r15 + 0x28]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rcx, r13
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
call r14
mov rcx, r13
call rbx
test al, al
je 0x14015ba52
mov rax, qword [r15 + 0x30]
mov qword [rsp + 0x50], rax
mov rax, qword [r15 + 0x38]
mov qword [rsp + 0x58], rax
movups xmmword [r15 + 0x30], xmm10
mov r14, qword [r15 + 0x40]
mov rbx, qword [r15 + 0x48]
movups xmmword [r15 + 0x40], xmm10
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, r14
mov rax, rbx
cmp r14, rbx
jne 0x14015b931
lea rcx, fcn.140163210
mov rdx, qword [rsp + 0x50]
xor r8d, r8d
call fcn.14015e2b0
lea r14, [rsp + 0xc0]
mov r13, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
jmp 0x14015a6d2
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14015a72a
mov ebp, 3
jmp 0x14015a752
mov r15, qword [rsp + 0xb8]
test r15, r15
je 0x14015a6c6
mov qword [rsp + 0xb0], 0
mov al, byte [r12 + 0xd]
and al, 0x7f
cmp al, 2
je 0x14015a3d6
lock dec dword [r15 + 0x18]
je 0x14015a3f1
lock dec dword [r12 + 8]
jne 0x14015a6db
lea rax, [0x14029f188]
mov qword [r12], rax
mov rbx, qword [r12 + 0xa8]
test rbx, rbx
jne 0x14015b363
lea r15, [r12 + 0x70]
mov rbx, qword [r12 + 0x70]
mov r13, qword [r12 + 0x78]
mov rdx, rbx
cmp r13, rbx
jne 0x14015bd17
mov qword [r12 + 0x78], rbx
test rdx, rdx
jne 0x14015bd66
mov rax, qword [r12 + 0x58]
mov rbx, qword [r12 + 0x60]
cmp rbx, rax
jne 0x14015bae6
mov rdx, qword [r12 + 0x48]
lea rcx, fcn.140163210
xor r8d, r8d
call fcn.14015e2b0
lea rax, [0x14029f208]
mov qword [r12], rax
mov rcx, qword [r12 + 0x30]
mov rax, qword [0x1402cbde0]
and rax, rcx
cmp rax, qword [0x1402cbdc8]
jne 0x14015a57c
call fcn.140150dc0
mov rcx, r12
call fcn.1401cbbbc
mov r13, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
jmp 0x14015a6db
mov rcx, qword [rsi + 0x50]
call fcn.140004c70
jmp 0x14015a7d6
mov qword [rsp + 0x110], rax
lea rcx, [rsp + 0x110]
call fcn.14014b4b0
mov rcx, qword [rsi + 0x58]
movapd xmm0, xmmword [rsp + 0xb0]
movupd xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0xb0], xmm10
mov rdx, r14
lea r8, [rsp + 0xa0]
call fcn.14015c1e0
mov r8, qword [rsp + 0xb0]
test r8, r8
jne 0x14015b4ad
mov qword [rsp + 0x160], r8
mov qword [rsp + 0xb0], 0
test r8, r8
jne 0x14015b490
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xc0], 0
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0xb0], rax
test rcx, rcx
jne 0x14015b555
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0xc0], rax
mov rcx, r14
call fcn.14014b4b0
mov rcx, qword [rsi + 0x50]
movapd xmm0, xmmword [rsp + 0xb0]
movupd xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0xb0], xmm10
lea rdx, [rsp + 0x90]
call fcn.140170bc0
cmp qword [rsp + 0xb0], 0
jne 0x14015b483
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
mov dil, 1
xor ebp, ebp
mov r12, qword [rsp + 0xb0]
test r12, r12
jne 0x14015a4a5
mov qword [rsp + 0xb0], 0
test r12, r12
jne 0x14015a4dc
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
jne 0x14015b46a
test bpl, bpl
mov r15, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jne 0x14015b1b0
movzx eax, byte [rsi + 0x48]
test al, al
jne 0x14015b1b0
movzx eax, byte [rsi + 0x78]
test al, al
jne 0x14015b1b0
mov rbx, qword [rsi + 0x58]
lea r12, [rbx + 0x50]
mov rcx, r12
call r13
test al, al
je 0x14015a48d
mov rax, qword [rbx + 0x58]
test rax, rax
jne 0x14015b31a
mov rcx, r12
call r15
mov rax, qword [rsi + 0x58]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x14015a49b
mov ebp, dword [rsi + 0x70]
cmp dword [rsi + 0x74], ebp
jne 0x14015b3d6
movaps xmmword [rsp + 0xb0], xmm6
mov rcx, qword [rsi + 0x50]
lea rdx, [rsp + 0xb0]
mov r8, rsi
call fcn.140199300
mov rax, qword [rsp + 0xb0]
test rax, rax
jne 0x14015a5a0
movzx eax, byte [rsi + 0x48]
mov bpl, 1
test al, al
jne 0x14015a6b5
movzx eax, byte [rsi + 0x78]
test al, al
jne 0x14015a6b5
mov rbx, qword [rsi + 0x58]
lea r12, [rbx + 0x50]
mov rcx, r12
call r13
test al, al
je 0x14015b2d0
mov rax, qword [rbx + 0x58]
test rax, rax
jne 0x14015b33a
mov rcx, r12
call r15
test dil, 1
je 0x14015a590
test byte [0x1402d90d0], 0x19
jne 0x14015b6a9
test byte [0x1402d9050], 0x19
jne 0x14015b486
mov rcx, qword [rsi + 0x50]
mov rax, qword [rcx]
lea rdx, [fcn.1400046a0]
cmp qword [rax + 0x30], rdx
jne 0x14015aa12
cmp byte [rcx + 0x40], 0
movabs rdi, 0x7fffffffffffffff
jne 0x14015b095
cmp rdi, 0xf4240
mov r13d, 0xf4240
cmovl r13, rdi
mov eax, dword [0x1402e6bc0]
mov ecx, dword [0x1402db110]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14015b2de
cmp byte [0x1402e6bbc], 0
jne 0x14015b729
test r13, r13
jle 0x14015b078
movaps xmmword [rsp + 0xc0], xmm6
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x100], rax
movaps xmmword [rsp + 0xf0], xmm6
movaps xmmword [rsp + 0xe0], xmm6
movaps xmmword [rsp + 0xd0], xmm6
mov byte [rsp + 0xc0], 0
mov byte [rsp + 0x100], 0
cmp byte [rsi + 0x40], 0
je 0x14015ac90
movabs rax, 0x7fffffffffffffff
cmp r13, rax
je 0x14015a9da
mov rax, qword [0x1402da988]
lea rcx, [0x1401c94c0]
cmp rax, rcx
jne 0x14015a9f7
mov qword [rsp + 0x160], 0
lea rcx, [rsp + 0x160]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x160]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x14015b67f
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402e4008]
mov r12, rax
lea rax, [r12 + r13]
sar rax, 0x3f
btc rax, 0x3f
add r12, r13
cmovo r12, rax
mov rcx, r13
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
je 0x14015a9d3
mov rax, rcx
shr rax, 3
movabs rdx, 0x20c49ba5e353f7cf
mul rdx
shr rdx, 4
imul rax, rdx, 0x3e8
cmp rax, rcx
adc rdx, 0
mov rax, rdx
shr rax, 0x20
jne 0x14015a9d3
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x14015aa1e
mov bl, 1
cmp byte [rsi + 0x40], 0
je 0x14015a9e9
cmp byte [rsp + 0x100], 0
jne 0x14015aaba
test bl, bl
je 0x14015ad9f
xor ebp, ebp
test byte [0x1402d90d0], 0x19
mov edi, 0
mov r13, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
je 0x14015a6b5
jmp 0x14015b84d
mov edx, 0xffffffff
jmp 0x14015a97f
movabs r12, 0x7fffffffffffffff
jmp 0x14015a93a
test byte [0x1402d99f0], 0x19
je 0x14015a99d
jmp 0x14015bbac
lea rcx, [rsp + 0x110]
call qword [0x1402f5008]
mov r12, qword [rsp + 0x110]
jmp 0x14015a926
mov rdx, qword [rsp + 0x68]
call fcn.1400046a0
jmp 0x14015a9b3
mov rax, qword [0x1402da988]
lea rcx, [0x1401c94c0]
cmp rax, rcx
jne 0x14015aaa2
mov qword [rsp + 0x160], 0
lea rcx, [rsp + 0x160]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x160]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x14015ba1d
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402e4008]
xor edx, edx
cmp r12, rax
setns dl
movabs rcx, 0x7fffffffffffffff
add rdx, rcx
mov rcx, r12
sub rcx, rax
cmovo rcx, rdx
jg 0x14015a93d
xor ebx, ebx
jmp 0x14015a99d
lea rcx, [rsp + 0x160]
call qword [0x1402f5008]
mov rax, qword [rsp + 0x160]
jmp 0x14015aa76
test byte [0x1402d90d0], 0x19
jne 0x14015ba60
call fcn.1401cbc78
mov r15d, dword [rax]
call fcn.1401cbc78
mov dword [rax], 0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r14, qword [rsp + 0xc0]
test r14, r14
je 0x14015ab6c
cmp qword [rsp + 0xc8], 0
jne 0x14015ab6c
cmp byte [r14 + 0x19], 0
je 0x14015ab6c
mov r12, qword [r14 + 0x28]
add r12, 0x28
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14015aed0
mov qword [r14 + 0x20], 0
cmp byte [r14 + 0x3b], 0
jne 0x14015ab5c
cmp byte [r14 + 0x39], 0
mov rax, qword [r14 + 0x28]
jne 0x14015ae54
dec dword [rax + 0x140]
cmp byte [r14 + 0x19], 0
je 0x14015bcc4
cmp byte [r14 + 0x18], 0
je 0x14015ae2b
mov word [r14 + 0x39], 0
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
call fcn.1401cbc78
mov dword [rax], r15d
cmp byte [rsp + 0xf8], 0
lea r14, [rsp + 0xc0]
je 0x14015ab9b
mov rbp, qword [rsp + 0xf0]
test rbp, rbp
jne 0x14015ac07
mov rax, qword [rsp + 0xd0]
test rax, rax
je 0x14015abb3
mov rcx, qword [rsp + 0xd8]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xc8]
mov rax, qword [0x1402cbde0]
and rax, rcx
cmp rax, qword [0x1402cbdc8]
je 0x14015b039
mov qword [rsp + 0xc8], 0
mov rcx, qword [rsp + 0xc0]
mov rax, qword [0x1402cbde0]
and rax, rcx
cmp rax, qword [0x1402cbdc8]
jne 0x14015a9ab
call fcn.1401509f0
jmp 0x14015a9ab
mov rax, qword [fcn.1401c9410]
lea rcx, [rsp + 0x110]
call qword [0x1402f5008]
mov r8, qword [rsp + 0xe8]
mov r12, qword [rsp + 0x110]
xor eax, eax
cmp r12, r8
setns al
movabs rcx, 0x7fffffffffffffff
add rax, rcx
mov r15, r12
sub r15, r8
cmovo r15, rax
cmp r15, 0xf4240
jge 0x14015aede
mov r12, qword [rsp + 0xf0]
test r12, r12
lea r14, [rsp + 0xc0]
je 0x14015ab9b
lock dec dword [r12]
jne 0x14015ab9b
jmp 0x14015bcf0
mov rcx, r12
call fcn.1401508a0
mov rcx, qword [rsp + 0x78]
jmp 0x14015ace2
lea rcx, [rsp + 0x160]
lea rdx, str.TimedWait
lea r8, str.waitable_event.cc
mov r9d, 0x24
call fcn.140158eb0
cmp byte [rsp + 0x100], 0
jne 0x14015ba02
mov rax, qword [rsp + 0x88]
mov r12, qword [rax]
mov rax, qword [0x1402cbde0]
and rax, r12
cmp rax, qword [0x1402cbdc8]
mov rcx, qword [rsp + 0x78]
je 0x14015ac81
mov qword [rsp + 0xc0], r12
mov r12, qword [rcx]
mov rax, qword [0x1402cbde0]
and rax, r12
cmp rax, qword [0x1402cbdc8]
je 0x14015b027
mov qword [rsp + 0xc8], r12
mov qword [rsp + 0xd0], rcx
mov rax, qword [rcx]
mov qword [rcx], r14
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0xc8]
test rax, rax
jne 0x14015ad9a
xor ecx, ecx
mov byte [rsp + 0xe0], cl
xor edx, edx
mov byte [rsp + 0xe8], dl
mov byte [rsp + 0xf8], dl
mov rcx, qword [rsp + 0x80]
cmp byte [rcx], dl
je 0x14015adf0
test rax, rax
jne 0x14015ae45
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x14015ad80
cmp qword [rsp + 0xc8], 0
jne 0x14015ad80
xor edx, edx
call fcn.1401c6f60
test byte [0x1402d90d0], 0x19
jne 0x14015b054
mov byte [rsp + 0x100], 1
jmp 0x14015a8b4
mov cl, byte [rax + 0x20]
jmp 0x14015ad31
call fcn.14015d870
cmp rdi, r13
jle 0x14015a9b3
setns al
movzx eax, al
movabs rcx, 0x7fffffffffffffff
add rax, rcx
mov rdx, rdi
sub rdx, r13
cmovo rdx, rax
lea rax, [rcx + r13]
add rax, 2
cmp rax, 2
cmovb rdx, rcx
cmp rdi, rcx
cmove rdx, rcx
mov rcx, qword [rsp + 0x68]
call fcn.14014b4c0
jmp 0x14015a9b3
mov eax, dword [0x1402e6028]
mov ecx, dword [0x1402db110]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14015ae87
cmp byte [0x1402e6024], 0
jne 0x14015ad61
mov rax, qword [rsp + 0xc8]
jmp 0x14015ad58
cmp byte [r14 + 0x3a], 0
mov rcx, qword [r14 + 0x28]
jne 0x14015b043
dec dword [rcx + 0x144]
jmp 0x14015ab5c
cmp byte [rax + 0x38], 0
je 0x14015ad61
jmp 0x14015bf62
mov rcx, qword [rax + 0x40]
mov rdx, qword [rax + 0x120]
dec rdx
mov qword [rax + 0x120], rdx
cmp rcx, qword [rax + 0x48]
je 0x14015ae7c
cmp qword [rax + 0x130], rdx
jae 0x14015b01a
mov word [rax + 0x78], 0
jmp 0x14015ab46
lea rcx, [0x1402e6028]
call fcn.1401cc16c
cmp dword [0x1402e6028], 0xffffffff
jne 0x14015ae11
mov rcx, qword [0x1402e5ab0]
test rcx, rcx
je 0x14015aeb8
lea rdx, str.enable_background_thread_pool
call fcn.1401a49f0
mov byte [0x1402e6024], 1
lea rcx, [0x1402e6028]
call fcn.1401cc1d4
jmp 0x14015ae11
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14015ab22
mov eax, 0x3938700
add rax, qword [rbp + 0x1f0]
movabs r14, 0x7fffffffffffffff
cmovo rax, r14
cmp rax, r12
mov qword [rsp + 0x58], r8
jle 0x14015c026
mov rax, qword [rbp + 0x1f0]
xor edx, edx
cmp r8, rax
setns dl
add rdx, r14
mov rcx, r8
sub rcx, rax
cmovo rcx, rdx
movabs rdx, 0x7fffffffffffffff
add rdx, rcx
add rdx, 2
cmp rdx, 2
jb 0x14015bff2
cvtsi2sd xmm0, rcx
divsd xmm0, qword [0x1402a8c80]
call fcn.140206160
movsd xmm11, qword [0x1402909c0]
ucomisd xmm11, xmm0
jb 0x14015bfa7
maxsd xmm0, qword [0x1402909d8]
cvttsd2si ecx, xmm0
movabs rax, 0x7fffffffffffffff
add rax, r15
add rax, 2
cmp rax, 2
mov dword [rsp + 0x50], ecx
jb 0x14015c00b
xorps xmm0, xmm0
cvtsi2sd xmm0, r15
divsd xmm0, qword [0x1402a8c80]
call fcn.140206210
ucomisd xmm11, xmm0
jb 0x14015bfbe
maxsd xmm0, qword [0x1402909d8]
cvttsd2si r14d, xmm0
mov r12d, dword [rsp + 0x50]
add r14d, r12d
cmp r14d, 0x3c
mov r15d, 0x3c
cmovl r15d, r14d
lea rcx, [rbp + 8]
mov qword [rsp + 0x50], rcx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14015bf97
cmp r12d, r15d
jge 0x14015b000
movsxd rax, r12d
movsxd rcx, r15d
inc qword [rbp + rax*8 + 0x10]
inc rax
cmp rcx, rax
jne 0x14015aff3
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp r14d, 0x3d
jl 0x14015ac58
jmp 0x14015bfd7
movzx ecx, word [rcx + 0x10]
mov word [rax + 0x78], cx
jmp 0x14015ab46
mov rcx, r12
call fcn.1401508a0
mov rcx, qword [rsp + 0x78]
jmp 0x14015ad04
call fcn.1401509f0
jmp 0x14015abd2
dec qword [rcx + 0x128]
call fcn.140207030
jmp 0x14015ab5c
lea rdx, [rsp + 0x110]
lea rax, [rsp + 0x160]
mov qword [rdx], rax
lea rcx, str.ScopedBlockingCallWithBaseSyncPrimitives
call fcn.1402384f0
jmp 0x14015ad8d
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x14015a9b3
jmp 0x14015ad9f
mov rax, qword [rcx + 0x30]
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rax + 0x90]
mulsd xmm0, xmm7
ucomisd xmm8, xmm0
jb 0x14015bd7b
maxsd xmm0, xmm9
cvttsd2si rdi, xmm0
jmp 0x14015a81c
mov rcx, r14
call fcn.1401c9410
call sub.KERNEL32.dll_GetCurrentThreadId
mov qword [rsp + 0x38], r14
mov dword [rsp + 0x30], eax
xorps xmm6, xmm6
movups xmmword [rsp + 0x20], xmm6
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x1402d90d0]
lea r8, str.WorkerThread_active
mov cl, 0x45
xor r9d, r9d
call fcn.1402331d0
test byte [0x1402d90d0], 0x19
je 0x14015b247
mov rcx, r14
call fcn.1401c9410
call sub.KERNEL32.dll_GetCurrentThreadId
mov qword [rsp + 0x38], r14
mov dword [rsp + 0x30], eax
movups xmmword [rsp + 0x20], xmm6
mov dword [rsp + 0x48], 8
mov qword [rsp + 0x40], 0
lea rdx, [0x1402d90d0]
lea r8, str.WorkerThread_dead
mov cl, 0x49
xor r9d, r9d
call fcn.1402331d0
jmp 0x14015b247
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x1402f5008]
jmp 0x14015b220
call fcn.140209370
jmp 0x14015b254
call sub.KERNEL32.dll_WakeConditionVariable
jmp 0x14015b20a
lock dec dword [rdi + 8]
jne 0x14015b235
mov rcx, rdi
call fcn.140005b00
mov rcx, rdi
call fcn.1401cbbbc
jmp 0x14015b235
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14015b1eb
mov rbx, qword [rsi + 0x50]
mov rcx, qword [rbx + 0x18]
mov qword [rbx + 0x18], 0
test rcx, rcx
je 0x14015b1d6
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [0x1402f5008]
mov rdi, qword [rbx + 0x30]
add rdi, 0x28
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14015b1a5
mov rax, qword [rbx + 0x30]
inc qword [rax + 0x170]
mov rax, qword [rbx + 0x30]
mov rcx, qword [rax + 0x178]
test rcx, rcx
jne 0x14015b17c
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rsi + 0x68]
test rcx, rcx
jne 0x14015b160
mov rdi, qword [rsi + 0x10]
mov qword [rsi + 0x10], 0
test rdi, rdi
jne 0x14015b186
test byte [0x1402d90d0], 0x19
mov rsi, qword [rsp + 0x70]
jne 0x14015b0c3
test byte [0x1402d9050], 0x19
jne 0x14015b172
test rsi, rsi
je 0x14015b278
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [0x1402f5008]
lock dec dword [rsi]
jne 0x14015b278
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [0x1402f5008]
mov rcx, qword [rsp + 0x188]
xor rcx, rsp
call fcn.1401ce5b0
movaps xmm6, xmmword [rsp + 0x190]
movaps xmm7, xmmword [rsp + 0x1a0]
movaps xmm8, xmmword [rsp + 0x1b0]
movaps xmm9, xmmword [rsp + 0x1c0]
movaps xmm10, xmmword [rsp + 0x1d0]
movaps xmm11, xmmword [rsp + 0x1e0]
add rsp, 0x1f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14015a7b9
lea rcx, [0x1402e6bc0]
call fcn.1401cc16c
cmp dword [0x1402e6bc0], 0xffffffff
jne 0x14015a852
lea rcx, str.DelayFirstWorkerWake
call fcn.14015db70
mov byte [0x1402e6bbc], al
lea rcx, [0x1402e6bc0]
call fcn.1401cc1d4
jmp 0x14015a852
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebp, eax
mov rcx, r12
call r15
test ebp, ebp
jne 0x14015a73d
jmp 0x14015b1b0
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov r13d, eax
mov rcx, r12
call r15
test r13d, r13d
mov r13, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
jne 0x14015a7cc
jmp 0x14015a6b5
mov rax, qword [r12 + 0xb0]
mov rcx, rbx
cmp rax, rbx
je 0x14015b3ab
mov r14, rax
add r14, 0xffffffffffffffe8
je 0x14015bd3a
mov rcx, qword [rax - 0x10]
test rcx, rcx
je 0x14015b393
mov rax, qword [rax - 8]
call qword [0x1402f5008]
mov rax, r14
cmp r14, rbx
jne 0x14015b376
mov rcx, qword [r12 + 0xa8]
lea r14, [rsp + 0xc0]
mov qword [r12 + 0xb0], rbx
call fcn.1401cbbbc
jmp 0x14015a504
mov edx, 3
jmp 0x14015b3f7
mov eax, dword [rax + 0x38]
cmp eax, 3
je 0x14015b3bd
xor edx, edx
cmp eax, 1
sete dl
jmp 0x14015b3f7
mov eax, dword [0x1402db110]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x178]
xor edx, edx
test rax, rax
jne 0x14015b3c4
cmp ebp, 7
jge 0x14015bc88
mov eax, dword [0x1402db110]
mov rcx, qword gs:[0x58]
mov rbx, qword [rcx + rax*8]
mov ecx, ebp
call fcn.14002f5d0
mov dword [rbx + 0x16c], ebp
mov dword [rsi + 0x74], ebp
jmp 0x14015a75b
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14015b444
lea r13, [r15 + 0x50]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14015b428
mov rcx, qword [r15 + 0x58]
call fcn.1401a45b0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
lea r14, [rsp + 0xc0]
mov r13, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
jmp 0x14015a4d1
lock dec dword [rcx + 8]
jne 0x14015a6ec
mov edx, 1
call fcn.1401a4330
jmp 0x14015a6ec
int3
call fcn.140209370
jmp 0x14015a7f0
lock dec dword [r8 + 8]
jne 0x14015a612
mov rcx, r8
mov edx, 1
call fcn.1401a4330
jmp 0x14015a612
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x14015a5f5
mov qword [rsp + 0xb0], 0
lea r12, [rsp + 0x160]
mov rdx, r12
call fcn.14001fa30
mov r8, qword [r12]
jmp 0x14015a609
add rbp, 0xffffffffffffff80
je 0x14015bd3a
mov rcx, rbp
call fcn.1401ca840
cmp rbp, rdi
jne 0x14015b4e3
mov rdx, qword [r13]
jmp 0x14015b606
mov rax, qword [r12 + 0xb0]
mov rcx, rdi
cmp rax, rdi
je 0x14015b543
mov rbx, rax
add rbx, 0xffffffffffffffe8
je 0x14015bd3a
mov rcx, qword [rax - 0x10]
test rcx, rcx
je 0x14015b533
mov rax, qword [rax - 8]
call qword [0x1402f5008]
mov rax, rbx
cmp rbx, rdi
jne 0x14015b516
mov rcx, qword [r12 + 0xa8]
mov qword [r12 + 0xb0], rdi
call fcn.1401cbbbc
jmp 0x14015b5eb
lock dec dword [rcx + 8]
jne 0x14015b565
mov edx, 1
call fcn.1401a4330
mov r12, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xb8], rax
xorpd xmm0, xmm0
movupd xmmword [rsp + 0xc0], xmm0
test r12, r12
lea r14, [rsp + 0xc0]
mov r13, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
je 0x14015a64f
lock dec dword [r12 + 8]
je 0x14015b5cf
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
lea r14, [rsp + 0xc0]
mov r13, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
je 0x14015a64f
jmp 0x14015c10b
lea rax, [0x14029f188]
mov qword [r12], rax
mov rdi, qword [r12 + 0xa8]
test rdi, rdi
jne 0x14015b503
lea r13, [r12 + 0x70]
mov rdi, qword [r12 + 0x70]
mov rbp, qword [r12 + 0x78]
mov rdx, rdi
cmp rbp, rdi
jne 0x14015b4e3
mov qword [r12 + 0x78], rdi
test rdx, rdx
jne 0x14015b66c
mov rax, qword [r12 + 0x58]
mov rdi, qword [r12 + 0x60]
cmp rdi, rax
jne 0x14015c124
mov rdx, qword [r12 + 0x48]
lea rcx, fcn.140163210
xor r8d, r8d
call fcn.14015e2b0
lea rax, [0x14029f208]
mov qword [r12], rax
mov rcx, qword [r12 + 0x30]
mov rax, qword [0x1402cbde0]
and rax, rcx
cmp rax, qword [0x1402cbdc8]
jne 0x14015b65f
call fcn.140150dc0
mov rcx, r12
call fcn.1401cbbbc
jmp 0x14015b5aa
mov rcx, r13
call fcn.140254a10
mov rcx, qword [r13]
call fcn.1401cbbbc
jmp 0x14015b610
mov rcx, qword [0x1402e4008]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
mov r12, rax
add r12, r8
jmp 0x14015a926
mov rcx, r14
call fcn.1401c9410
call sub.KERNEL32.dll_GetCurrentThreadId
mov qword [rsp + 0x38], r14
mov dword [rsp + 0x30], eax
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x1402d90d0]
lea r8, str.WorkerThread_active
mov cl, 0x45
xor r9d, r9d
call fcn.1402331d0
jmp 0x14015a7e3
lea rcx, [0x1402e6bd0]
call fcn.1401cc16c
cmp dword [0x1402e6bd0], 0xffffffff
jne 0x14015b76c
mov rax, qword [rsp + 0xc0]
mov qword [0x1402e6bc8], rax
lea rcx, [0x1402e6bd0]
call fcn.1401cc1d4
jmp 0x14015b76c
lea rcx, [rsp + 0xc0]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rcx], rax
mov rax, qword [fcn.1401c9410]
call qword [0x1402f5008]
mov eax, dword [0x1402e6bd0]
mov ecx, dword [0x1402db110]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14015b6f7
mov ecx, 0x3938700
mov rdx, qword [0x1402e6bc8]
add rdx, rcx
movabs r8, 0x7fffffffffffffff
cmovo rdx, r8
mov rax, qword [rsp + 0xc0]
cmp rax, rdx
cmovle r13, rcx
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x160], rcx
lea rcx, [r8 + r13]
add rcx, 2
cmp rcx, 2
jae 0x14015b7dd
movabs rdx, 0x7fffffffffffffff
lea rcx, [rdx + rax]
add rcx, 2
inc rdx
cmp rcx, 1
ja 0x14015b7f4
cmp rax, r13
je 0x14015b7f4
jmp 0x14015bc7b
lea rcx, [rax + r13]
sar rcx, 0x3f
btc rcx, 0x3f
add rax, r13
cmovo rax, rcx
mov rdx, rax
lea rcx, [rsp + 0x110]
mov qword [rcx], rdx
lea r12, [rsp + 0x160]
mov r9d, 0xf4240
mov rdx, r12
xor r8d, r8d
call fcn.1401c97c0
mov r13, qword [r12]
mov rax, qword [rsp + 0xc0]
xor ecx, ecx
cmp r13, rax
setns cl
movabs rdx, 0x7fffffffffffffff
add rdx, rcx
sub r13, rax
cmovo r13, rdx
lea r14, [rsp + 0xc0]
jmp 0x14015a85f
mov r12, qword [0x1402e23f8]
lea r13, [rsp + 0x110]
movaps xmmword [r13 + 0x10], xmm6
movaps xmmword [r13], xmm6
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x30], 0
lea r8, [0x1402d90d0]
lea r9, str.WorkerThread_active
mov rcx, r13
mov dl, 0x42
call fcn.140206a10
mov rcx, qword [r13]
test rcx, rcx
jne 0x14015b8bb
lea rcx, [rsp + 0x110]
call fcn.1402308a0
xor ebp, ebp
xor edi, edi
lea r14, [rsp + 0xc0]
mov r13, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
jmp 0x14015a6b5
xor r12, rsi
mov al, byte [rsp + 0x128]
mov rdx, qword [rsp + 0x118]
xor edi, edi
lea r13, [rsp + 0x160]
mov qword [r13], rdi
mov qword [r13 + 8], rcx
mov qword [r13 + 0x10], rdx
mov qword [r13 + 0x18], rdi
mov byte [r13 + 0x20], al
mov edx, 0x30
mov r8, r12
call fcn.140215690
mov rax, qword [r13]
lea rcx, [rsp + 0xc0]
mov qword [rcx], rax
mov qword [r13], rdi
movups xmm0, xmmword [r13 + 8]
movups xmmword [rcx + 8], xmm0
movupd xmm0, xmmword [r13 + 0x11]
movupd xmmword [rcx + 0x11], xmm0
call fcn.140206a20
mov rcx, r13
call fcn.140206a20
jmp 0x14015b896
mov qword [rsp + 0x60], rax
mov r15, qword [rsp + 0x50]
cmp qword [rsp + 0x58], r14
jb 0x14015bc8b
mov r13, qword [r15 + r14*8]
test r13, r13
je 0x14015bc8e
mov rbx, rcx
mov qword [r15 + r14*8], 0
mov rax, qword [r13 + 8]
mov rcx, r13
call qword [0x1402f5008]
lock dec dword [r13]
jne 0x14015b97f
mov rax, qword [r13 + 0x10]
mov rcx, r13
call qword [0x1402f5008]
inc r14
xor eax, eax
cmp r14, qword [rsp + 0x58]
cmove r14, rax
mov rax, qword [rsp + 0x60]
cmp r14, rax
mov rcx, rbx
jne 0x14015b931
cmp rax, rcx
jbe 0x14015c07c
mov rax, qword [rsp + 0x58]
cmp rax, qword [rsp + 0x60]
jb 0x14015bc91
cmp rbx, qword [rsp + 0x60]
jg 0x14015bc94
mov r14, qword [rsp + 0x60]
shl r14, 3
mov rax, rbx
shl rax, 3
jmp 0x14015b9ea
mov rax, qword [rcx + 0x10]
call qword [0x1402f5008]
mov rax, rbx
add rax, 8
cmp r14, rax
je 0x14015a465
mov rbx, rax
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + rax]
test rcx, rcx
je 0x14015b9da
lock dec dword [rcx]
je 0x14015b9d0
jmp 0x14015b9da
lea r12, [rsp + 0xc0]
mov rcx, r12
call fcn.140181760
mov byte [r12 + 0x40], 0
jmp 0x14015acbf
mov rcx, qword [0x1402e4008]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14015aa76
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14015a405
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14015a429
lea r12, [rsp + 0x110]
movaps xmmword [r12 + 0x10], xmm6
movaps xmmword [r12], xmm6
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x30], 0
lea r8, [0x1402d90d0]
lea r9, [0x1402a4a7e]
mov rcx, r12
mov dl, 0x45
call fcn.140206a10
mov rax, qword [r12]
test rax, rax
je 0x14015bad4
mov dl, byte [rsp + 0x128]
mov r8, qword [rsp + 0x118]
xor r9d, r9d
lea rcx, [rsp + 0x160]
mov qword [rcx], r9
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], r8
mov qword [rcx + 0x18], r9
mov byte [rcx + 0x20], dl
call fcn.140206a20
lea rcx, [rsp + 0x110]
call fcn.1402308a0
jmp 0x14015aac7
mov r14, qword [r12 + 0x50]
jbe 0x14015bb31
cmp r14, rbx
jb 0x14015bc97
cmp rax, rbx
jg 0x14015bc9a
shl rax, 7
mov r13, qword [r12 + 0x48]
add r13, rax
shl rbx, 7
sub rbx, rax
lea r14, [rsp + 0xc0]
mov rcx, r13
call fcn.1401ca840
sub r13, 0xffffffffffffff80
add rbx, 0xffffffffffffff80
jne 0x14015bb1a
jmp 0x14015a540
cmp r14, rax
jb 0x14015bc9d
jl 0x14015bca0
je 0x14015bb6c
shl rax, 7
mov r13, qword [r12 + 0x48]
add r13, rax
shl r14, 7
sub r14, rax
mov rcx, r13
call fcn.1401ca840
sub r13, 0xffffffffffffff80
add r14, 0xffffffffffffff80
jne 0x14015bb55
mov rax, qword [r12 + 0x50]
cmp rax, rbx
jb 0x14015bca3
test rbx, rbx
js 0x14015bca6
lea r14, [rsp + 0xc0]
je 0x14015a540
mov r13, qword [r12 + 0x48]
shl rbx, 7
mov rcx, r13
call fcn.1401ca840
sub r13, 0xffffffffffffff80
add rbx, 0xffffffffffffff80
jne 0x14015bb95
jmp 0x14015a540
mov r12, qword [0x1402e23f8]
lea rbp, [rsp + 0x140]
movaps xmmword [rbp + 0x10], xmm6
movaps xmmword [rbp], xmm6
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x30], 0
lea r8, [0x1402d99f0]
lea r9, str.WaitableEvent::Wait_Complete
mov rcx, rbp
mov dl, 0x49
call fcn.140206a10
mov rcx, qword [rbp]
test rcx, rcx
jne 0x14015bc0d
lea rcx, [rsp + 0x140]
call fcn.1402308a0
lea r14, [rsp + 0xc0]
jmp 0x14015a99d
xor r12, qword [rsp + 0x68]
mov al, byte [rsp + 0x158]
mov rdx, qword [rsp + 0x148]
lea rbp, [rsp + 0x110]
mov qword [rbp + 8], rcx
mov qword [rbp + 0x10], rdx
xor r14d, r14d
mov qword [rbp + 0x18], r14
mov byte [rbp + 0x20], al
mov edx, 0x30
mov r8, r12
call fcn.140215690
lea rcx, [rsp + 0x160]
mov qword [rcx], r14
mov qword [rbp], r14
movupd xmm0, xmmword [rbp + 8]
movups xmm1, xmmword [rbp + 0x11]
movupd xmmword [rcx + 8], xmm0
movups xmmword [rcx + 0x11], xmm1
call fcn.140206a20
mov rcx, rbp
call fcn.140206a20
jmp 0x14015bbf3
int3
call fcn.140209370
jmp 0x14015a331
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
lea rax, str.optional_operator_called_on_a_disengaged_value
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcincludeoptional
lea r9, str.this__has_value__
mov r8d, 0x3fd
call fcn.140207060
mov rcx, r12
call fcn.140016cb0
mov rcx, r12
call fcn.1401cbbbc
jmp 0x14015ab9b
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x1402f5008]
jmp 0x14015a2b7
add r13, 0xffffffffffffff80
je 0x14015bd3a
mov rcx, r13
call fcn.1401ca840
cmp r13, rbx
jne 0x14015bd17
mov rdx, qword [r15]
lea r14, [rsp + 0xc0]
jmp 0x14015a51f
lea rax, str.null_pointer_given_to_destroy_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h
lea r9, str.__loc___nullptr
mov r8d, 0x44
call fcn.140207060
mov rcx, r15
call fcn.140254a10
mov rcx, qword [r15]
call fcn.1401cbbbc
jmp 0x14015a52d
xor edi, edi
ucomisd xmm0, qword [0x1402a9b00]
movabs rax, 0x7fffffffffffffff
cmovae rdi, rax
jmp 0x14015a81c
lea rdi, [rsp + 0xc0]
mov rcx, rdi
call fcn.1401c9410
call sub.KERNEL32.dll_GetCurrentThreadId
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x1402d90d0]
lea r8, str.WorkerThread_active
mov cl, 0x45
xor r9d, r9d
call fcn.1402331d0
jmp 0x14015a324
lea rdi, [rsp + 0xc0]
mov rcx, rdi
call fcn.1401c9410
call sub.KERNEL32.dll_GetCurrentThreadId
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
xorps xmm6, xmm6
movups xmmword [rsp + 0x20], xmm6
mov dword [rsp + 0x48], 8
mov qword [rsp + 0x40], 0
lea rdx, [0x1402d90d0]
lea r8, str.WorkerThread_born
mov cl, 0x49
xor r9d, r9d
call fcn.1402331d0
test byte [0x1402d90d0], 0x19
je 0x14015a2aa
mov rcx, rdi
call fcn.1401c9410
call sub.KERNEL32.dll_GetCurrentThreadId
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
movups xmmword [rsp + 0x20], xmm6
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x1402d90d0]
lea r8, str.WorkerThread_active
mov cl, 0x42
xor r9d, r9d
call fcn.1402331d0
jmp 0x14015a2aa
mov rdi, qword [0x1402e23f8]
movapd xmm0, xmmword [0x14029ca60]
lea rbx, [rsp + 0x110]
movapd xmmword [rbx + 0x10], xmm0
movapd xmmword [rbx], xmm0
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x30], 0
lea r8, [0x1402d90d0]
lea r9, str.WorkerThread_active
mov rcx, rbx
mov dl, 0x42
call fcn.140206a10
mov rcx, qword [rbx]
test rcx, rcx
jne 0x14015bef4
lea rcx, [rsp + 0x110]
call fcn.1402308a0
jmp 0x14015a350
xor rdi, rsi
mov al, byte [rsp + 0x128]
mov rdx, qword [rsp + 0x118]
xor r14d, r14d
lea rbx, [rsp + 0x160]
mov qword [rbx], r14
mov qword [rbx + 8], rcx
mov qword [rbx + 0x10], rdx
mov qword [rbx + 0x18], r14
mov byte [rbx + 0x20], al
mov edx, 0x30
mov r8, rdi
call fcn.140215690
mov rax, qword [rbx]
lea rcx, [rsp + 0xc0]
mov qword [rcx], rax
mov qword [rbx], r14
movups xmm0, xmmword [rbx + 8]
movups xmmword [rcx + 8], xmm0
movupd xmm0, xmmword [rbx + 0x11]
movupd xmmword [rcx + 0x11], xmm0
call fcn.140206a20
mov rcx, rbx
call fcn.140206a20
jmp 0x14015bee2
mov r12, qword [rax + 0x30]
mov qword [rax + 0x30], 0
test r12, r12
je 0x14015ad61
lock dec dword [r12]
jne 0x14015ad61
mov rcx, r12
call fcn.140016cb0
mov rcx, r12
call fcn.1401cbbbc
jmp 0x14015ad61
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14015afe8
xor eax, eax
ucomisd xmm0, qword [0x1402909d8]
mov ecx, 0x7fffffff
cmovb ecx, eax
jmp 0x14015af6f
xor eax, eax
ucomisd xmm0, qword [0x1402909d8]
mov r14d, 0x7fffffff
cmovb r14d, eax
jmp 0x14015afbb
mov rbp, qword [rbp + 0x1f8]
sub r14d, r15d
xor r12d, r12d
test rbp, rbp
jne 0x14015afc0
jmp 0x14015ac58
xor ecx, ecx
cmp rax, r8
setg cl
lea rax, [0x1402a70d0]
movsd xmm0, qword [rax + rcx*8]
jmp 0x14015af42
xor eax, eax
cmp r12, qword [rsp + 0x58]
setl al
lea rcx, [0x1402a70d0]
movsd xmm0, qword [rcx + rax*8]
jmp 0x14015af96
lea rcx, [rsp + 0x160]
mov rdx, r12
call fcn.1400586d0
mov r8, qword [rsp + 0x58]
lea rax, [rsp + 0x160]
mov rcx, qword [rax]
test rcx, rcx
je 0x14015af06
mov rax, rcx
lock dec dword [rcx]
jne 0x14015af06
mov rcx, rax
mov qword [rsp + 0x50], rax
call fcn.140016cb0
mov rcx, qword [rsp + 0x50]
call fcn.1401cbbbc
mov r8, qword [rsp + 0x58]
jmp 0x14015af06
cmp qword [rsp + 0x58], rbx
jb 0x14015bcaf
jl 0x14015bcb2
je 0x14015c0c2
shl qword [rsp + 0x58], 3
shl rbx, 3
mov rcx, qword [r15 + rbx]
test rcx, rcx
je 0x14015c0b1
lock dec dword [rcx]
jne 0x14015c0b1
mov rax, qword [rcx + 0x10]
call qword [0x1402f5008]
mov rax, rbx
add rax, 8
mov rbx, rax
cmp qword [rsp + 0x58], rax
jne 0x14015c099
cmp qword [rsp + 0x60], 0
js 0x14015bcb5
mov r13, qword [rsp + 0x60]
je 0x14015a465
shl r13, 3
xor r14d, r14d
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + r14]
test rcx, rcx
je 0x14015c0fd
lock dec dword [rcx]
jne 0x14015c0fd
mov rax, qword [rcx + 0x10]
call qword [0x1402f5008]
add r14, 8
cmp r13, r14
jne 0x14015c0e0
jmp 0x14015a465
lock dec dword [rcx + 8]
jne 0x14015a64f
mov edx, 1
call fcn.1401a4330
jmp 0x14015a64f
mov rbx, qword [r12 + 0x50]
ja 0x14015c19e
cmp rbx, rax
jb 0x14015bcb8
jl 0x14015bcbb
je 0x14015c166
shl rax, 7
mov r13, qword [r12 + 0x48]
add r13, rax
shl rbx, 7
sub rbx, rax
mov rcx, r13
call fcn.1401ca840
sub r13, 0xffffffffffffff80
add rbx, 0xffffffffffffff80
jne 0x14015c14f
mov rax, qword [r12 + 0x50]
cmp rax, rdi
jb 0x14015bcbe
test rdi, rdi
js 0x14015bcc1
je 0x14015b623
mov r13, qword [r12 + 0x48]
shl rdi, 7
mov rcx, r13
call fcn.1401ca840
sub r13, 0xffffffffffffff80
add rdi, 0xffffffffffffff80
jne 0x14015c187
jmp 0x14015b623
cmp rbx, rdi
jb 0x14015bca9
cmp rax, rdi
jg 0x14015bcac
shl rax, 7
mov r13, qword [r12 + 0x48]
add r13, rax
shl rdi, 7
sub rdi, rax
mov rcx, r13
call fcn.1401ca840
sub r13, 0xffffffffffffff80
add rdi, 0xffffffffffffff80
jne 0x14015c1c3
jmp 0x14015b623