Function at 0x1401589f0
Capabilities:
Check for time delay via queryperformancecounter
Encode data using base64
Execute anti-debugging instructions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x248
movapd xmmword [rsp + 0x230], xmm6
mov qword [rsp + 0x98], r9
mov qword [rsp + 0x90], r8
mov r14, rdx
mov byte [rsp + 0x6e], cl
mov rax, qword [0x14029b028]
xor rax, rsp
mov qword [rsp + 0x228], rax
mov eax, dword [0x1402b09a8]
mov ecx, dword [0x1402ab7ac]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14015953d
test dword [rsp + 0x2d8], 0x410
jne 0x140158eaa
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, dword [rsp + 0x2c0]
jne 0x140158eaa
mov eax, dword [0x1402b0a4c]
mov ecx, dword [0x1402ab7ac]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140159600
cmp byte [0x1402b0a48], 0
je 0x140158eaa
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
lea rdx, [rsp + 0xb0]
mov qword [rdx], 0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_QueryThreadCycleTime]
movsd xmm0, qword [0x1402b0a50]
xorpd xmm6, xmm6
ucomisd xmm0, xmm6
jne 0x140158ae6
jnp 0x14015904b
ucomisd xmm0, xmm6
jne 0x140158af2
jnp 0x140158eaa
movsd xmm1, qword [rsp + 0xb0]
unpcklps xmm1, xmmword [0x140278800]
subpd xmm1, xmmword [0x140278810]
haddpd xmm1, xmm1
divsd xmm1, xmm0
mulsd xmm1, qword [0x140278820]
cvttsd2si rax, xmm1
mov qword [rsp + 0x80], rax
mov qword [rsp + 0xa8], 0
mov eax, dword [rsp + 0x2c0]
mov dword [rsp + 0xe0], eax
cmp byte [r14], 0
je 0x140159d8b
mov eax, dword [0x1402ab7ac]
mov rcx, qword gs:[0x58]
mov rbx, qword [rcx + rax*8]
cmp byte [rbx + 0x149], 0
jne 0x140159d8b
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, dword [rsp + 0x2c0]
jne 0x140158bbf
mov rax, qword [0x1402b0e30]
cmp rax, 1
jbe 0x140159575
mov eax, dword [0x1402ab7ac]
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx + rax*8]
mov rax, qword [rcx + 0x180]
mov qword [rsp + 0xd8], rax
test rax, rax
je 0x140158bbf
cmp rax, qword [rcx + 0x150]
jne 0x1401591f7
mov r9, qword [rsp + 0x2d0]
mov r10, qword [rsp + 0x2b0]
lea rbx, [rbx + 0x149]
test byte [r14], 8
jne 0x140159dab
mov rdx, qword [rsp + 0x2c8]
movabs rax, 0x7fffffffffffffff
mov cl, byte [rbx]
mov byte [rsp + 0x6f], cl
mov byte [rbx], 1
xor ecx, ecx
bt dword [rsp + 0x2d8], 0xb
mov r15d, 0
jae 0x140158c15
mov r15, qword [0x1402b07d0]
test dword [rsp + 0x2d8], 0x180
cmove r15, rcx
mov rcx, qword [0x1402b07e0]
mov r12, qword [rdx]
lea rdx, [rcx + rax]
add rdx, 2
cmp rdx, 2
jb 0x140159d92
xor edx, edx
cmp r12, rcx
setns dl
add rdx, rax
sub r12, rcx
cmovo r12, rdx
test byte [r14], 1
je 0x1401595aa
mov eax, dword [0x1402ab7ac]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x148], 0
jne 0x140158ce8
mov eax, dword [0x1402ab7ac]
mov rcx, qword gs:[0x58]
mov rdi, qword [rcx + rax*8]
cmp qword [rdi + 0x198], 0
je 0x140158ce8
mov eax, dword [0x1402ab7ac]
mov rcx, qword gs:[0x58]
mov rbp, qword [rcx + rax*8]
cmp qword [rbp + 0x158], 0
je 0x140158ce8
mov eax, dword [0x1402ab7ac]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea r13, [rax + 0x140]
mov rsi, qword [r13]
test rsi, rsi
je 0x14015975e
mov eax, dword [0x1402b0984]
cmp eax, dword [rsi + 0x38]
jne 0x140159733
test byte [r14], 1
je 0x1401595aa
xor r15, qword [rsp + 0x2b8]
mov eax, dword [0x1402ab7ac]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r13, qword [rax + 0x140]
mov rsi, qword [0x1402b0990]
test rsi, rsi
je 0x140159de6
movapd xmm0, xmmword [0x1402724c0]
movupd xmmword [rsp + 0x138], xmm0
movupd xmmword [rsp + 0x158], xmm0
movupd xmmword [rsp + 0x168], xmm0
movupd xmmword [rsp + 0x148], xmm0
mov qword [rsp + 0xf0], r12
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], 0xffffffffffffffff
xor eax, eax
mov qword [rsp + 0x108], rax
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], r10
mov qword [rsp + 0x120], r14
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x128], rcx
mov qword [rsp + 0x130], rax
mov byte [rsp + 0x138], 0
mov eax, dword [rsp + 0x2c0]
mov dword [rsp + 0x160], eax
mov eax, dword [rsp + 0x2d8]
mov dword [rsp + 0x164], eax
mov qword [rsp + 0x168], r15
mov al, byte [rsp + 0x6e]
mov byte [rsp + 0x170], al
test r9, r9
je 0x140158e03
lea rax, [rsp + 0x138]
cmp rax, r9
jne 0x140159026
mov eax, dword [rsp + 0x2d8]
test al, 1
jne 0x1401594ce
movzx r14d, byte [rsp + 0x138]
test r14, r14
jne 0x140158eb1
mov qword [rsp + 0x130], 0
test r13, r13
setne dl
lea rdi, [rsp + 0xf0]
lea r8, [rsp + 0xa8]
mov rcx, rdi
mov rax, rsi
call qword [case.0x1401eda70.0]
cmp byte [rdi + 0x48], 0
jne 0x140158ff7
mov rdx, qword [rsp + 0x130]
test rdx, rdx
jne 0x140159196
mov al, byte [rsp + 0x6f]
mov byte [rbx], al
mov rsi, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x228]
xor rcx, rsp
call fcn.1401874c0
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x230]
add rsp, 0x248
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
jmp 0x140158b1f
xor r15d, r15d
xor r12d, r12d
movzx eax, byte [rsp + r12 + 0x139]
mov ecx, dword [rsp + 0x2d8]
test cl, 1
jne 0x14015969d
cmp al, 7
je 0x1401596b4
inc r12
cmp r14, r12
jne 0x140158eb7
test r15, r15
je 0x140158e24
lea r12, [r15 + 8]
lea rbp, [0x140272d1c]
mov r14, qword [0x1402b0fc0]
test r14, r14
je 0x140159ed9
mov qword [rsp + 0x20], rbp
mov rcx, r14
mov edx, 0x10
xor r8d, r8d
mov r9, r12
call fcn.14010b060
mov r14, rax
test r12, r12
je 0x140158f36
test r14, r14
jne 0x140158f36
cmp byte [0x1402b0b04], 0
jne 0x140159f4f
mov qword [rsp + 0x130], r14
mov qword [r14], r15
lea rcx, [r14 + 8]
test r14, r14
cmove rcx, r14
lea rax, [rcx + r15]
mov edx, dword [rsp + 0x2d8]
test dl, 1
jne 0x1401593d1
mov dl, byte [rsp + 0x138]
test dl, dl
je 0x140158e30
mov r8, rax
neg r8
xor r9d, r9d
cmp byte [rsp + r9 + 0x139], 7
jne 0x140158fe6
mov r10, qword [rsp + r9*8 + 0x150]
test r10, r10
je 0x140158fe6
mov rdx, rax
sub rdx, rcx
je 0x140158fc6
lea rdi, [r8 + rcx]
mov r11d, 1
mov bpl, byte [r10 + r11 - 1]
mov byte [rcx + r11 - 1], bpl
test bpl, bpl
je 0x140158fd4
lea r14, [rdi + r11]
inc r14
inc r11
cmp r14, 1
jne 0x140158fa2
mov byte [rdx + rcx - 1], 0
lea r11, [rdx + 1]
cmp byte [r10 + rdx], 0
mov rdx, r11
jne 0x140158fc6
mov qword [rsp + r9*8 + 0x150], rcx
add rcx, r11
mov dl, byte [rsp + 0x138]
inc r9
movzx r10d, dl
cmp r9, r10
jb 0x140158f78
jmp 0x140158e30
xor edi, edi
mov al, byte [rsp + rdi + 0x139]
cmp al, 8
je 0x140159168
cmp al, 9
je 0x1401591aa
inc rdi
movzx eax, byte [rsp + 0x138]
cmp rdi, rax
jae 0x140158e5c
jmp 0x140158ff9
mov rcx, qword [r9 + 0x20]
mov qword [rax + 0x20], rcx
movupd xmm0, xmmword [r9]
movupd xmm1, xmmword [r9 + 0x10]
movupd xmmword [rax + 0x10], xmm1
movupd xmmword [rax], xmm0
mov byte [r9], 0
jmp 0x140158e03
mov rdi, qword [sym.imp.KERNEL32.dll_GetCurrentThread]
call rdi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetThreadPriority]
mov esi, eax
call rdi
mov rcx, rax
mov edx, 2
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov eax, dword [0x1402b0a60]
mov ecx, dword [0x1402ab7ac]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140159384
mov eax, dword [0x1402b0a70]
mov ecx, dword [0x1402ab7ac]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1401596d5
rdtsc
mov r15, rax
mov r12, rdx
xor edi, edi
lea r13, [rsp + 0xf0]
mov qword [r13], rdi
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rbx, qword [r13]
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
mov edx, esi
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov qword [r13], rdi
lea rsi, [rsp + 0xf0]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
sub rbx, qword [0x1402b0a68]
cvtsi2sd xmm1, rbx
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rsi]
divsd xmm1, xmm0
xorpd xmm0, xmm0
movsd xmm2, qword [0x1402787f0]
ucomisd xmm2, xmm1
ja 0x140158ae6
shl r12, 0x20
or r15, r12
sub r15, qword [0x1402b0a58]
movq xmm0, r15
punpckldq xmm0, xmmword [0x140278800]
subpd xmm0, xmmword [0x140278810]
haddpd xmm0, xmm0
divsd xmm0, xmm1
movsd qword [0x1402b0a50], xmm0
jmp 0x140158ae6
mov rcx, qword [rsp + rdi*8 + 0x150]
test rcx, rcx
je 0x140159010
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x1401eda70.0]
mov al, byte [rsp + rdi + 0x139]
jmp 0x140159008
lea rcx, fcn.1400eef30
xor r8d, r8d
call fcn.1400eaf80
jmp 0x140158e6d
mov rsi, qword [rsp + rdi*8 + 0x150]
test rsi, rsi
je 0x140159010
mov rcx, qword [rsi + 0xa8]
test rcx, rcx
je 0x1401591d7
mov r14, qword [rcx]
call fcn.14018482c
mov rcx, r14
test r14, r14
jne 0x1401591c7
mov qword [rsi + 0xa8], 0
mov rcx, rsi
call fcn.1401051a0
mov rcx, rsi
call fcn.14018482c
jmp 0x140159010
cmp byte [rax], 0
je 0x140158bbf
lea rcx, [rcx + 0x150]
mov qword [rcx], rax
lea rcx, [0x1402b0658]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140159721
mov r9, qword [0x1402b0758]
test r9, r9
je 0x1401592ff
mov ecx, dword [rsp + 0x2c0]
mov rax, r9
shr rax, 1
movabs rdx, 0x5555555555555555
and rdx, rax
mov rax, r9
sub rax, rdx
movabs rdx, 0x3333333333333333
mov r8, rax
and r8, rdx
shr rax, 2
and rax, rdx
add rax, r8
mov rdx, rax
shr rdx, 4
add rdx, rax
movabs rax, 0xf0f0f0f0f0f0f0f
and rax, rdx
movabs r10, 0x101010101010101
imul r10, rax
shr r10, 0x38
cmp r10, 1
jbe 0x1401593be
mov r8, rcx
cmp r9, rcx
ja 0x1401592af
mov rax, rcx
xor edx, edx
div r9
mov r8, rdx
mov rax, qword [0x1402b0750]
mov rax, qword [rax + r8*8]
test rax, rax
je 0x1401592ff
mov r11, qword [rax]
test r11, r11
je 0x1401592ff
lea rsi, [r9 - 1]
mov rax, qword [r11 + 8]
cmp rax, rcx
je 0x140159fd9
cmp r10d, 1
jbe 0x1401592fa
cmp rax, r9
jb 0x1401592eb
xor edx, edx
div r9
mov rax, rdx
cmp rax, r8
jne 0x1401592ff
mov r11, qword [r11]
test r11, r11
jne 0x1401592cb
jmp 0x1401592ff
and rax, rsi
jmp 0x1401592eb
mov rsi, qword [rsp + 0xd8]
lea r8, [rsp + 0xe0]
lea rax, [rsp + 0xe8]
mov qword [rax], r8
lea rcx, [rsp + 0xe7]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea rcx, [0x1402b0750]
lea r9, [0x140278944]
lea rdx, [rsp + 0xf0]
call fcn.14004fce0
test rsi, rsi
je 0x14015a0b4
mov r12, qword [rsp + 0xf0]
add r12, 0x18
mov rcx, rsi
call fcn.1401ab6c0
mov rcx, r12
mov rdx, rsi
mov r8, rax
call fcn.140118f30
lea rcx, [0x1402b0658]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x140158bbf
lea rcx, [0x1402b0a60]
call fcn.140184b80
cmp dword [0x1402b0a60], 0xffffffff
jne 0x140159094
rdtsc
shl rdx, 0x20
or rdx, rax
mov qword [0x1402b0a58], rdx
lea rcx, [0x1402b0a60]
call fcn.140184be8
jmp 0x140159094
mov eax, 0xffffffff
add eax, r9d
mov r8d, ecx
and r8d, eax
jmp 0x1401592af
mov r8, qword [rsp + 0x128]
mov rdx, rcx
test r8, r8
je 0x14015942d
mov r9, r15
neg r9
mov edx, 1
mov r10b, byte [r8 + rdx - 1]
mov byte [rcx + rdx - 1], r10b
test r10b, r10b
je 0x140159422
lea r10, [r9 + rdx]
inc r10
inc rdx
cmp r10, 1
jne 0x1401593ec
mov byte [r15 + rcx - 1], 0
mov r9, r15
lea rdx, [r9 + 1]
cmp byte [r8 + r9], 0
mov r9, rdx
jne 0x140159414
mov qword [rsp + 0x128], rcx
add rdx, rcx
mov r8, qword [rsp + 0x110]
test r8, r8
jne 0x14015a204
mov rcx, rdx
mov dl, byte [rsp + 0x138]
test dl, dl
je 0x140158e30
mov r8, rax
neg r8
xor r9d, r9d
mov r10, qword [rsp + r9*8 + 0x140]
test r10, r10
je 0x1401594bc
mov rdx, rax
sub rdx, rcx
je 0x14015949c
lea rdi, [r8 + rcx]
mov r11d, 1
mov bpl, byte [r10 + r11 - 1]
mov byte [rcx + r11 - 1], bpl
test bpl, bpl
je 0x1401594aa
lea r14, [rdi + r11]
inc r14
inc r11
cmp r14, 1
jne 0x140159478
mov byte [rdx + rcx - 1], 0
lea r11, [rdx + 1]
cmp byte [r10 + rdx], 0
mov rdx, r11
jne 0x14015949c
mov qword [rsp + r9*8 + 0x140], rcx
add rcx, r11
mov dl, byte [rsp + 0x138]
inc r9
movzx r10d, dl
cmp r9, r10
jae 0x140158f67
jmp 0x140159459
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x14015a25d
call fcn.1401ab6c0
mov r14, rax
inc r14
cmp qword [rsp + 0x98], 0
jne 0x14015a265
xor r15d, r15d
add r15, r14
movzx r14d, byte [rsp + 0x138]
test r14, r14
je 0x140158ee0
xor edi, edi
mov rcx, qword [rsp + rdi*8 + 0x140]
test rcx, rcx
je 0x14015a319
call fcn.1401ab6c0
inc rax
add r15, rax
inc rdi
cmp r14, rdi
je 0x140158eb4
jmp 0x140159513
lea rcx, [0x1402b09a8]
call fcn.140184b80
cmp dword [0x1402b09a8], 0xffffffff
jne 0x140158a5a
lea rcx, [0x1402b0648]
xor edx, edx
call fcn.14003a7f0
lea rcx, [0x1402b09a8]
call fcn.140184be8
jmp 0x140158a5a
lea rcx, [0x1402b0e30]
call fcn.140152110
test al, al
je 0x14015a2a8
mov ecx, pe_nt_image_headers64
call fcn.140184834
mov rsi, rax
mov rcx, rax
call fcn.14003ae80
mov qword [0x1402b0e30], rsi
jmp 0x140158b8b
xorpd xmm0, xmm0
movapd xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc0], 0
movzx r14d, byte [rsp + 0xc7]
mov rsi, r14
test r14b, r14b
jns 0x1401595dc
mov rsi, qword [rsp + 0xb8]
test rsi, rsi
jne 0x14015a2b4
test r14b, r14b
jns 0x140158e6d
mov rcx, qword [rsp + 0xb0]
call fcn.14018482c
jmp 0x140158e6d
lea rcx, [0x1402b0a4c]
call fcn.140184b80
cmp dword [0x1402b0a4c], 0xffffffff
jne 0x140158aa3
lea rsi, [rsp + 0x120]
xorpd xmm6, xmm6
movupd xmmword [rsi - 0x15], xmm6
movapd xmmword [rsi - 0x20], xmm6
movapd xmmword [rsi - 0x30], xmm6
lea rdx, str.unknown
mov rcx, rsi
call fcn.1401c45c0
movupd xmmword [rsi + 0x18], xmm6
mov qword [rsi + 0x28], 0
lea rsi, [rsp + 0xf0]
mov rcx, rsi
xor edx, edx
call fcn.14003e4e0
mov bl, byte [rsi + 0x29]
cmp byte [rsi + 0x5f], 0
jns 0x140159678
mov rcx, qword [rsp + 0x138]
call fcn.14018482c
cmp byte [rsp + 0x137], 0
js 0x14015a307
mov byte [0x1402b0a48], bl
lea rcx, [0x1402b0a4c]
call fcn.140184be8
jmp 0x140158aa3
cmp eax, 7
je 0x1401596b4
cmp eax, 6
jne 0x140158ed8
mov byte [rsp + r12 + 0x139], 7
mov rcx, qword [rsp + r12*8 + 0x150]
test rcx, rcx
je 0x140159f48
call fcn.1401ab6c0
inc rax
add r15, rax
jmp 0x140158ed8
lea rcx, [0x1402b0a70]
call fcn.140184b80
cmp dword [0x1402b0a70], 0xffffffff
jne 0x1401590b9
lea r15, [rsp + 0xf0]
mov qword [r15], 0
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [r15]
mov qword [0x1402b0a68], rax
lea rcx, [0x1402b0a70]
call fcn.140184be8
jmp 0x1401590b9
lea rcx, [0x1402b0658]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14015921f
mov rcx, rsi
call fcn.14005d400
mov rcx, rsi
call fcn.14018482c
mov r10, qword [rsp + 0x2b0]
mov r9, qword [rsp + 0x2d0]
cmp qword [r13], 0
jne 0x140158ce8
lea rax, [rdi + 0x198]
mov qword [rsp + 0x70], rax
mov ecx, 0x40
call fcn.140184834
mov rdx, rax
lea rax, [0x14026e830]
mov qword [rdx], rax
lea rax, [0x14026fac8]
mov qword [rdx + 8], rax
mov qword [rdx + 0x10], r13
mov rax, qword [r13]
mov qword [r13], rdx
mov qword [rdx + 0x18], rax
lea rsi, [0x1402b0648]
movabs rdi, 0xfffffffc00000000
mov rax, rsi
and rax, rdi
cmp qword [0x1402aaec8], rax
mov qword [rsp + 0x88], rdx
je 0x140159f6a
mov qword [rdx + 0x20], rsi
xorpd xmm0, xmm0
movupd xmmword [rdx + 0x28], xmm0
mov eax, dword [0x1402b0984]
mov dword [rdx + 0x38], eax
mov rax, qword [rsp + 0x70]
mov rsi, qword [rax]
and rdi, rsi
cmp rdi, qword [0x1402aaec8]
je 0x140159bc9
lea rbp, [rbp + 0x158]
lea rcx, [rsi + 0x2e0]
call fcn.140022e60
cmp rdi, qword [0x1402aaec8]
je 0x140159bbc
call fcn.14003aa90
mov rcx, qword [rbp]
test rcx, rcx
je 0x140159f64
mov r9, qword [rcx + 0x10]
test r9, r9
je 0x140159848
mov ecx, 1
lock xadd dword [r9 + 8], ecx
cmp ecx, 0x7fffffff
je 0x140159f83
mov rdx, qword [rsp + 0x88]
add rdx, 8
lea rcx, [rsp + 0xf0]
mov byte [rcx], 1
mov qword [rsp + 0x20], rcx
lea r8, [0x140278828]
mov rcx, rax
call fcn.140133580
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
lea rcx, [0x1402b0650]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140159d79
mov rax, qword [rbp]
test rax, rax
je 0x140159f67
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1401598bb
mov eax, 1
lock xadd dword [rcx + 8], eax
cmp eax, 0x7fffffff
je 0x140159f86
mov qword [rsp + 0xa0], rcx
mov ebp, esi
mov eax, esi
mov qword [rsp + 0x70], rax
mov r9, qword [0x1402b0930]
test r9, r9
mov qword [rsp + 0x78], r9
jne 0x140159ae8
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov ecx, 0x20
call fcn.140184834
mov rsi, rax
mov dword [rax + 0x10], ebp
xor eax, eax
mov qword [rsi + 0x18], rax
mov rcx, qword [rsp + 0x70]
mov qword [rsi + 8], rcx
mov qword [rsi], rax
mov rax, qword [0x1402b0940]
inc rax
js 0x140159923
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
jmp 0x140159938
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov r8, qword [rsp + 0x78]
mov rcx, r8
shr rcx, 1
mov eax, r8d
and eax, 1
or rax, rcx
test r8, r8
js 0x140159958
cvtsi2ss xmm1, r8
jmp 0x140159961
cvtsi2ss xmm1, rax
addss xmm1, xmm1
movss xmm2, dword [0x1402b0948]
je 0x140159978
mulss xmm1, xmm2
ucomiss xmm0, xmm1
jbe 0x140159a5e
divss xmm0, xmm2
call fcn.1401a3294
mov r9, qword [rsp + 0x78]
cvttss2si rcx, xmm0
mov rdx, rcx
subss xmm0, dword [0x140260048]
sar rdx, 0x3f
cvttss2si rax, xmm0
and rax, rdx
or rax, rcx
lea rdx, [r9 + r9]
mov ecx, 1
cmp r9, 3
jae 0x140159fa2
or rcx, rdx
cmp rcx, rax
cmovbe rcx, rax
mov ebp, 2
cmp rcx, 1
jne 0x140159bde
cmp rbp, r9
jbe 0x140159fb3
mov rax, rbp
shr rax, 0x3d
jne 0x140159f9d
lea rcx, [rbp*8]
call fcn.140184834
mov rcx, qword [0x1402b0928]
mov qword [0x1402b0928], rax
test rcx, rcx
jne 0x140159c22
mov qword [0x1402b0930], rbp
xor eax, eax
mov rcx, qword [0x1402b0928]
mov qword [rcx + rax*8], 0
inc rax
cmp rbp, rax
jne 0x140159a14
mov r8, qword [0x1402b0938]
test r8, r8
jne 0x140159c2c
mov r8, qword [0x1402b0930]
lea rax, [r8 - 1]
test r8, rax
jne 0x140159bff
mov eax, 0xffffffff
add eax, r8d
mov rdi, qword [rsp + 0x70]
and edi, eax
mov rcx, qword [0x1402b0928]
mov rax, qword [rcx + rdi*8]
test rax, rax
jne 0x140159bae
lea rax, [0x1402b0938]
mov r9, qword [0x1402b0938]
mov qword [rsi], r9
mov qword [0x1402b0938], rsi
mov qword [rcx + rdi*8], rax
mov rax, qword [rsi]
test rax, rax
jne 0x140159d28
inc qword [0x1402b0940]
mov rcx, qword [rsi + 0x18]
mov rax, qword [rsp + 0xa0]
mov qword [rsi + 0x18], rax
test rcx, rcx
jne 0x140159f89
lea rcx, [0x1402b0650]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [rsp + 0x88]
mov qword [r13], rax
mov r9, qword [rsp + 0x2d0]
mov r10, qword [rsp + 0x2b0]
jmp 0x140158ce8
mov rax, r9
shr rax, 1
movabs rcx, 0x5555555555555555
and rcx, rax
mov rax, r9
sub rax, rcx
movabs rcx, 0x3333333333333333
mov rdx, rax
and rdx, rcx
shr rax, 2
and rax, rcx
add rax, rdx
mov rcx, rax
shr rcx, 4
add rcx, rax
movabs rax, 0xf0f0f0f0f0f0f0f
and rax, rcx
movabs rcx, 0x101010101010101
imul rcx, rax
shr rcx, 0x38
cmp rcx, 1
ja 0x140159d59
mov eax, 0xffffffff
add eax, r9d
mov rdx, qword [rsp + 0x70]
and edx, eax
mov rax, qword [0x1402b0928]
mov rsi, qword [rax + rdx*8]
test rsi, rsi
mov rdi, rdx
je 0x1401598eb
lea r8, [r9 - 1]
mov rsi, qword [rsi]
test rsi, rsi
je 0x1401598eb
mov rax, qword [rsi + 8]
cmp rax, qword [rsp + 0x70]
je 0x140159ba4
cmp ecx, 1
ja 0x140159d0a
and rax, r8
cmp rax, rdx
jne 0x1401598eb
cmp dword [rsi + 0x10], ebp
jne 0x140159b78
jmp 0x140159aa1
mov rcx, qword [rax]
mov qword [rsi], rcx
mov qword [rax], rsi
jmp 0x140159a9a
mov rcx, rsi
call fcn.1400da480
jmp 0x140159816
mov rcx, rsi
call fcn.1400da330
mov rdx, qword [rsp + 0x88]
jmp 0x1401597f6
lea rax, [rcx - 1]
test rcx, rax
je 0x14015a320
call fcn.140143080
mov rbp, rax
mov r9, qword [0x1402b0930]
jmp 0x1401599d1
mov rcx, r8
cmp r8, qword [rsp + 0x70]
ja 0x14015a32d
mov rax, qword [rsp + 0x70]
xor edx, edx
mov r8, rcx
div rcx
mov rdi, rdx
jmp 0x140159a5e
call fcn.14018482c
jmp 0x140159a0b
mov rcx, qword [r8 + 8]
mov rax, rbp
shr rax, 1
movabs rdx, 0x5555555555555555
and rdx, rax
mov r11, rbp
sub rbp, rdx
movabs rdx, 0x3333333333333333
mov r9, rbp
and r9, rdx
shr rbp, 2
and rbp, rdx
add rbp, r9
mov rdx, rbp
shr rdx, 4
add rdx, rbp
movabs rax, 0xf0f0f0f0f0f0f0f
and rax, rdx
movabs r9, 0x101010101010101
imul r9, rax
shr r9, 0x38
cmp r9, 1
jbe 0x14015a33a
cmp rcx, r11
jb 0x140159ca6
mov rax, rcx
xor edx, edx
div r11
mov rcx, rdx
mov rax, qword [0x1402b0928]
lea rdx, [0x1402b0938]
mov qword [rax + rcx*8], rdx
mov r10, qword [r8]
test r10, r10
je 0x140159a3b
mov rax, qword [r10 + 8]
cmp r9d, 1
jbe 0x14015a346
cmp rax, r11
jb 0x140159cdf
xor edx, edx
div r11
mov rax, rdx
cmp rax, rcx
je 0x140159d05
mov rdx, qword [0x1402b0928]
cmp qword [rdx + rax*8], 0
jne 0x14015a352
mov qword [rdx + rax*8], r8
mov r8, r10
mov r10, qword [r10]
mov rcx, rax
jmp 0x140159cbb
mov rax, rcx
jmp 0x140159cfa
cmp rax, r9
jb 0x14015a37f
xor edx, edx
mov r9, qword [rsp + 0x78]
div r9
mov rax, rdx
mov rdx, rdi
jmp 0x140159b9b
mov rax, qword [rax + 8]
lea rcx, [r8 - 1]
test r8, rcx
je 0x14015a389
mov r9, r8
cmp rax, r8
jb 0x140159d49
xor edx, edx
div r9
mov rax, rdx
shl rax, 3
add rax, qword [0x1402b0928]
jmp 0x140159bb4
mov rax, qword [rsp + 0x70]
mov rdx, rax
cmp r9, rax
ja 0x140159b5d
mov rax, qword [rsp + 0x70]
xor edx, edx
div r9
jmp 0x140159b5d
lea rcx, [0x1402b0650]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140159890
xor esi, esi
jmp 0x140158e7b
cmp r12, rcx
je 0x14015a3c5
lea r12, [rax + 1]
test rcx, rcx
cmovs r12, rax
jmp 0x140158c52
mov rax, qword [rsp + 0x90]
test rax, rax
lea r8, [0x140272d1c]
cmovne r8, rax
mov qword [rsp + 0x20], r9
mov cl, byte [rsp + 0x6e]
mov rdx, r14
mov rsi, r9
mov r9, r10
mov rdi, r10
call fcn.1401f6370
mov r10, rdi
mov r9, rsi
jmp 0x140158be0
mov rbp, r10
mov rdi, r9
xorpd xmm0, xmm0
movapd xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc0], 0
test r13, r13
jne 0x140159e41
lea rcx, [0x1402b0650]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x140159e28
lea rcx, [0x1402b0650]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
lea rcx, [0x1402b0648]
lea rdx, [rsp + 0xa8]
mov r8b, 1
call fcn.1401ebab0
jmp 0x140159e51
lea rdx, [rsp + 0xa8]
mov rcx, r13
call fcn.1401eb3e0
mov rsi, rax
test rax, rax
je 0x140159eb4
mov eax, dword [rsp + 0x2d8]
mov dword [rsp + 0x58], eax
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x40], rbp
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r14
mov al, byte [rsp + 0x6e]
mov byte [rsp + 0x20], al
mov rcx, rsi
mov edx, dword [rsp + 0x2c0]
mov r8, r12
mov r9, qword [rsp + 0x80]
call fcn.1400221a0
mov eax, dword [0x1402b07e8]
test al, 8
jne 0x140159f1a
test r13, r13
jne 0x1401595c3
lea rcx, [0x1402b0650]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1401595c3
mov cl, 1
xor eax, eax
lock cmpxchg byte [0x1402b2940], cl
jne 0x140159ed9
mov r14, qword [0x1402b0fc0]
test r14, r14
jne 0x140159f0e
lea r14, [0x1402b1000]
mov edx, 0x1010001
mov rcx, r14
call fcn.140031830
mov qword [0x1402b0fc0], r14
mov byte [0x1402b2940], 0
jmp 0x140158f04
mov al, byte [rsp + 0x6e]
cmp al, 0x58
movzx eax, al
mov edx, 0x42
cmovne edx, eax
lea rcx, [rsp + 0xb0]
mov r8, qword [rsp + 0x2c8]
mov r9, rsi
call fcn.1401ebc20
jmp 0x140159ebe
xor eax, eax
jmp 0x1401596cd
mov rcx, r12
call fcn.1401f8ac0
test al, al
jne 0x140158ef4
jmp 0x140158f36
int3
int3
lea rcx, [0x1402b0648]
call fcn.1400da330
mov rdx, qword [rsp + 0x88]
jmp 0x1401597c8
int3
int3
lock dec dword [rcx + 8]
jne 0x140159aba
call fcn.14010a720
jmp 0x140159aba
call fcn.1401c1b10
lea r8, [r9 - 1]
xor ecx, ecx
test r9, r8
setne cl
jmp 0x1401599b8
jae 0x140159a3b
mov rdi, r9
mov rax, qword [0x1402b0940]
test rax, rax
js 0x14015a0e0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
jmp 0x14015a0f8
mov eax, dword [rsp + 0x2c0]
cmp dword [r11 + 0x10], eax
jne 0x1401592f0
movabs rax, 0xaaaaaaaaaaaaaaaa
lea r12, [rsp + 0xf0]
mov qword [r12 + 0x10], rax
movapd xmm0, xmmword [0x1402724c0]
movapd xmmword [r12], xmm0
lea rax, [0x140272b67]
lea r8, [rsp + 0xb0]
mov qword [r8], rax
mov qword [r8 + 8], 1
lea rsi, [r11 + 0x18]
movzx eax, byte [r11 + 0x2f]
test al, al
mov rcx, qword [r11 + 0x18]
cmovns rcx, rsi
lea rdx, [rsp + 0xc8]
mov qword [rdx], rcx
cmovs rax, qword [r11 + 0x20]
mov qword [rdx + 8], rax
mov dword [rsp + 0x20], 1
mov rcx, r12
xor r9d, r9d
call fcn.140177450
mov rdx, qword [r12]
mov r12, qword [r12 + 8]
lea r13, [rsp + 0xe8]
lea r9, [rsp + 0xd8]
mov rcx, r13
mov r8, r12
call fcn.1401ec600
cmp qword [r13], r12
je 0x14015a27d
mov rcx, qword [rsp + 0xf0]
test rcx, rcx
je 0x140159372
mov qword [rsp + 0xf8], rcx
call fcn.14018482c
jmp 0x140159372
lea rax, str.string::assign_received_nullptr
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_string
lea r9, str.__s___nullptr
mov r8d, 0x9dc
call fcn.1401c1b10
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [0x1402b0948]
call fcn.1401a3294
cvttss2si rcx, xmm0
mov rdx, rcx
subss xmm0, dword [0x140260048]
cvttss2si rax, xmm0
sar rdx, 0x3f
and rax, rdx
or rax, rcx
cmp rdi, 3
jb 0x14015a1b4
mov r8, rdi
mov rcx, rdi
shr rcx, 1
movabs rdx, 0x5555555555555555
and rdx, rcx
mov rcx, rdi
sub rcx, rdx
movabs rdx, 0x3333333333333333
mov r8, rcx
shr r8, 2
and rcx, rdx
and r8, rdx
add r8, rcx
mov rcx, r8
shr rcx, 4
add rcx, r8
movabs rdx, 0xf0f0f0f0f0f0f0f
and rdx, rcx
movabs rcx, 0x101010101010101
imul rcx, rdx
shr rcx, 0x38
cmp ecx, 1
ja 0x14015a1b4
lea rcx, [rax - 1]
bsr rcx, rcx
xor ecx, 0x3f
neg cl
mov edx, 1
shl rdx, cl
cmp rax, 2
cmovb rdx, rax
mov rax, rdx
jmp 0x14015a1bc
mov rcx, rax
call fcn.140143080
cmp rbp, rax
cmova rax, rbp
cmp rax, rdi
jae 0x140159a3b
mov rbp, rax
test rax, rax
jne 0x1401599da
mov rcx, qword [0x1402b0928]
mov qword [0x1402b0928], 0
test rcx, rcx
je 0x14015a1f4
call fcn.14018482c
mov qword [0x1402b0930], 0
jmp 0x140159a3b
mov r9, rax
sub r9, rdx
je 0x14015a23f
mov r10, rdx
sub r10, r15
sub r10, rcx
mov ecx, 1
mov r11b, byte [r8 + rcx - 1]
mov byte [rdx + rcx - 1], r11b
test r11b, r11b
je 0x14015a24d
lea r11, [r10 + rcx]
inc r11
inc rcx
cmp r11, 1
jne 0x14015a21a
mov byte [r9 + rdx - 1], 0
lea rcx, [r9 + 1]
cmp byte [r8 + r9], 0
mov r9, rcx
jne 0x14015a23f
mov qword [rsp + 0x110], rdx
add rcx, rdx
jmp 0x140159441
xor r14d, r14d
jmp 0x1401594ea
mov rcx, qword [rsp + 0x98]
call fcn.1401ab6c0
mov r15, rax
inc r15
jmp 0x1401594fc
mov rax, qword [rsp + 0xf0]
cmp rax, qword [rsp + 0xf8]
jne 0x14015a391
mov rdx, qword [rsp + 0xd8]
mov rcx, rsi
call fcn.14006fd20
jmp 0x14015a091
mov rax, qword [0x1402b0e30]
jmp 0x140158b8b
mov ecx, 2
call fcn.1400ea0a0
test al, al
je 0x1401595e5
lea rdx, str....._base_trace_event_trace_log.cc
lea rdi, [rsp + 0xf0]
mov rcx, rdi
mov r8d, 0x701
mov r9d, 2
call fcn.1400049c0
lea rcx, [rsp + 0x100]
test r14b, r14b
jns 0x14015a3a0
mov rdx, qword [rsp + 0xb0]
jmp 0x14015a3a8
mov rcx, qword [rsp + 0x120]
call fcn.14018482c
jmp 0x140159686
xor eax, eax
jmp 0x14015952c
mov rbp, rcx
mov r9, qword [rsp + 0x78]
jmp 0x1401599d1
mov rdi, qword [rsp + 0x70]
mov r8, rcx
jmp 0x140159a5e
lea rax, [r11 - 1]
and rcx, rax
jmp 0x140159ca6
lea rdx, [r11 - 1]
and rax, rdx
jmp 0x140159cdf
mov rdx, qword [r10]
mov qword [r8], rdx
mov rdx, qword [0x1402b0928]
mov rdx, qword [rdx + rax*8]
mov rdx, qword [rdx]
mov qword [r10], rdx
mov rdx, qword [0x1402b0928]
mov rax, qword [rdx + rax*8]
mov qword [rax], r10
mov r10, r8
jmp 0x140159d05
mov r9, qword [rsp + 0x78]
jmp 0x140159d20
and rax, rcx
jmp 0x140159d49
mov rcx, rsi
mov dl, 0x2c
call fcn.140140050
jmp 0x14015a293
lea rdx, [rsp + 0xb0]
mov r8, rsi
call fcn.1401c17b0
mov rcx, rdi
call fcn.140004ab0
mov r14b, byte [rsp + 0xc7]
jmp 0x1401595e5
int3