Function at 0x1401b9550
Capabilities:
Check for time delay via queryperformancecounter
Execute anti-debugging instructions
Get thread local storage value

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x298
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x200], xmm7
movapd xmmword [rbp + 0x1f0], xmm6
mov qword [rbp + 0x1e8], 0xfffffffffffffffe
mov qword [rbp + 0x1a0], r9
mov qword [rbp + 0x1b0], r8
mov r12, rdx
mov byte [rbp + 0x1d8], cl
mov ebx, dword [rbp + 0x2a8]
mov eax, dword [0x140354b68]
mov ecx, dword [0x14034fed0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1401bc11a
mov r13d, dword [rbp + 0x290]
test ebx, 0x410
jne 0x1401b9f8f
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, r13d
jne 0x1401b9f8f
mov eax, dword [0x14035473c]
mov ecx, dword [0x14034fed0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1401bc218
cmp byte [0x140354738], 0
je 0x1401b9f8f
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
lea rdx, [rbp + 0x1c0]
mov qword [rdx], 0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_QueryThreadCycleTime]
movsd xmm0, qword [0x140354740]
xorpd xmm6, xmm6
ucomisd xmm0, xmm6
jne 0x1401b9650
jnp 0x1401ba556
ucomisd xmm0, xmm6
jne 0x1401b965c
jnp 0x1401b9f8f
movsd xmm1, qword [rbp + 0x1c0]
unpcklps xmm1, xmmword [0x140309940]
subpd xmm1, xmmword [0x140309950]
movapd xmm2, xmm1
unpckhpd xmm2, xmm1
addsd xmm2, xmm1
divsd xmm2, xmm0
mulsd xmm2, qword [0x140308b20]
cvttsd2si rax, xmm2
mov qword [rbp + 0x1b8], rax
mov qword [rbp + 0x168], 0
mov dword [rbp - 0x18], r13d
cmp byte [r12], 0
je 0x1401ba232
mov ecx, dword [0x1403411e0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1401b96e5
mov rcx, qword [0x140354ad0]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x140354ad8]
jne 0x1401b96e5
cmp qword [rax + rcx], 0
jne 0x1401ba232
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, r13d
jne 0x1401b97d4
mov rax, qword [0x14035aba8]
cmp rax, 1
jbe 0x1401bc18a
mov eax, dword [0x14035aba0]
mov ecx, dword [0x14034fed0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1401bc152
mov ecx, dword [0x1403411e0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1401bc805
mov rcx, qword [0x14035ab90]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x14035ab98]
jne 0x1401bc805
mov rax, qword [rax + rcx]
test rax, rax
lea rsi, [0x140312922]
cmovne rsi, rax
mov qword [rbp + 0x158], rsi
mov eax, dword [0x140354b80]
mov ecx, dword [0x14034fed0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1401bbfe1
mov rdi, qword [0x140354b78]
mov ecx, dword [0x1403411e0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1401bba03
mov rcx, qword [rdi]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [rdi + 8]
jne 0x1401bba03
cmp rsi, qword [rax + rcx]
jne 0x1401bba03
test byte [r12], 8
jne 0x1401bc80c
lea r15, [0x140354ad0]
mov rax, qword [0x1403428e0]
and rax, r15
cmp rax, qword [0x1403428c8]
jne 0x1401b9805
lea rcx, [0x140354ad0]
call fcn.140156f20
mov ecx, dword [0x1403411e0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1401bc0c5
mov r8, qword [rbp + 0x298]
mov rcx, qword [0x140354ad0]
shl rcx, 4
mov qword [rax + rcx], r15
mov ecx, dword [0x140354ad8]
mov rdx, qword [0x140354ad0]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
xor eax, eax
bt ebx, 0xb
mov r14d, 0
jae 0x1401b985b
mov r14, qword [0x140354940]
test ebx, 0x180
cmove r14, rax
mov rax, qword [0x140354950]
mov rdi, qword [r8]
movabs rcx, 0x8000000000000001
add rcx, rax
cmp rcx, 2
jae 0x1401b989e
cmp rdi, rax
je 0x1401bc84e
sar rax, 0x3f
movabs rdi, 0x8000000000000000
add rdi, rax
jmp 0x1401b98ba
xor ecx, ecx
cmp rdi, rax
setns cl
movabs rdx, 0x7fffffffffffffff
add rdx, rcx
sub rdi, rax
cmovo rdi, rdx
xor r14, qword [rbp + 0x288]
mov cl, byte [r12]
test cl, 1
jne 0x1401b99b8
xor esi, esi
xor eax, eax
xorpd xmm0, xmm0
movapd xmmword [rbp + 0x130], xmm0
mov qword [rbp + 0x140], 0
test cl, 0x10
jne 0x1401b9c4c
mov r13, r12
xor r12d, r12d
xor ecx, ecx
mov qword [rbp + 0x1e0], rcx
test al, al
je 0x1401ba0bc
test r12b, r12b
jne 0x1401ba0bc
test rsi, rsi
mov qword [rbp + 0x170], r14
je 0x1401b9ed9
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x1401ba477
cmp qword [rcx], 0x40
jne 0x1401b9fdc
mov r12, rsi
mov r14, qword [rsi + 0x10]
add r14, 8
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401bc303
mov rbx, qword [r12 + 0x18]
test rbx, rbx
je 0x1401b9f96
mov rax, qword [r12 + 0x10]
mov ecx, dword [rax + 0x39c]
cmp ecx, dword [r12 + 0x28]
jne 0x1401b9fa4
mov rcx, qword [rax + 0x20]
xor esi, esi
mov qword [r12 + 0x18], rsi
lea r8, [rbp - 0x10]
mov qword [r8], rbx
mov rdx, qword [r12 + 0x20]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140211850.0]
mov rbx, qword [r12 + 0x18]
mov qword [r12 + 0x18], rsi
mov rsi, r12
test rbx, rbx
jne 0x1401b9fb0
jmp 0x1401b9fc0
mov ecx, dword [0x1403411e0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1401b99ec
mov rcx, qword [0x140354ac0]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x140354ac8]
jne 0x1401b99ec
cmp qword [rax + rcx], 0
jne 0x1401b9aef
mov eax, dword [0x14035aa80]
mov ecx, dword [0x14034fed0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1401bc031
mov ecx, dword [0x1403411e0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1401b9aef
mov rcx, qword [0x14035aa70]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x14035aa78]
jne 0x1401b9aef
cmp qword [rax + rcx], 0
je 0x1401b9aef
mov eax, dword [0x14035ab10]
mov ecx, dword [0x14034fed0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1401bc075
mov ecx, dword [0x1403411e0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1401b9aef
mov rcx, qword [0x14035ab00]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x14035ab08]
jne 0x1401b9aef
cmp qword [rax + rcx], 0
je 0x1401b9aef
mov ecx, dword [0x1403411e0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1401bc789
mov rcx, qword [0x140354ab0]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x140354ab8]
jne 0x1401bc789
mov rsi, qword [rax + rcx]
test rsi, rsi
je 0x1401bc789
mov eax, dword [0x140354b3c]
cmp eax, dword [rsi + 0x28]
jne 0x1401bc779
mov ecx, dword [0x1403411e0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1401bc847
mov rcx, qword [0x140354ab0]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x140354ab8]
jne 0x1401bc847
mov rsi, qword [rax + rcx]
mov cl, byte [r12]
test cl, 1
je 0x1401b98d0
mov rdx, r12
mov r12, rsi
mov rsi, qword [0x140354b48]
test rsi, rsi
je 0x1401b9f82
movapd xmm0, xmmword [0x140301d60]
movupd xmmword [rbp + 0x38], xmm0
movupd xmmword [rbp + 0x58], xmm0
movupd xmmword [rbp + 0x68], xmm0
movupd xmmword [rbp + 0x48], xmm0
mov qword [rbp - 0x10], rdi
mov rax, qword [rbp + 0x1b8]
mov qword [rbp - 8], rax
mov qword [rbp], 0xffffffffffffffff
xor eax, eax
mov qword [rbp + 8], rax
mov rcx, qword [rbp + 0x1a0]
mov qword [rbp + 0x10], rcx
mov rcx, qword [rbp + 0x280]
mov qword [rbp + 0x18], rcx
mov qword [rbp + 0x20], rdx
mov rcx, qword [rbp + 0x1b0]
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x30], rax
mov byte [rbp + 0x38], 0
mov dword [rbp + 0x60], r13d
mov dword [rbp + 0x64], ebx
mov qword [rbp + 0x68], r14
mov al, byte [rbp + 0x1d8]
mov byte [rbp + 0x70], al
mov rdx, qword [rbp + 0x2a0]
test rdx, rdx
je 0x1401b9bda
lea rax, [rbp + 0x38]
cmp rax, rdx
jne 0x1401ba905
mov r13d, ebx
test bl, 1
jne 0x1401bc5a7
mov bl, byte [rbp + 0x38]
xor edi, edi
test bl, bl
jne 0x1401ba878
test rdi, rdi
jne 0x1401bbb22
mov qword [rbp + 0x30], 0
test r12, r12
setne dl
lea rdi, [rbp - 0x10]
lea r8, [rbp + 0x168]
mov rcx, rdi
mov rax, rsi
call qword [case.0x140211850.0]
cmp byte [rdi + 0x48], 0
jne 0x1401ba8a3
mov rdx, qword [rbp + 0x30]
test rdx, rdx
je 0x1401ba1dc
lea rcx, fcn.140055170
xor r8d, r8d
call fcn.140054930
jmp 0x1401ba1dc
mov ecx, 0x88
call fcn.14016ecd4
mov rdx, r14
mov r14, rax
mov qword [rax], rdi
mov rax, qword [rbp + 0x1b8]
mov qword [r14 + 8], rax
mov qword [r14 + 0x10], 0xffffffffffffffff
xor eax, eax
mov qword [r14 + 0x18], rax
mov rcx, qword [rbp + 0x1a0]
mov qword [r14 + 0x20], rcx
mov rcx, qword [rbp + 0x280]
mov qword [r14 + 0x28], rcx
mov qword [r14 + 0x30], r12
mov rcx, qword [rbp + 0x1b0]
mov qword [r14 + 0x38], rcx
mov qword [r14 + 0x40], rax
lea r8, [r14 + 0x48]
mov byte [r14 + 0x48], 0
mov dword [r14 + 0x70], r13d
mov dword [r14 + 0x74], ebx
mov qword [rbp + 0x170], rdx
mov qword [r14 + 0x78], rdx
mov al, byte [rbp + 0x1d8]
mov byte [r14 + 0x80], al
mov rcx, qword [rbp + 0x2a0]
test rcx, rcx
je 0x1401b9cdf
cmp r8, rcx
jne 0x1401ba532
mov qword [rbp + 0x1a8], rsi
test bl, 1
mov qword [rbp + 0x1e0], r8
jne 0x1401bc310
mov bl, byte [r8]
xor esi, esi
test bl, bl
jne 0x1401ba408
test rsi, rsi
jne 0x1401bb7c9
mov qword [r14 + 0x40], 0
mov r13, r12
mov ebx, dword [r12 + 4]
mov r12b, 1
test ebx, ebx
je 0x1401b9e68
xor r15d, r15d
lea rsi, [0x140354b90]
xorpd xmm6, xmm6
test bl, 1
jne 0x1401b9d4d
mov eax, ebx
shr eax, 1
inc r15
cmp ebx, 1
mov ebx, eax
ja 0x1401b9d35
jmp 0x1401b9e68
mov eax, dword [0x140354b90]
mov ecx, dword [0x14034fed0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jle 0x1401b9da4
mov rcx, rsi
call fcn.14016f8b4
cmp dword [0x140354b90], 0xffffffff
jne 0x1401b9da4
mov ecx, 0x18
call fcn.14016ecd4
movupd xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov qword [0x140354b88], rax
mov rcx, rsi
call fcn.14016ef8c
mov rcx, qword [0x140354b88]
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
sub rcx, rax
sar rcx, 3
cmp rcx, r15
jbe 0x1401bc7ff
cmp qword [rax + r15*8], 0
je 0x1401b9d3a
mov eax, dword [0x140354b90]
mov ecx, dword [0x14034fed0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jle 0x1401b9e24
mov rcx, rsi
call fcn.14016f8b4
cmp dword [0x140354b90], 0xffffffff
jne 0x1401b9e24
mov ecx, 0x18
call fcn.14016ecd4
movupd xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov qword [0x140354b88], rax
mov rcx, rsi
call fcn.14016ef8c
mov rcx, qword [0x140354b88]
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
sub rcx, rax
sar rcx, 3
cmp rcx, r15
jbe 0x1401bc802
mov rcx, qword [rax + r15*8]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov rdx, r14
call qword [case.0x140211850.0]
xor ecx, ecx
test al, al
jne 0x1401b9e60
movzx ecx, r12b
mov r12d, ecx
jmp 0x1401b9d3a
xor esi, esi
test r12b, r12b
cmove rsi, r14
test r14, r14
je 0x1401b9eac
test r12b, r12b
je 0x1401b9eac
mov rcx, qword [rbp + 0x1e0]
cmp byte [rcx], 0
lea r15, [0x140354ad0]
jne 0x1401ba7fa
mov rdx, qword [r14 + 0x40]
test rdx, rdx
jne 0x1401bbad9
mov rcx, r14
call fcn.14016eccc
jmp 0x1401ba0c3
mov qword [rbp + 0x1e0], rsi
mov al, byte [r13]
and al, 1
lea r15, [0x140354ad0]
mov rsi, qword [rbp + 0x1a8]
mov ebx, dword [rbp + 0x2a8]
mov r14, qword [rbp + 0x170]
jmp 0x1401b9901
lea rcx, [0x1403547a8]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401bc207
mov rcx, qword [0x140354b08]
test rcx, rcx
je 0x1401ba661
cmp qword [rcx], 0x40
jne 0x1401b9f44
mov r9, qword [0x1403547c0]
mov qword [0x140354b08], 0
lea r8, [rbp - 0x10]
mov qword [r8], rcx
mov rdx, qword [0x140354b10]
mov rax, qword [r9]
mov rax, qword [rax + 0x10]
mov rcx, r9
call qword [case.0x140211850.0]
mov rcx, qword [0x140354b08]
test rcx, rcx
je 0x1401ba661
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdx, [rbp + 0x1c0]
mov qword [rdx], rax
call fcn.140229510
mov r14, rax
test rax, rax
je 0x1401ba01c
mov eax, dword [rbp + 0x1c0]
movzx ecx, word [0x140354b10]
mov rdx, qword [0x140354b08]
jmp 0x1401ba005
mov al, 1
mov rsi, r12
mov r12, rdx
jmp 0x1401b98d2
xor eax, eax
jmp 0x1401b9690
mov rsi, r12
mov qword [r12 + 0x18], 0
jmp 0x1401b9fc0
mov rsi, r12
mov qword [r12 + 0x18], 0
mov rcx, rbx
call fcn.140229160
mov rcx, rbx
call fcn.14016eccc
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rsi + 0x18]
test rcx, rcx
mov ebx, dword [rbp + 0x2a8]
je 0x1401ba477
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdx, [rbp - 0x10]
mov qword [rdx], rax
call fcn.140229510
mov r14, rax
test rax, rax
je 0x1401ba01c
mov eax, dword [rbp - 0x10]
movzx ecx, word [rsi + 0x20]
mov rdx, qword [rsi + 0x18]
mov edx, dword [rdx + 0x2210]
mov dword [rbp + 0x168], edx
shl eax, 0x1a
or eax, ecx
mov dword [rbp + 0x16c], eax
mov rax, qword [rbp + 0x2a0]
test r14, r14
je 0x1401ba527
cmp qword [rbp + 0x1e0], 0
jne 0x1401ba64d
mov dword [rsp + 0x58], ebx
mov qword [rsp + 0x50], rax
mov rax, qword [rbp + 0x170]
mov qword [rsp + 0x48], rax
mov rax, qword [rbp + 0x280]
mov qword [rsp + 0x40], rax
mov rax, qword [rbp + 0x1a0]
mov qword [rsp + 0x38], rax
mov rax, qword [rbp + 0x1b0]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r13
mov al, byte [rbp + 0x1d8]
mov byte [rsp + 0x20], al
mov rcx, r14
mov edx, dword [rbp + 0x290]
mov r8, rdi
mov r9, qword [rbp + 0x1b8]
call fcn.1400a8d50
xor edi, edi
mov eax, dword [0x140354958]
test al, 8
jne 0x1401ba438
test rsi, rsi
jne 0x1401ba0bc
lea rcx, [0x1403547a8]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rsi, qword [rbp + 0x1e0]
movzx r14d, byte [rbp + 0x147]
test r14b, r14b
jns 0x1401ba0d9
mov r12, qword [rbp + 0x138]
jmp 0x1401ba0e0
mov r12d, r14d
and r12d, 0x7f
test r12, r12
je 0x1401ba1a3
cmp dword [0x140352b00], 2
jg 0x1401ba1a3
lea rax, [0x1402fe5f0]
lea rdi, [rbp]
mov qword [rdi - 0x10], rax
mov dword [rdi - 8], 2
mov rcx, rdi
mov edx, 1
call fcn.140073802
lea rbx, str....._base_trace_event_trace_log.cc
mov qword [rdi + 0x110], rbx
mov dword [rdi + 0x118], 0x774
lea rcx, [rbp + 0x11c]
call fcn.1400d3770
lea rcx, [rbp - 0x10]
mov rdx, rbx
mov r8d, 0x774
call fcn.140169140
test r14b, r14b
jns 0x1401ba15d
mov rbx, qword [rbp + 0x130]
jmp 0x1401ba164
lea rbx, [rbp + 0x130]
mov rax, qword [rbp]
movsxd r13, dword [rax + 4]
cmp dword [rbp + r13 + 0x20], 0
je 0x1401ba25b
mov rax, qword [rbp]
movsxd rax, dword [rax + 4]
cmp qword [rbp + rax + 0x28], 0
je 0x1401ba19a
cmp dword [rbp + rax + 0x20], 0
jne 0x1401ba19a
test byte [rbp + rax + 9], 0x20
jne 0x1401bc851
lea rcx, [rbp - 0x10]
call fcn.140169410
test rsi, rsi
je 0x1401ba1c7
cmp byte [rsi + 0x48], 0
jne 0x1401ba3a8
mov rdx, qword [rsi + 0x40]
test rdx, rdx
jne 0x1401bb7b5
mov rcx, rsi
call fcn.14016eccc
cmp byte [rbp + 0x147], 0
jns 0x1401ba1dc
mov rcx, qword [rbp + 0x130]
call fcn.14016eccc
mov ecx, dword [0x1403411e0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1401ba216
mov rcx, qword [0x140354ad0]
shl rcx, 4
mov qword [rax + rcx], 0
mov ecx, dword [0x140354ad8]
mov rdx, qword [0x140354ad0]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
and r15, qword [0x1403428e0]
cmp r15, qword [0x1403428c8]
jne 0x1401ba232
lea rcx, [0x140354ad0]
call fcn.1401571d0
mov rax, qword [rbp + 0x168]
movaps xmm6, xmmword [rbp + 0x1f0]
movaps xmm7, xmmword [rbp + 0x200]
add rsp, 0x298
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rcx, qword [rbp + r13 + 0x88]
test rcx, rcx
je 0x1401ba275
call fcn.14007b49a
mov rax, qword [rbp]
movsxd r13, dword [rax + 4]
mov eax, dword [rbp + r13 + 0x90]
cmp eax, 0xffffffff
je 0x1401ba2ee
lea rcx, [rdi + r13]
add r12, rbx
mov edx, 0xb0
and edx, dword [rbp + r13 + 8]
cmp edx, 0x20
mov r9, rbx
cmove r9, r12
mov rdx, qword [rbp + r13 + 0x28]
mov byte [rsp + 0x30], al
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], r12
lea r14, [rbp + 0x1c0]
mov rcx, r14
mov r8, rbx
call fcn.14015f510
cmp qword [r14], 0
jne 0x1401ba178
mov rax, qword [rbp]
movsxd rax, dword [rax + 4]
mov ecx, dword [rbp + rax + 0x20]
or ecx, 5
mov dword [rbp + rax + 0x20], ecx
test dword [rbp + rax + 0x24], ecx
je 0x1401ba178
jmp 0x1401bc8a5
mov qword [rbp + 0x1e0], rsi
mov r14, qword [rbp + r13 + 0x30]
lock inc dword [r14 + 8]
lea rax, [0x140351d10]
mov qword [rbp + 0x1c0], rax
lea rax, [0x1401ffdd0]
mov qword [rbp + 0x1c8], rax
mov rax, qword [0x140351d10]
cmp rax, 0xffffffffffffffff
jne 0x1401bc901
movsxd rax, dword [0x140351d18]
lea rdx, [rax - 1]
mov rcx, qword [r14 + 0x10]
mov r8, qword [r14 + 0x18]
sub r8, rcx
sar r8, 3
cmp r8, rdx
jbe 0x1401bc8a0
mov rcx, qword [rcx + rax*8 - 8]
test rcx, rcx
je 0x1401bc8a0
mov rsi, r15
mov rax, qword [rcx]
mov rax, qword [rax + 0x38]
mov dl, 0x20
call qword [case.0x140211850.0]
mov r15d, eax
mov eax, 0xffffffff
lock xadd dword [r14 + 8], eax
test eax, eax
je 0x1401bc934
movsx eax, r15b
mov dword [rbp + r13 + 0x90], eax
mov rcx, qword [rbp]
movsxd r13, dword [rcx + 4]
mov r15, rsi
mov rsi, qword [rbp + 0x1e0]
jmp 0x1401ba282
lea r14, [0x1400a3b00]
lea r12, [0x140300098]
lea rbx, [0x1402fb7b0]
xor r13d, r13d
mov al, byte [rsi + r13 + 0x49]
cmp al, 8
je 0x1401ba3e3
cmp al, 9
je 0x1401bb93f
inc r13
movzx eax, byte [rsi + 0x48]
cmp r13, rax
jae 0x1401ba1b2
jmp 0x1401ba3c0
mov rdi, qword [rsi + r13*8 + 0x60]
test rdi, rdi
je 0x1401ba3d1
mov rax, qword [rdi]
mov rax, qword [rax]
cmp rax, r14
je 0x1401bb8d8
jmp 0x1401bb9f0
mov al, byte [rsi + r13 + 0x49]
jmp 0x1401ba3c9
movzx ebx, bl
xor r15d, r15d
mov al, byte [r14 + r15 + 0x49]
mov ecx, dword [rbp + 0x2a8]
test cl, 1
jne 0x1401bc572
cmp al, 7
je 0x1401bc589
inc r15
cmp rbx, r15
je 0x1401b9d03
jmp 0x1401ba40e
mov al, byte [rbp + 0x1d8]
cmp al, 0x58
movzx eax, al
mov ebx, 0x42
cmovne ebx, eax
lea rcx, [0x1403547b0]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401bc700
test dil, dil
je 0x1401ba708
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r15d, eax
jmp 0x1401ba70c
mov r12, rsi
mov r14, qword [rsi + 0x10]
add r14, 8
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401bc711
mov rax, qword [r12 + 0x10]
mov rcx, qword [rax + 0x20]
lea r8, [r12 + 0x20]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
lea rbx, [rbp - 0x10]
mov rdx, rbx
call qword [case.0x140211850.0]
mov rax, qword [rbx]
mov qword [rbx], 0
mov rbx, qword [r12 + 0x18]
mov rsi, r12
mov qword [r12 + 0x18], rax
test rbx, rbx
je 0x1401ba502
mov rcx, rbx
call fcn.140229160
mov rcx, rbx
call fcn.14016eccc
mov rbx, qword [rbp - 0x10]
mov qword [rbp - 0x10], 0
test rbx, rbx
je 0x1401ba502
mov rcx, rbx
call fcn.140229160
mov rcx, rbx
call fcn.14016eccc
mov rcx, qword [rsi + 0x10]
call fcn.140212470
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rsi + 0x18]
test rcx, rcx
mov ebx, dword [rbp + 0x2a8]
jne 0x1401b9fdc
mov dil, 1
xor r14d, r14d
jmp 0x1401ba09c
mov rax, qword [rcx + 0x20]
mov qword [r8 + 0x20], rax
movupd xmm0, xmmword [rcx]
movupd xmm1, xmmword [rcx + 0x10]
movupd xmmword [r8 + 0x10], xmm1
movupd xmmword [r8], xmm0
mov byte [rcx], 0
jmp 0x1401b9cdf
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 [0x140354750]
mov ecx, dword [0x14034fed0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1401bc1cd
mov rdi, r12
mov r13d, ebx
mov eax, dword [0x140354760]
mov ecx, dword [0x14034fed0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1401bc274
rdtsc
mov qword [rbp + 0x1b8], rax
mov r14, rdx
xor r15d, r15d
lea rbx, [rbp - 0x10]
mov qword [rbx], r15
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov r12, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
mov edx, esi
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov qword [rbx], r15
lea rsi, [rbp - 0x10]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
sub r12, qword [0x140354758]
cvtsi2sd xmm1, r12
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rsi]
divsd xmm1, xmm0
xorpd xmm0, xmm0
movsd xmm2, qword [0x14030a288]
ucomisd xmm2, xmm1
jbe 0x1401bc2bc
mov ebx, r13d
mov r12, rdi
mov r13d, dword [rbp + 0x290]
jmp 0x1401b9650
mov rcx, r14
mov rdx, qword [rbp + 0x1e0]
call fcn.14022a6a0
jmp 0x1401ba09a
mov r14, rsi
mov esi, ebx
mov rcx, qword [0x1403547c0]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
lea r8, [0x140354b10]
lea rbx, [rbp + 0x1c0]
mov rdx, rbx
call qword [case.0x140211850.0]
mov rax, qword [rbx]
mov qword [rbx], 0
mov rbx, qword [0x140354b08]
mov qword [0x140354b08], rax
test rbx, rbx
je 0x1401ba6df
mov rcx, rbx
call fcn.140229160
mov rcx, rbx
call fcn.14016eccc
mov rbx, qword [rbp + 0x1c0]
mov qword [rbp + 0x1c0], 0
test rbx, rbx
je 0x1401ba6df
mov rcx, rbx
call fcn.140229160
mov rcx, rbx
call fcn.14016eccc
lea rcx, [0x1403547a0]
call fcn.140212470
mov rcx, qword [0x140354b08]
test rcx, rcx
mov ebx, esi
mov rsi, r14
jne 0x1401b9f44
xor r14d, r14d
jmp 0x1401ba01c
mov r15d, dword [r14 + 0x70]
mov dword [rbp + 0x19c], r15d
cmp bl, 0x45
mov qword [rbp + 0x1b0], r14
mov dword [rbp + 0x1a0], edi
mov dword [rbp + 0x1b8], ebx
jne 0x1401ba7ec
lea rdi, [rbp + 0x19c]
lea r9, [rbp + 0x1c0]
mov qword [r9], rdi
lea rcx, [0x1403548e8]
lea rbx, [rbp - 0x10]
mov rdx, rbx
mov r8, rdi
call fcn.1402145d0
mov rax, qword [rbx]
mov rdx, qword [rax + 0x20]
mov rcx, qword [rax + 0x30]
test rcx, rcx
cmove rcx, rdx
lea r8, [rcx - 1]
cmp rdx, r8
jb 0x1401bca16
mov rax, qword [rax + 0x18]
mov rdx, qword [rbp + 0x298]
mov r8, qword [rdx]
mov rax, qword [rax + rcx*8 - 8]
xor ecx, ecx
cmp r8, rax
setns cl
movabs rdx, 0x7fffffffffffffff
add rdx, rcx
sub r8, rax
cmovo r8, rdx
mov qword [rbp + 0x170], r8
lea r9, [rbp + 0x1c0]
mov qword [r9], rdi
lea rcx, [0x1403548e8]
lea rbx, [rbp - 0x10]
mov rdx, rbx
mov r8, rdi
call fcn.1402145d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x20]
mov r8, qword [rcx + 0x30]
test r8, r8
jne 0x1401ba927
lea rdx, [rax - 1]
mov qword [rcx + 0x30], rdx
jmp 0x1401ba938
xor eax, eax
mov qword [rbp + 0x170], rax
jmp 0x1401ba951
lea r12, [0x1400a3b00]
lea rbx, [0x140300098]
lea rdx, [0x1402fb7b0]
xor r13d, r13d
mov al, byte [rcx + r13 + 1]
cmp al, 8
je 0x1401ba83b
cmp al, 9
je 0x1401bbc18
inc r13
mov rcx, qword [rbp + 0x1e0]
movzx eax, byte [rcx]
cmp r13, rax
jae 0x1401b9e92
jmp 0x1401ba812
mov rax, qword [rbp + 0x1e0]
mov rdi, qword [rax + r13*8 + 0x18]
test rdi, rdi
je 0x1401ba823
mov rax, qword [rdi]
mov rax, qword [rax]
cmp rax, r12
je 0x1401bbaed
jmp 0x1401bbcd0
mov rax, qword [rbp + 0x1e0]
mov al, byte [rax + r13 + 1]
mov rdx, r12
lea r12, [0x1400a3b00]
jmp 0x1401ba81b
movzx ebx, bl
xor r14d, r14d
mov al, byte [rbp + r14 + 0x39]
test r13b, 1
jne 0x1401bc732
cmp al, 7
je 0x1401bc749
inc r14
cmp rbx, r14
je 0x1401b9bf3
jmp 0x1401ba87e
xor edi, edi
lea rbx, [0x1400a3b00]
lea r14, [0x140300098]
lea r13, [0x1402fb7b0]
xor r12d, r12d
mov al, byte [rbp + r12 + 0x39]
cmp al, 8
je 0x1401ba8e0
cmp al, 9
je 0x1401bbf2d
inc r12
movzx eax, byte [rbp + 0x38]
cmp r12, rax
jae 0x1401b9c2b
jmp 0x1401ba8bd
mov rsi, qword [rbp + r12*8 + 0x50]
test rsi, rsi
je 0x1401ba8ce
mov rax, qword [rsi]
mov rax, qword [rax]
cmp rax, rbx
je 0x1401bbce6
jmp 0x1401bbfce
mov al, byte [rbp + r12 + 0x39]
jmp 0x1401ba8c6
mov rcx, qword [rdx + 0x20]
mov qword [rax + 0x20], rcx
movupd xmm0, xmmword [rdx]
movupd xmm1, xmmword [rdx + 0x10]
movupd xmmword [rax + 0x10], xmm1
movupd xmmword [rax], xmm0
mov byte [rdx], 0
jmp 0x1401b9bda
lea rdx, [r8 - 1]
mov qword [rcx + 0x30], rdx
cmp rax, r8
jb 0x1401bca39
cmp rax, rdx
jb 0x1401bca19
add rcx, 0x18
call fcn.1401e93de
mov r15d, dword [rbp + 0x19c]
movabs r14, 0xaaaaaaaaaaaaaaaa
mov qword [rbp + 0x190], r14
movapd xmm6, xmmword [0x140301d60]
movapd xmmword [rbp + 0x180], xmm6
mov ebx, r15d
mov r12, qword [0x1403548c8]
test r12, r12
je 0x1401baa4b
mov rax, r12
shr rax, 1
movabs rcx, 0x5555555555555555
and rax, rcx
mov rdx, r12
sub rdx, rax
mov rax, rdx
movabs rcx, 0x3333333333333333
and rax, rcx
shr rdx, 2
and rdx, rcx
add rdx, rax
mov rcx, rdx
shr rcx, 4
add rcx, rdx
movabs rax, 0xf0f0f0f0f0f0f0f
and rcx, rax
movabs rax, 0x101010101010101
imul rcx, rax
shr rcx, 0x38
cmp rcx, 1
jbe 0x1401bb7a5
mov r14, rbx
cmp r12, rbx
ja 0x1401ba9fe
mov rax, rbx
xor edx, edx
div r12
mov r14, rdx
mov rax, qword [0x1403548c0]
mov rdi, qword [rax + r14*8]
test rdi, rdi
je 0x1401baa4b
lea r8, [r12 - 1]
mov rdi, qword [rdi]
test rdi, rdi
je 0x1401baa4b
mov rax, qword [rdi + 8]
cmp rax, rbx
je 0x1401baa3b
cmp ecx, 1
jbe 0x1401baa46
cmp rax, r12
jb 0x1401baa36
xor edx, edx
div r12
mov rax, rdx
cmp rax, r14
jne 0x1401baa4b
cmp dword [rdi + 0x10], r15d
jne 0x1401baa13
jmp 0x1401bab4f
and rax, r8
jmp 0x1401baa36
mov ecx, 0x30
call fcn.14016ecd4
mov rdi, rax
mov dword [rax + 0x10], r15d
xorpd xmm0, xmm0
movupd xmmword [rax + 0x18], xmm0
xor eax, eax
mov qword [rdi + 0x28], rax
mov qword [rdi + 8], rbx
mov qword [rdi], rax
mov rax, qword [0x1403548d8]
inc rax
js 0x1401baa88
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
jmp 0x1401baaa0
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, r12
shr rcx, 1
mov eax, r12d
and eax, 1
or rax, rcx
test r12, r12
js 0x1401baabb
cvtsi2ss xmm1, r12
jmp 0x1401baac4
cvtsi2ss xmm1, rax
addss xmm1, xmm1
movss xmm2, dword [0x1403548e0]
je 0x1401bb5d5
mulss xmm1, xmm2
ucomiss xmm0, xmm1
ja 0x1401bb5d5
mov rcx, qword [0x1403548c0]
mov rax, qword [rcx + r14*8]
test rax, rax
jne 0x1401bab3f
lea rax, [0x1403548d0]
mov rdx, qword [0x1403548d0]
mov qword [rdi], rdx
mov qword [0x1403548d0], rdi
mov qword [rcx + r14*8], rax
mov rax, qword [rdi]
test rax, rax
je 0x1401bab48
mov rax, qword [rax + 8]
lea rcx, [r12 - 1]
test r12, rcx
je 0x1401bca31
cmp rax, r12
jb 0x1401bab32
xor edx, edx
div r12
mov rax, rdx
shl rax, 3
add rax, qword [0x1403548c0]
jmp 0x1401bab45
mov rcx, qword [rax]
mov qword [rdi], rcx
mov qword [rax], rdi
inc qword [0x1403548d8]
cmp byte [rdi + 0x2f], 0
jns 0x1401bab6b
mov rdx, qword [rdi + 0x18]
mov r8, qword [rdi + 0x20]
lea rcx, [rbp + 0x180]
call fcn.14003d5a6
jmp 0x1401bab86
add rdi, 0x18
mov rax, qword [rdi + 0x10]
mov qword [rbp + 0x190], rax
movupd xmm0, xmmword [rdi]
movapd xmmword [rbp + 0x180], xmm0
lea rcx, [rbp + 0x180]
movzx eax, byte [rcx + 0x17]
mov r8d, eax
and r8d, 0x7f
test al, al
mov rdx, qword [rcx]
cmovns rdx, rcx
cmovs r8, qword [rcx + 8]
lea rcx, [rbp - 0x10]
call fcn.1400871c2
mov r12, qword [0x140354918]
test r12, r12
jne 0x1401bada4
mov rcx, qword [0x140354928]
movabs rdx, 0xaaaaaaaaaaaaaaab
mov rax, rcx
mul rdx
shr rdx, 1
and rdx, 0xfffffffffffffffe
lea rax, [rdx + rdx*2]
neg rax
lea rbx, [rcx + rax]
inc rbx
lea r9, [rbp + 0x1c0]
lea r8, [rbp + 0x180]
mov qword [r9], r8
lea rcx, [0x140354910]
lea rdi, [rbp - 0x10]
mov rdx, rdi
call fcn.140214cf0
mov rax, qword [rdi]
mov qword [rax + 0x28], rbx
lea rdi, [rbp - 8]
mov r8d, 0x100
mov rcx, rdi
mov dl, 0xaa
call fcn.140173760
lea rax, [0x140302c98]
mov qword [rdi - 8], rax
lea rax, [0x1402fe0b0]
mov qword [rdi + 0x68], rax
mov qword [rdi + 0x90], rdi
mov dword [rdi + 0x70], 0x1002
xorps xmm7, xmm7
movups xmmword [rdi + 0x80], xmm7
mov qword [rdi + 0x78], 6
movups xmmword [rdi + 0xa0], xmm7
movups xmmword [rdi + 0xb0], xmm7
movups xmmword [rdi + 0xc0], xmm7
movups xmmword [rdi + 0xd0], xmm7
movups xmmword [rdi + 0xe0], xmm7
mov eax, dword [0x140351cf8]
mov ecx, dword [0x14034fed0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1401bc0cf
mov rax, qword [0x140351cf0]
mov rax, qword [rax]
mov qword [rbp + 0x90], rax
lock inc dword [rax + 8]
mov qword [rbp + 0xe8], 0
mov dword [rbp + 0xf0], 0xffffffff
mov rax, qword [rbp - 0x10]
movsxd rax, dword [rax + 4]
lea rcx, [0x1402fe020]
mov qword [rbp + rax - 0x10], rcx
mov rcx, rdi
call fcn.1400739c4
lea rax, [0x1402fe030]
mov qword [rbp - 8], rax
movups xmmword [rbp + 0x38], xmm7
movups xmmword [rbp + 0x48], xmm7
mov dword [rbp + 0x58], 0x10
movzx eax, byte [rbp + 0x197]
mov r8d, eax
and r8d, 0x7f
test al, al
mov rdx, qword [rbp + 0x180]
lea rax, [rbp + 0x180]
cmovns rdx, rax
mov qword [rbp + 0x1c0], rax
cmovs r8, qword [rbp + 0x188]
lea rcx, [rbp + 0x158]
call fcn.1400871c2
mov rbx, rax
mov rdi, qword [0x140354918]
test rdi, rdi
jne 0x1401baf25
movabs r13, 0xaaaaaaaaaaaaaaaa
mov ecx, 0x30
call fcn.14016ecd4
mov r15, rax
lea rcx, [rax + 0x10]
lea rdx, [rbp + 0x1c0]
call fcn.140215010
mov qword [r15 + 8], rbx
mov qword [r15], 0
mov rax, qword [0x140354928]
inc rax
js 0x1401bb0a0
cvtsi2ss xmm0, rax
jmp 0x1401bb0b5
mov rdi, rax
mov rax, r12
shr rax, 1
movabs rcx, 0x5555555555555555
and rax, rcx
mov rcx, r12
sub rcx, rax
mov rax, rcx
movabs rdx, 0x3333333333333333
and rax, rdx
shr rcx, 2
and rcx, rdx
add rcx, rax
mov r13, rcx
shr r13, 4
add r13, rcx
movabs rax, 0xf0f0f0f0f0f0f0f
and r13, rax
movabs rax, 0x101010101010101
imul r13, rax
shr r13, 0x38
cmp r13, 1
ja 0x1401bb65d
lea r14, [r12 - 1]
and r14, rdi
mov rax, qword [0x140354910]
mov rax, qword [rax + r14*8]
test rax, rax
je 0x1401babbf
mov rbx, qword [rax]
test rbx, rbx
je 0x1401babbf
movzx eax, byte [rbp + 0x197]
mov r15d, eax
and r15d, 0x7f
test al, al
cmovs r15, qword [rbp + 0x188]
lea rax, [r12 - 1]
mov qword [rbp + 0x1a8], rax
mov rcx, qword [rbp + 0x180]
lea rax, [rbp + 0x180]
cmovns rcx, rax
mov qword [rbp + 0x1d8], rcx
mov rax, qword [rbx + 8]
cmp rax, rdi
jne 0x1401baec2
movzx edx, byte [rbx + 0x27]
mov eax, edx
and eax, 0x7f
mov rcx, rax
test dl, dl
jns 0x1401bae8f
mov rcx, qword [rbx + 0x18]
cmp rcx, r15
jne 0x1401baed8
lea rcx, [rbx + 0x10]
test dl, dl
jns 0x1401bae9f
mov rcx, qword [rcx]
jns 0x1401baef4
test r15, r15
je 0x1401bac16
mov rdx, qword [rbp + 0x1d8]
mov r8, r15
call fcn.140172fb0
test eax, eax
jne 0x1401baed8
jmp 0x1401bac16
cmp r13d, 1
ja 0x1401baee5
and rax, qword [rbp + 0x1a8]
cmp rax, r14
jne 0x1401babbf
mov rbx, qword [rbx]
test rbx, rbx
jne 0x1401bae72
jmp 0x1401babbf
cmp rax, r12
jb 0x1401baecf
xor edx, edx
div r12
mov rax, rdx
jmp 0x1401baecf
test al, al
je 0x1401bac16
xor ecx, ecx
mov dl, byte [rbx + rcx + 0x10]
mov r10, qword [rbp + 0x1d8]
cmp dl, byte [r10 + rcx]
jne 0x1401baed8
inc rcx
cmp rax, rcx
jne 0x1401baefe
test rbx, rbx
je 0x1401babbf
jmp 0x1401bac16
mov rax, rdi
shr rax, 1
movabs rcx, 0x5555555555555555
and rax, rcx
mov rcx, rdi
sub rcx, rax
mov rax, rcx
movabs rdx, 0x3333333333333333
and rax, rdx
shr rcx, 2
and rcx, rdx
add rcx, rax
mov r12, rcx
shr r12, 4
add r12, rcx
movabs rax, 0xf0f0f0f0f0f0f0f
and r12, rax
movabs rax, 0x101010101010101
imul r12, rax
shr r12, 0x38
cmp r12, 1
ja 0x1401bb66e
lea r13, [rdi - 1]
and r13, rbx
mov rax, qword [0x140354910]
mov rax, qword [rax + r13*8]
test rax, rax
je 0x1401bad62
mov r15, qword [rax]
test r15, r15
je 0x1401bad62
mov qword [rbp + 0x1d8], rbx
lea rax, [rdi - 1]
mov qword [rbp + 0x1a8], rax
movzx eax, byte [rbp + 0x197]
mov ebx, eax
and ebx, 0x7f
mov qword [rbp + 0x178], rax
test al, al
cmovs rbx, qword [rbp + 0x188]
mov rax, qword [rbp + 0x180]
lea r14, [rbp + 0x180]
mov qword [rbp + 0x150], rax
cmovs r14, rax
mov rax, qword [r15 + 8]
cmp rax, qword [rbp + 0x1d8]
je 0x1401bb01d
cmp r12d, 1
ja 0x1401bb065
and rax, qword [rbp + 0x1a8]
cmp rax, r13
jne 0x1401bc0b9
movzx edx, byte [r15 + 0x27]
mov eax, edx
and eax, 0x7f
mov rcx, rax
test dl, dl
jns 0x1401bb032
mov rcx, qword [r15 + 0x18]
cmp rcx, rbx
jne 0x1401bb058
lea rcx, [r15 + 0x10]
test dl, dl
jns 0x1401bb042
mov rcx, qword [rcx]
jns 0x1401bb074
test rbx, rbx
je 0x1401bb08d
mov rdx, r14
mov r8, rbx
call fcn.140172fb0
test eax, eax
je 0x1401bb08d
mov r15, qword [r15]
test r15, r15
jne 0x1401baffa
jmp 0x1401bc0b9
cmp rax, rdi
jb 0x1401bb014
xor edx, edx
div rdi
mov rax, rdx
jmp 0x1401bb014
test al, al
je 0x1401bb08d
xor ecx, ecx
mov dl, byte [r15 + rcx + 0x10]
cmp dl, byte [r14 + rcx]
jne 0x1401bb058
inc rcx
cmp rax, rcx
jne 0x1401bb07a
mov rax, qword [rbp + 0x178]
mov rcx, qword [rbp + 0x150]
jmp 0x1401bb1da
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, rdi
shr rcx, 1
mov eax, edi
and eax, 1
or rax, rcx
test rdi, rdi
js 0x1401bb0cf
cvtsi2ss xmm1, rdi
jmp 0x1401bb0d8
cvtsi2ss xmm1, rax
addss xmm1, xmm1
movss xmm2, dword [0x140354930]
je 0x1401bb148
mulss xmm1, xmm2
ucomiss xmm0, xmm1
ja 0x1401bb148
mov rcx, qword [0x140354910]
mov rax, qword [rcx + r13*8]
test rax, rax
jne 0x1401bb1bd
lea rax, [0x140354920]
mov rdx, qword [0x140354920]
mov qword [r15], rdx
mov qword [0x140354920], r15
mov qword [rcx + r13*8], rax
mov rax, qword [r15]
test rax, rax
je 0x1401bb1c6
mov rax, qword [rax + 8]
lea rcx, [rdi - 1]
test rdi, rcx
jne 0x1401bb91a
and rax, rcx
shl rax, 3
add rax, qword [0x140354910]
jmp 0x1401bb1c3
divss xmm0, xmm2
call fcn.14019036c
cvttss2si rcx, xmm0
mov rdx, rcx
subss xmm0, dword [0x1402eebd8]
sar rdx, 0x3f
cvttss2si rax, xmm0
and rax, rdx
or rax, rcx
lea rcx, [rdi + rdi]
mov edx, 1
cmp rdi, 3
jb 0x1401bb18b
lea r8, [rdi - 1]
xor edx, edx
test rdi, r8
setne dl
or rdx, rcx
cmp rdx, rax
cmovbe rdx, rax
lea rcx, [0x140354910]
call fcn.140086ee0
mov rdi, qword [0x140354918]
lea r13, [rdi - 1]
test rdi, r13
jne 0x1401bb794
and r13, rbx
jmp 0x1401bb0eb
mov rcx, qword [rax]
mov qword [r15], rcx
mov qword [rax], r15
inc qword [0x140354928]
mov al, byte [rbp + 0x197]
mov rcx, qword [rbp + 0x180]
mov r9, qword [r15 + 0x28]
test al, al
lea r8, [rbp + 0x180]
cmovs r8, rcx
lea rdx, str._s:_e_0_3_Ium
lea r15, [rbp + 0x1c0]
mov rcx, r15
call fcn.1400482f0
movzx edi, byte [r15 + 0x17]
test dil, dil
jns 0x1401bb21b
mov rdi, qword [rbp + 0x1c8]
mov r15, qword [rbp + 0x1c0]
jmp 0x1401bb21e
and edi, 0x7f
mov rax, qword [rbp - 0x10]
movsxd r12, dword [rax + 4]
cmp dword [rbp + r12 + 0x10], 0
jne 0x1401bb35d
mov rcx, qword [rbp + r12 + 0x78]
test rcx, rcx
je 0x1401bb249
call fcn.14007b49a
mov rax, qword [rbp - 0x10]
movsxd r12, dword [rax + 4]
mov eax, dword [rbp + r12 + 0x80]
cmp eax, 0xffffffff
jne 0x1401bb2f9
mov rbx, qword [rbp + r12 + 0x20]
lock inc dword [rbx + 8]
lea rax, [0x140351d10]
mov qword [rbp + 0x158], rax
lea rax, [0x1401ffdd0]
mov qword [rbp + 0x160], rax
mov rax, qword [0x140351d10]
cmp rax, 0xffffffffffffffff
jne 0x1401bca3c
movsxd rax, dword [0x140351d18]
lea rdx, [rax - 1]
mov rcx, qword [rbx + 0x10]
mov r8, qword [rbx + 0x18]
sub r8, rcx
sar r8, 3
cmp r8, rdx
jbe 0x1401bc8a0
mov rcx, qword [rcx + rax*8 - 8]
test rcx, rcx
je 0x1401bc8a0
mov rax, qword [rcx]
mov rax, qword [rax + 0x38]
mov dl, 0x20
call qword [case.0x140211850.0]
mov r14d, eax
mov eax, 0xffffffff
lock xadd dword [rbx + 8], eax
test eax, eax
je 0x1401bca69
movsx eax, r14b
mov dword [rbp + r12 + 0x80], eax
mov rcx, qword [rbp - 0x10]
movsxd r12, dword [rcx + 4]
lea rcx, [r12 + rbp]
add rcx, 0xfffffffffffffff0
add rdi, r15
mov edx, 0xb0
and edx, dword [rcx + 8]
cmp edx, 0x20
mov r9, r15
cmove r9, rdi
mov rdx, qword [rcx + 0x28]
mov byte [rsp + 0x30], al
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdi
lea rbx, [rbp + 0x158]
mov rcx, rbx
mov r8, r15
call fcn.14015f510
cmp qword [rbx], 0
jne 0x1401bb35d
mov rax, qword [rbp - 0x10]
movsxd rax, dword [rax + 4]
mov ecx, dword [rbp + rax + 0x10]
or ecx, 5
mov dword [rbp + rax + 0x10], ecx
test dword [rbp + rax + 0x14], ecx
jne 0x1401bc8a5
mov rax, qword [rbp - 0x10]
movsxd rax, dword [rax + 4]
cmp qword [rbp + rax + 0x18], 0
je 0x1401bb37f
cmp dword [rbp + rax + 0x10], 0
jne 0x1401bb37f
test byte [rbp + rax - 7], 0x20
jne 0x1401bc9c6
cmp byte [rbp + 0x1d7], 0
lea r15, [0x140354ad0]
mov rbx, qword [rbp + 0x1b0]
jns 0x1401bb3a2
mov rcx, qword [rbp + 0x1c0]
call fcn.14016eccc
mov r9, qword [0x1403548f0]
test r9, r9
jne 0x1401bb445
cmp byte [rbp + 0x1a0], 0
jne 0x1401bb3c7
lea rdx, [rbp - 0x10]
mov rcx, rbx
call fcn.14022a820
mov edi, dword [rbp + 0x1b8]
cmp dil, 0x45
jne 0x1401bb521
movabs rax, 0x8000000000000001
mov rcx, qword [rbp + 0x170]
add rax, rcx
cmp rax, 2
jb 0x1401bca1c
xorps xmm2, xmm2
cvtsi2sd xmm2, rcx
divsd xmm2, qword [0x140309e10]
lea rdi, [rbp - 8]
lea rdx, str.___.3f_ms_
lea rbx, [rbp + 0x1c0]
mov rcx, rbx
movq r8, xmm2
call fcn.1400482f0
movzx r8d, byte [rbx + 0x17]
test r8b, r8b
jns 0x1401bb6a6
mov r8, qword [rbp + 0x1c8]
mov rbx, qword [rbp + 0x1c0]
jmp 0x1401bb6aa
mov ecx, dword [rbp + 0x19c]
mov rax, r9
shr rax, 1
movabs rdx, 0x5555555555555555
and rax, rdx
mov rdx, r9
sub rdx, rax
mov rax, rdx
movabs r8, 0x3333333333333333
and rax, r8
shr rdx, 2
and rdx, r8
add rdx, rax
mov r10, rdx
shr r10, 4
add r10, rdx
movabs rax, 0xf0f0f0f0f0f0f0f
and r10, rax
movabs rax, 0x101010101010101
imul r10, rax
shr r10, 0x38
cmp r10, 1
ja 0x1401bb68a
lea eax, [r9 - 1]
mov r8d, ecx
and r8d, eax
mov rax, qword [0x1403548e8]
mov rax, qword [rax + r8*8]
test rax, rax
je 0x1401bb3b2
mov r11, qword [rax]
test r11, r11
je 0x1401bb3b2
lea rdi, [r9 - 1]
mov rax, qword [r11 + 8]
cmp rax, rcx
jne 0x1401bb4f3
cmp dword [r11 + 0x10], ecx
jne 0x1401bb505
jmp 0x1401bbd18
cmp r10d, 1
ja 0x1401bb512
and rax, rdi
cmp rax, r8
jne 0x1401bb3b2
mov r11, qword [r11]
test r11, r11
jne 0x1401bb4df
jmp 0x1401bb3b2
cmp rax, r9
jb 0x1401bb4fc
xor edx, edx
div r9
mov rax, rdx
jmp 0x1401bb4fc
lea rdx, str.e_0_m
lea rcx, [rbp - 0x10]
mov r8d, 5
call fcn.14015f6d6
cmp dil, 0x42
lea rdi, [rbp - 8]
jne 0x1401bb6e1
lea r8, [rbp + 0x19c]
lea r9, [rbp + 0x158]
mov qword [r9], r8
lea rcx, [0x1403548e8]
lea rbx, [rbp + 0x1c0]
mov rdx, rbx
call fcn.1402145d0
mov rdi, qword [rbx]
lea rcx, [rdi + 0x18]
mov edx, 1
call fcn.1401e968c
mov rax, qword [rdi + 0x30]
cmp qword [rdi + 0x20], rax
jb 0x1401bcb84
mov rcx, qword [rdi + 0x18]
mov rdx, qword [rbp + 0x298]
mov rdx, qword [rdx]
mov qword [rcx + rax*8], rdx
mov rax, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x30]
lea rdx, [rax - 1]
lea r8, [rcx + 1]
xor r9d, r9d
cmp rcx, rdx
cmovne r9, r8
mov qword [rdi + 0x30], r9
test r9, r9
cmove r8, rax
dec r8
cmp rax, r8
lea rdi, [rbp - 8]
jae 0x1401bb6e1
int3
divss xmm0, xmm2
call fcn.14019036c
cvttss2si rcx, xmm0
mov rdx, rcx
subss xmm0, dword [0x1402eebd8]
sar rdx, 0x3f
cvttss2si rax, xmm0
and rax, rdx
or rax, rcx
lea rcx, [r12 + r12]
mov edx, 1
cmp r12, 3
jb 0x1401bb619
lea r8, [r12 - 1]
xor edx, edx
test r12, r8
setne dl
or rdx, rcx
cmp rdx, rax
cmovbe rdx, rax
lea rcx, [0x1403548c0]
call fcn.1400e0de0
mov r12, qword [0x1403548c8]
lea rax, [r12 - 1]
test r12, rax
je 0x1401bb930
cmp r12, rbx
ja 0x1401bb937
mov rax, rbx
xor edx, edx
div r12
mov r14, rdx
jmp 0x1401baadf
cmp rdi, r12
jae 0x1401bb8c8
mov r14, rdi
jmp 0x1401bae15
mov r13, rbx
cmp rbx, rdi
jb 0x1401baf92
mov rax, rbx
xor edx, edx
div rdi
mov r13, rdx
jmp 0x1401baf92
mov r8, rcx
cmp r9, rcx
ja 0x1401bb4bb
mov rax, rcx
xor edx, edx
div r9
mov r8, rdx
jmp 0x1401bb4bb
and r8d, 0x7f
lea rcx, [rbp - 0x10]
mov rdx, rbx
call fcn.14015f6d6
cmp byte [rbp + 0x1d7], 0
jns 0x1401bb6cb
mov rcx, qword [rbp + 0x1c0]
call fcn.14016eccc
lea rdx, str.e_0_m
lea rcx, [rbp - 0x10]
mov r8d, 5
call fcn.14015f6d6
lea rbx, [rbp + 0x60]
lea rdx, [rbp + 0x1c0]
mov rcx, rdi
call fcn.14009c71a
mov rax, qword [rbx - 0x70]
movsxd rax, dword [rax + 4]
lea rcx, [0x1402fe020]
mov qword [rbp + rax - 0x10], rcx
lea rax, [0x1402fe030]
mov qword [rbx - 0x68], rax
cmp byte [rbx - 0x11], 0
jns 0x1401bb722
mov rcx, qword [rbp + 0x38]
call fcn.14016eccc
mov rcx, rdi
call fcn.140043168
mov rcx, rdi
call fcn.14004a330
mov rcx, rbx
call fcn.14006d624
cmp byte [rbp + 0x197], 0
jns 0x1401bb74f
mov rcx, qword [rbp + 0x180]
call fcn.14016eccc
lea rcx, [0x1403547b0]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp byte [rbp + 0x147], 0
jns 0x1401bb771
mov rcx, qword [rbp + 0x130]
call fcn.14016eccc
mov rax, qword [rbp + 0x1d0]
mov qword [rbp + 0x140], rax
movupd xmm0, xmmword [rbp + 0x1c0]
movapd xmmword [rbp + 0x130], xmm0
jmp 0x1401ba0aa
cmp rbx, rdi
jae 0x1401bb90a
mov r13, rbx
jmp 0x1401bb0eb
lea eax, [r12 - 1]
mov r14d, ebx
and r14d, eax
jmp 0x1401ba9fe
lea rcx, fcn.140055170
xor r8d, r8d
call fcn.140054930
jmp 0x1401ba1bf
lea r13, [rsi + 8]
lea rbx, [0x1403026a4]
mov r15, qword [rbp + 0x1e0]
mov rcx, qword [0x140355c00]
test rcx, rcx
je 0x1401bca7e
mov qword [rsp + 0x20], rbx
mov edx, 0x10
xor r8d, r8d
mov r9, r13
call fcn.140103da0
test r13, r13
je 0x1401bb817
test rax, rax
jne 0x1401bb817
cmp byte [0x1403546fc], 0
jne 0x1401bca92
mov qword [r14 + 0x40], rax
mov qword [rax], rsi
lea rcx, [rax + 8]
test rax, rax
cmove rcx, rax
lea rax, [rcx + rsi]
mov edx, dword [rbp + 0x2a8]
test dl, 1
jne 0x1401bc380
mov dl, byte [r15]
test dl, dl
je 0x1401b9d14
mov r8, rax
neg r8
xor r9d, r9d
mov r15, qword [rbp + 0x1e0]
cmp byte [r15 + r9 + 1], 7
jne 0x1401bb8b7
mov r10, qword [r15 + r9*8 + 0x18]
test r10, r10
je 0x1401bb8b7
mov rdx, rax
sub rdx, rcx
je 0x1401bb89e
lea rsi, [r8 + rcx]
mov r11d, 1
mov bl, byte [r10 + r11 - 1]
mov byte [rcx + r11 - 1], bl
test bl, bl
je 0x1401bb8ac
lea rbx, [rsi + r11]
inc rbx
inc r11
cmp rbx, 1
jne 0x1401bb87b
mov byte [rdx + rcx - 1], 0
lea r11, [rdx + 1]
cmp byte [r10 + rdx], 0
mov rdx, r11
jne 0x1401bb89e
mov qword [r15 + r9*8 + 0x18], rcx
add rcx, r11
mov dl, byte [r15]
inc r9
movzx r10d, dl
cmp r9, r10
jb 0x1401bb857
jmp 0x1401b9d14
mov rax, rdi
xor edx, edx
div r12
mov r14, rdx
jmp 0x1401bae15
mov qword [rdi], r12
mov rcx, qword [rdi + 8]
mov qword [rdi + 8], 0
test rcx, rcx
je 0x1401bb8fd
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x140211850.0]
mov rcx, rdi
call fcn.14016eccc
jmp 0x1401ba401
mov rax, rbx
xor edx, edx
div rdi
mov r13, rdx
jmp 0x1401bb0eb
cmp rax, rdi
jb 0x1401bb13b
xor edx, edx
div rdi
mov rax, rdx
jmp 0x1401bb13b
lea eax, [r12 - 1]
and ebx, eax
mov r14, rbx
jmp 0x1401baadf
mov rdi, qword [rsi + r13*8 + 0x60]
test rdi, rdi
je 0x1401ba3d1
mov rcx, qword [rdi + 0xa8]
test rcx, rcx
je 0x1401bb969
mov r15, qword [rcx]
call fcn.14016eccc
mov rcx, r15
test r15, r15
jne 0x1401bb959
xor edx, edx
mov qword [rdi + 0xa8], rdx
lea rax, [0x1402fb7b0]
mov qword [rdi], rax
mov rcx, qword [rdi + 0x38]
mov qword [rdi + 0x38], rdx
test rcx, rcx
jne 0x1401bc557
mov r12, qword [rdi + 0x20]
test r12, r12
je 0x1401bb9ce
mov r15, qword [rdi + 0x28]
mov rcx, r12
cmp r15, r12
je 0x1401bb9c5
mov rcx, qword [r15 - 0x18]
mov qword [r15 - 0x18], 0
add r15, 0xffffffffffffffe8
test rcx, rcx
je 0x1401bb9bc
call fcn.14016efec
cmp r15, r12
jne 0x1401bb9a2
mov rcx, qword [rdi + 0x20]
mov qword [rdi + 0x28], r12
call fcn.14016eccc
mov rcx, rdi
call fcn.14016eccc
lea r15, [0x140354ad0]
lea r12, [0x140300098]
lea rbx, [0x1402fb7b0]
jmp 0x1401ba3d1
mov rcx, rdi
mov edx, 1
call qword [case.0x140211850.0]
jmp 0x1401ba401
cmp byte [rsi], 0
je 0x1401b97d4
mov rdi, qword [0x140354b78]
mov ecx, dword [0x1403411e0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1401bc7e5
mov r14d, ebx
mov rcx, qword [rdi]
shl rcx, 4
mov qword [rax + rcx], rsi
mov ecx, dword [rdi + 8]
mov rdx, qword [rdi]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
lea rcx, [0x1403547b0]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401bc561
lea rcx, [0x1403548c0]
lea rbx, [rbp - 0x10]
lea rdi, [rbp - 0x18]
mov rdx, rbx
mov r8, rdi
call fcn.14012fe20
mov rax, qword [rbx]
test rax, rax
jne 0x1401bcace
lea rax, [rbp + 0x130]
mov qword [rax], rdi
lea rcx, [rbp - 0x20]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea rcx, [0x1403548c0]
lea r9, [0x14030c4e7]
lea rbx, [rbp - 0x10]
mov rdx, rbx
mov r8, rdi
call fcn.140214320
mov rcx, qword [rbx]
add rcx, 0x18
mov rdx, rsi
call fcn.14009d844
lea rcx, [0x1403547b0]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov ebx, r14d
jmp 0x1401b97d4
lea rcx, fcn.140055170
xor r8d, r8d
call fcn.140054930
jmp 0x1401b9e9f
mov r12, rdx
mov qword [rdi], rbx
mov rcx, qword [rdi + 8]
mov qword [rdi + 8], 0
test rcx, rcx
je 0x1401bbb15
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x140211850.0]
mov rcx, rdi
call fcn.14016eccc
jmp 0x1401ba860
lea rbx, [rdi + 8]
lea r15, [0x1403026a4]
mov rcx, qword [0x140355c00]
test rcx, rcx
je 0x1401bcab5
mov qword [rsp + 0x20], r15
mov edx, 0x10
xor r8d, r8d
mov r9, rbx
call fcn.140103da0
mov r14, rax
test rbx, rbx
je 0x1401bbb6c
test r14, r14
jne 0x1401bbb6c
cmp byte [0x1403546fc], 0
jne 0x1401bcb87
mov qword [rbp + 0x30], r14
mov qword [r14], rdi
lea rcx, [r14 + 8]
test r14, r14
cmove rcx, r14
lea rax, [rcx + rdi]
test r13b, 1
jne 0x1401bc611
mov dl, byte [rbp + 0x38]
lea r15, [0x140354ad0]
test dl, dl
je 0x1401b9c04
mov r8, rax
neg r8
xor r9d, r9d
cmp byte [rbp + r9 + 0x39], 7
jne 0x1401bbc07
mov r10, qword [rbp + r9*8 + 0x50]
test r10, r10
je 0x1401bbc07
mov rdx, rax
sub rdx, rcx
je 0x1401bbbee
lea rdi, [r8 + rcx]
mov r11d, 1
mov bl, byte [r10 + r11 - 1]
mov byte [rcx + r11 - 1], bl
test bl, bl
je 0x1401bbbfc
lea rbx, [rdi + r11]
inc rbx
inc r11
cmp rbx, 1
jne 0x1401bbbcb
mov byte [rdx + rcx - 1], 0
lea r11, [rdx + 1]
cmp byte [r10 + rdx], 0
mov rdx, r11
jne 0x1401bbbee
mov qword [rbp + r9*8 + 0x50], rcx
add rcx, r11
mov dl, byte [rbp + 0x38]
inc r9
movzx r10d, dl
cmp r9, r10
jb 0x1401bbba7
jmp 0x1401b9c04
mov rax, qword [rbp + 0x1e0]
mov rdi, qword [rax + r13*8 + 0x18]
test rdi, rdi
je 0x1401ba823
mov rcx, qword [rdi + 0xa8]
test rcx, rcx
je 0x1401bbc49
mov rbx, qword [rcx]
call fcn.14016eccc
mov rcx, rbx
test rbx, rbx
jne 0x1401bbc39
xor eax, eax
mov qword [rdi + 0xa8], rax
lea rcx, [0x1402fb7b0]
mov qword [rdi], rcx
mov rcx, qword [rdi + 0x38]
mov qword [rdi + 0x38], rax
test rcx, rcx
jne 0x1401bc71e
mov rbx, qword [rdi + 0x20]
test rbx, rbx
je 0x1401bbcae
mov r15, qword [rdi + 0x28]
mov rcx, rbx
cmp r15, rbx
je 0x1401bbca5
mov rcx, qword [r15 - 0x18]
mov qword [r15 - 0x18], 0
add r15, 0xffffffffffffffe8
test rcx, rcx
je 0x1401bbc9c
call fcn.14016efec
cmp r15, rbx
jne 0x1401bbc82
mov rcx, qword [rdi + 0x20]
mov qword [rdi + 0x28], rbx
call fcn.14016eccc
mov rcx, rdi
call fcn.14016eccc
lea r15, [0x140354ad0]
lea rbx, [0x140300098]
lea rdx, [0x1402fb7b0]
jmp 0x1401ba823
mov r12, rdx
mov rcx, rdi
mov edx, 1
call qword [case.0x140211850.0]
jmp 0x1401ba860
mov qword [rsi], r14
mov rcx, qword [rsi + 8]
mov qword [rsi + 8], 0
test rcx, rcx
je 0x1401bbd0b
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x140211850.0]
mov rcx, rsi
call fcn.14016eccc
jmp 0x1401ba8fe
mov rcx, qword [r11 + 0x28]
mov rax, qword [r11 + 0x30]
mov rdi, rax
sub rdi, rcx
jae 0x1401bbd32
sub rax, rcx
add rax, qword [r11 + 0x20]
mov rdi, rax
test rdi, rdi
je 0x1401bb3b2
mov rax, qword [rbp - 0x10]
movsxd r12, dword [rax + 4]
cmp dword [rbp + r12 + 0x10], 0
je 0x1401bbd85
mov rax, qword [rbp - 0x10]
movsxd rax, dword [rax + 4]
cmp qword [rbp + rax + 0x18], 0
je 0x1401bbd6d
cmp dword [rbp + rax + 0x10], 0
jne 0x1401bbd6d
test byte [rbp + rax - 7], 0x20
jne 0x1401bc8b1
dec rdi
lea r15, [0x140354ad0]
mov rbx, qword [rbp + 0x1b0]
jne 0x1401bbd3b
jmp 0x1401bb3b2
mov rcx, qword [rbp + r12 + 0x78]
test rcx, rcx
je 0x1401bbd9c
call fcn.14007b49a
mov rax, qword [rbp - 0x10]
movsxd r12, dword [rax + 4]
mov edx, dword [rbp + r12 + 0x80]
cmp edx, 0xffffffff
je 0x1401bbe89
mov eax, dword [rbp + r12 - 8]
mov ecx, 0xb0
and eax, ecx
cmp eax, 0x20
lea r15, [0x14030c45b]
lea rax, [0x14030c45d]
cmove r15, rax
mov r14, qword [rbp + r12 + 0x18]
test r14, r14
je 0x1401bbe5e
mov rax, qword [rbp + r12 + 8]
lea rbx, [rax - 2]
cmp rax, 3
mov eax, 0
cmovl rbx, rax
mov r13, r15
lea rax, [0x14030c45b]
sub r13, rax
test r13, r13
jg 0x1401bc949
test rbx, rbx
jne 0x1401bc47d
lea rbx, [0x14030c45b]
sub rbx, r15
add rbx, 2
test rbx, rbx
jle 0x1401bbe3f
mov rax, qword [r14]
mov rax, qword [rax + 0x58]
mov rcx, r14
mov rdx, r15
mov r8, rbx
call qword [case.0x140211850.0]
cmp rax, rbx
jne 0x1401bbe5e
mov qword [rbp + r12 + 8], 0
mov rax, r14
mov rcx, rax
mov qword [rbp + 0x1d8], rax
test rax, rax
jne 0x1401bbd4b
mov rax, qword [rbp - 0x10]
movsxd rax, dword [rax + 4]
mov ecx, dword [rbp + rax + 0x10]
or ecx, 5
mov dword [rbp + rax + 0x10], ecx
test dword [rbp + rax + 0x14], ecx
jne 0x1401bc8a5
xor eax, eax
mov qword [rbp + 0x1d8], rax
jmp 0x1401bbd4b
mov rbx, qword [rbp + r12 + 0x20]
lock inc dword [rbx + 8]
lea rax, [0x140351d10]
mov qword [rbp + 0x1c0], rax
lea rax, [0x1401ffdd0]
mov qword [rbp + 0x1c8], rax
mov rax, qword [0x140351d10]
cmp rax, 0xffffffffffffffff
jne 0x1401bc97d
movsxd rax, dword [0x140351d18]
lea rdx, [rax - 1]
mov rcx, qword [rbx + 0x10]
mov r8, qword [rbx + 0x18]
sub r8, rcx
sar r8, 3
cmp r8, rdx
jbe 0x1401bc8a0
mov rcx, qword [rcx + rax*8 - 8]
test rcx, rcx
je 0x1401bc8a0
mov rax, qword [rcx]
mov rax, qword [rax + 0x38]
mov dl, 0x20
call qword [case.0x140211850.0]
mov r14d, eax
mov eax, 0xffffffff
lock xadd dword [rbx + 8], eax
test eax, eax
je 0x1401bc9b1
movsx edx, r14b
mov dword [rbp + r12 + 0x80], edx
mov rax, qword [rbp - 0x10]
movsxd r12, dword [rax + 4]
jmp 0x1401bbdad
mov rsi, qword [rbp + r12*8 + 0x50]
test rsi, rsi
je 0x1401ba8ce
mov rcx, qword [rsi + 0xa8]
test rcx, rcx
je 0x1401bbf57
mov r15, qword [rcx]
call fcn.14016eccc
mov rcx, r15
test r15, r15
jne 0x1401bbf47
mov qword [rsi + 0xa8], rdi
mov qword [rsi], r13
mov rcx, qword [rsi + 0x38]
mov qword [rsi + 0x38], rdi
test rcx, rcx
jne 0x1401bc728
mov r13, qword [rsi + 0x20]
test r13, r13
je 0x1401bbfb3
mov r15, qword [rsi + 0x28]
mov rcx, r13
cmp r15, r13
je 0x1401bbfaa
mov rcx, qword [r15 - 0x18]
mov qword [r15 - 0x18], 0
add r15, 0xffffffffffffffe8
test rcx, rcx
je 0x1401bbfa1
call fcn.14016efec
cmp r15, r13
jne 0x1401bbf87
mov rcx, qword [rsi + 0x20]
mov qword [rsi + 0x28], r13
call fcn.14016eccc
mov rcx, rsi
call fcn.14016eccc
lea r15, [0x140354ad0]
lea r13, [0x1402fb7b0]
jmp 0x1401ba8ce
mov rcx, rsi
mov edx, 1
call qword [case.0x140211850.0]
jmp 0x1401ba8fe
lea rcx, [0x140354b80]
call fcn.14016f8b4
cmp dword [0x140354b80], 0xffffffff
jne 0x1401b9799
mov ecx, 0x10
call fcn.14016ecd4
mov rdi, rax
xorpd xmm0, xmm0
movapd xmmword [rax], xmm0
mov rcx, rax
xor edx, edx
call fcn.140041af0
mov qword [0x140354b78], rdi
lea rcx, [0x140354b80]
call fcn.14016ef8c
jmp 0x1401b9799
lea rcx, [0x14035aa80]
call fcn.14016f8b4
cmp dword [0x14035aa80], 0xffffffff
jne 0x1401b9a11
xorpd xmm0, xmm0
movupd xmmword [0x14035aa70], xmm0
lea rcx, [0x14035aa70]
xor edx, edx
call fcn.140041af0
lea rcx, [0x14035aa80]
call fcn.14016ef8c
jmp 0x1401b9a11
lea rcx, [0x14035ab10]
call fcn.14016f8b4
cmp dword [0x14035ab10], 0xffffffff
jne 0x1401b9a72
xorpd xmm0, xmm0
movupd xmmword [0x14035ab00], xmm0
lea rcx, [0x14035ab00]
xor edx, edx
call fcn.140041af0
lea rcx, [0x14035ab10]
call fcn.14016ef8c
jmp 0x1401b9a72
mov rbx, qword [rbp + 0x1d8]
jmp 0x1401bad62
call fcn.140001120
jmp 0x1401b981b
lea rcx, [0x140351cf8]
call fcn.14016f8b4
cmp dword [0x140351cf8], 0xffffffff
jne 0x1401baca8
call fcn.1400d37a6
mov rax, qword [rax]
mov qword [0x140351ce8], rax
lea rcx, [0x140351ce8]
lock inc dword [rax + 8]
mov qword [0x140351cf0], rcx
lea rcx, [0x140351cf8]
call fcn.14016ef8c
jmp 0x1401baca8
lea rcx, [0x140354b68]
call fcn.14016f8b4
cmp dword [0x140354b68], 0xffffffff
jne 0x1401b95c7
lea rcx, [0x1403547a0]
xor edx, edx
call fcn.1400a8f40
lea rcx, [0x140354b68]
call fcn.14016ef8c
jmp 0x1401b95c7
lea rcx, [0x14035aba0]
call fcn.14016f8b4
cmp dword [0x14035aba0], 0xffffffff
jne 0x1401b972a
lea rcx, [0x14035ab90]
xor edx, edx
call fcn.140041af0
lea rcx, [0x14035aba0]
call fcn.14016ef8c
jmp 0x1401b972a
lea rcx, [0x14035aba8]
call fcn.14006d330
test al, al
je 0x1401bc7d9
mov ecx, pe_nt_image_headers64
call fcn.14016ecd4
mov rsi, rax
mov rcx, rax
call fcn.1400da2f0
lea rcx, [0x14035aba8]
mov rdx, rsi
xor r8d, r8d
xor r9d, r9d
call fcn.14006d410
jmp 0x1401b9705
lea rcx, [0x140354750]
call fcn.14016f8b4
cmp dword [0x140354750], 0xffffffff
jne 0x1401ba59f
rdtsc
shl rdx, 0x20
or rdx, rax
mov qword [0x140354748], rdx
lea rcx, [0x140354750]
call fcn.14016ef8c
jmp 0x1401ba59f
lea rcx, [0x1403547a8]
call fcn.140047ff0
jmp 0x1401b9eee
lea rcx, [0x14035473c]
call fcn.14016f8b4
cmp dword [0x14035473c], 0xffffffff
jne 0x1401b960e
mov edi, ebx
lea rsi, [rbp - 0x10]
mov rcx, rsi
call fcn.1400ef500
mov bl, byte [rsi + 0x29]
cmp byte [rsi + 0x5f], 0
jns 0x1401bc251
mov rcx, qword [rbp + 0x38]
call fcn.14016eccc
cmp byte [rbp + 0x37], 0
js 0x1401bcbbb
mov byte [0x140354738], bl
lea rcx, [0x14035473c]
call fcn.14016ef8c
mov ebx, edi
jmp 0x1401b960e
lea rcx, [0x140354760]
call fcn.14016f8b4
cmp dword [0x140354760], 0xffffffff
jne 0x1401ba5ca
lea rbx, [rbp - 0x10]
mov qword [rbx], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbx]
mov qword [0x140354758], rax
lea rcx, [0x140354760]
call fcn.14016ef8c
jmp 0x1401ba5ca
shl r14, 0x20
mov rax, qword [rbp + 0x1b8]
or rax, r14
sub rax, qword [0x140354748]
movq xmm2, rax
punpckldq xmm2, xmmword [0x140309940]
subpd xmm2, xmmword [0x140309950]
movapd xmm0, xmm2
unpckhpd xmm0, xmm2
addsd xmm0, xmm2
divsd xmm0, xmm1
movsd qword [0x140354740], xmm0
jmp 0x1401ba63b
mov rcx, r14
call fcn.140047ff0
jmp 0x1401b9955
cmp qword [rbp + 0x1b0], 0
je 0x1401bcbc9
mov rcx, qword [rbp + 0x1b0]
call fcn.140198c60
mov rbx, rax
inc rbx
cmp qword [rbp + 0x1a0], 0
jne 0x1401bcbd0
xor esi, esi
add rsi, rbx
mov rax, qword [rbp + 0x1e0]
movzx ebx, byte [rax]
test rbx, rbx
je 0x1401b9d03
xor r15d, r15d
mov rcx, qword [r14 + r15*8 + 0x50]
test rcx, rcx
je 0x1401bcc5e
call fcn.140198c60
inc rax
add rsi, rax
inc r15
cmp rbx, r15
je 0x1401b9cfb
jmp 0x1401bc359
mov r15, r12
mov r8, qword [r14 + 0x38]
mov rdx, rcx
test r8, r8
je 0x1401bc3d6
mov r9, rsi
neg r9
mov edx, 1
mov r10b, byte [r8 + rdx - 1]
mov byte [rcx + rdx - 1], r10b
test r10b, r10b
je 0x1401bc3cf
lea r10, [r9 + rdx]
inc r10
inc rdx
cmp r10, 1
jne 0x1401bc39a
mov byte [rsi + rcx - 1], 0
mov r9, rsi
lea rdx, [r9 + 1]
cmp byte [r8 + r9], 0
mov r9, rdx
jne 0x1401bc3c1
mov qword [r14 + 0x38], rcx
add rdx, rcx
mov r8, qword [r14 + 0x20]
test r8, r8
jne 0x1401bcbe7
mov rcx, rdx
mov rdx, qword [rbp + 0x1e0]
mov dl, byte [rdx]
test dl, dl
mov r12, r15
je 0x1401b9d14
mov r8, rax
neg r8
xor r9d, r9d
mov r10, qword [rbp + 0x1e0]
mov r10, qword [r10 + r9*8 + 8]
test r10, r10
je 0x1401bc468
mov rdx, rax
sub rdx, rcx
je 0x1401bc449
lea rsi, [r8 + rcx]
mov r11d, 1
mov bl, byte [r10 + r11 - 1]
mov byte [rcx + r11 - 1], bl
test bl, bl
je 0x1401bc457
lea rbx, [rsi + r11]
inc rbx
inc r11
cmp rbx, 1
jne 0x1401bc426
mov byte [rdx + rcx - 1], 0
lea r11, [rdx + 1]
cmp byte [r10 + rdx], 0
mov rdx, r11
jne 0x1401bc449
mov rdx, qword [rbp + 0x1e0]
mov qword [rdx + r9*8 + 8], rcx
add rcx, r11
mov dl, byte [rdx]
inc r9
movzx r10d, dl
cmp r9, r10
mov r12, r15
jae 0x1401bb83f
jmp 0x1401bc403
mov dword [rbp + 0x1a8], edx
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rbp + 0x1d0], rax
movapd xmmword [rbp + 0x1c0], xmm6
movabs rax, 0x7ffffffffffffff0
cmp rbx, rax
jae 0x1401bcac9
cmp rbx, 0x17
jb 0x1401bc767
mov r13, rbx
or r13, 0xf
inc r13
mov rcx, r13
call fcn.14016ecd4
mov rcx, rax
mov qword [rbp + 0x1c0], rax
bts r13, 0x3f
mov qword [rbp + 0x1d0], r13
mov qword [rbp + 0x1c8], rbx
mov r13, rcx
mov edx, dword [rbp + 0x1a8]
mov r8, rbx
call fcn.140173760
mov byte [r13 + rbx], 0
cmp byte [rbp + 0x1d7], 0
lea rdx, [rbp + 0x1c0]
jns 0x1401bc516
mov rdx, qword [rbp + 0x1c0]
mov rax, qword [r14]
mov rax, qword [rax + 0x58]
mov rcx, r14
mov r8, rbx
call qword [case.0x140211850.0]
mov r13, rax
cmp rax, rbx
jne 0x1401bcc3c
cmp byte [rbp + 0x1d7], 0
js 0x1401bcc4d
cmp r13, rbx
mov rax, qword [rbp + 0x1d8]
je 0x1401bbe11
jmp 0x1401bbe4b
call fcn.14016efec
jmp 0x1401bb98d
lea rcx, [0x1403547b0]
call fcn.140047ff0
jmp 0x1401bba5a
movzx eax, al
cmp eax, 7
je 0x1401bc589
cmp eax, 6
jne 0x1401ba42a
mov byte [r14 + r15 + 0x49], 7
mov rcx, qword [r14 + r15*8 + 0x60]
test rcx, rcx
je 0x1401bca8b
call fcn.140198c60
inc rax
add rsi, rax
jmp 0x1401ba42a
cmp qword [rbp + 0x1b0], 0
je 0x1401bcc74
mov rcx, qword [rbp + 0x1b0]
call fcn.140198c60
mov rbx, rax
inc rbx
cmp qword [rbp + 0x1a0], 0
jne 0x1401bcc7b
xor edi, edi
add rdi, rbx
movzx ebx, byte [rbp + 0x38]
test rbx, rbx
je 0x1401b9bf3
xor r14d, r14d
mov rcx, qword [rbp + r14*8 + 0x40]
test rcx, rcx
je 0x1401bcce7
call fcn.140198c60
inc rax
add rdi, rax
inc r14
cmp rbx, r14
je 0x1401b9beb
jmp 0x1401bc5ea
mov r8, qword [rbp + 0x28]
mov rdx, rcx
test r8, r8
je 0x1401bc664
mov r9, rdi
neg r9
mov edx, 1
mov r10b, byte [r8 + rdx - 1]
mov byte [rcx + rdx - 1], r10b
test r10b, r10b
je 0x1401bc65d
lea r10, [r9 + rdx]
inc r10
inc rdx
cmp r10, 1
jne 0x1401bc628
mov byte [rdi + rcx - 1], 0
mov r9, rdi
lea rdx, [r9 + 1]
cmp byte [r8 + r9], 0
mov r9, rdx
jne 0x1401bc64f
mov qword [rbp + 0x28], rcx
add rdx, rcx
mov r8, qword [rbp + 0x10]
test r8, r8
jne 0x1401bcc92
mov rcx, rdx
mov dl, byte [rbp + 0x38]
test dl, dl
lea r15, [0x140354ad0]
je 0x1401b9c04
mov r8, rax
neg r8
xor r9d, r9d
lea r15, [0x140354ad0]
mov r10, qword [rbp + r9*8 + 0x40]
test r10, r10
je 0x1401bc6ee
mov rdx, rax
sub rdx, rcx
je 0x1401bc6d5
lea rdi, [r8 + rcx]
mov r11d, 1
mov bl, byte [r10 + r11 - 1]
mov byte [rcx + r11 - 1], bl
test bl, bl
je 0x1401bc6e3
lea rbx, [rdi + r11]
inc rbx
inc r11
cmp rbx, 1
jne 0x1401bc6b2
mov byte [rdx + rcx - 1], 0
lea r11, [rdx + 1]
cmp byte [r10 + rdx], 0
mov rdx, r11
jne 0x1401bc6d5
mov qword [rbp + r9*8 + 0x40], rcx
add rcx, r11
mov dl, byte [rbp + 0x38]
inc r9
movzx r10d, dl
cmp r9, r10
jae 0x1401bbb96
jmp 0x1401bc696
lea rcx, [0x1403547b0]
call fcn.140047ff0
jmp 0x1401ba460
mov rcx, r14
call fcn.140047ff0
jmp 0x1401ba493
call fcn.14016efec
jmp 0x1401bbc6d
call fcn.14016efec
jmp 0x1401bbf72
movzx eax, al
cmp eax, 7
je 0x1401bc749
cmp eax, 6
jne 0x1401ba895
mov byte [rbp + r14 + 0x39], 7
mov rcx, qword [rbp + r14*8 + 0x50]
test rcx, rcx
je 0x1401bcac2
call fcn.140198c60
inc rax
add rdi, rax
jmp 0x1401ba895
mov byte [rbp + 0x1d7], bl
lea rcx, [rbp + 0x1c0]
jmp 0x1401bc4e8
mov rcx, rsi
call fcn.1400ee8b0
mov rcx, rsi
call fcn.14016eccc
mov ecx, 0x30
call fcn.14016ecd4
mov rsi, rax
mov rcx, rax
call fcn.140212300
mov ecx, dword [0x1403411e0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1401bc7ef
mov rcx, qword [0x140354ab0]
shl rcx, 4
mov qword [rax + rcx], rsi
mov ecx, dword [0x140354ab8]
mov rdx, qword [0x140354ab0]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
jmp 0x1401b9aef
mov rax, qword [0x14035aba8]
jmp 0x1401b9705
call fcn.140001120
jmp 0x1401bba29
test rsi, rsi
je 0x1401b9aef
call fcn.140001120
jmp 0x1401bc7b0
int3
int3
xor eax, eax
jmp 0x1401b975f
mov rax, qword [rbp + 0x1b0]
test rax, rax
lea r8, [0x1403026a4]
cmovne r8, rax
mov rax, qword [rbp + 0x2a0]
mov qword [rsp + 0x20], rax
mov cl, byte [rbp + 0x1d8]
mov rdx, r12
mov r9, qword [rbp + 0x280]
call fcn.14022af70
jmp 0x1401b97df
xor esi, esi
jmp 0x1401b9b24
int3
call fcn.1401edf73
test al, al
jne 0x1401ba19a
mov rax, qword [rbp]
movsxd rax, dword [rax + 4]
mov rcx, qword [rbp + rax + 0x28]
mov rax, qword [rcx]
mov rax, qword [rax + 0x28]
call qword [case.0x140211850.0]
cmp eax, 0xffffffff
jne 0x1401ba19a
mov rax, qword [rbp]
movsxd rax, dword [rax + 4]
add rdi, rax
mov edx, dword [rbp + rax + 0x20]
or edx, 1
mov rcx, rdi
call fcn.14007b458
jmp 0x1401ba19a
call fcn.1401c8d43
lea rcx, str.ios_base::clear
call fcn.1401ee375
call fcn.1401edf73
test al, al
jne 0x1401bbd6d
mov rax, qword [rbp - 0x10]
movsxd rax, dword [rax + 4]
mov rcx, qword [rbp + rax + 0x18]
mov rax, qword [rcx]
mov rax, qword [rax + 0x28]
call qword [case.0x140211850.0]
cmp eax, 0xffffffff
jne 0x1401bbd6d
mov rax, qword [rbp - 0x10]
movsxd rax, dword [rax + 4]
lea rcx, [rax + rbp]
add rcx, 0xfffffffffffffff0
mov edx, dword [rcx + 0x20]
or edx, 1
call fcn.14007b458
jmp 0x1401bbd6d
lea rax, [rbp + 0x1c0]
lea rcx, [rbp + 0x180]
mov qword [rcx], rax
lea rdx, [rbp + 0x158]
mov qword [rdx], rcx
lea rcx, [0x140351d10]
lea r8, [0x1400a53e0]
call fcn.14006e3ba
jmp 0x1401ba32c
mov rax, qword [r14]
mov rax, qword [rax + 8]
mov rcx, r14
call qword [case.0x140211850.0]
jmp 0x1401ba385
mov rax, qword [r14]
mov rax, qword [rax + 0x58]
mov dword [rbp + 0x1a8], edx
lea rdx, [0x14030c45b]
mov rcx, r14
mov r8, r13
call qword [case.0x140211850.0]
mov edx, dword [rbp + 0x1a8]
cmp rax, r13
je 0x1401bbe08
jmp 0x1401bbe5e
lea rax, [rbp + 0x1c0]
mov qword [rbp + 0x158], rax
lea rdx, [rbp - 0x18]
lea rax, [rbp + 0x158]
mov qword [rdx], rax
lea rcx, [0x140351d10]
lea r8, [0x1400a53e0]
call fcn.14006e3ba
jmp 0x1401bbebf
mov rax, qword [rbx]
mov rax, qword [rax + 8]
mov rcx, rbx
call qword [case.0x140211850.0]
jmp 0x1401bbf14
call fcn.1401edf73
test al, al
jne 0x1401bb37f
mov rax, qword [rbp - 0x10]
movsxd rax, dword [rax + 4]
mov rcx, qword [rbp + rax + 0x18]
mov rax, qword [rcx]
mov rax, qword [rax + 0x28]
call qword [case.0x140211850.0]
cmp eax, 0xffffffff
jne 0x1401bb37f
mov rax, qword [rbp - 0x10]
movsxd rax, dword [rax + 4]
lea rcx, [rax + rbp]
add rcx, 0xfffffffffffffff0
mov edx, dword [rcx + 0x20]
or edx, 1
call fcn.14007b458
jmp 0x1401bb37f
int3
int3
shr rcx, 0x3f
lea rax, [0x140308b10]
movsd xmm2, qword [rax + rcx*8]
jmp 0x1401bb405
and rax, rcx
jmp 0x1401bab32
int3
lea rax, [rbp - 0x18]
lea rcx, [rbp + 0x158]
mov qword [rax], rcx
lea rdx, [rbp - 0x20]
mov qword [rdx], rax
lea rcx, [0x140351d10]
lea r8, [0x1400a53e0]
call fcn.14006e3ba
jmp 0x1401bb290
mov rax, qword [rbx]
mov rax, qword [rax + 8]
mov rcx, rbx
call qword [case.0x140211850.0]
jmp 0x1401bb2e5
call fcn.14010bfd0
mov rcx, rax
jmp 0x1401bb7eb
xor eax, eax
jmp 0x1401bc59f
mov rcx, r13
mov qword [rbp + 0x178], rax
call fcn.1401b3a20
test al, al
mov rax, qword [rbp + 0x178]
jne 0x1401bb7db
jmp 0x1401bb817
call fcn.14010bfd0
mov rcx, rax
jmp 0x1401bbb3d
xor eax, eax
jmp 0x1401bc75f
call fcn.14016fee0
movabs rcx, 0xaaaaaaaaaaaaaaaa
lea rdi, [rbp - 0x10]
mov qword [rdi + 0x10], rcx
movapd xmm0, xmmword [0x140301d60]
movapd xmmword [rdi], xmm0
lea rcx, [0x140302df1]
lea r8, [rbp + 0x1c0]
mov qword [r8], rcx
mov qword [r8 + 8], 1
lea rsi, [rax + 0x18]
movzx ecx, byte [rax + 0x2f]
mov r9d, ecx
and r9d, 0x7f
test cl, cl
mov rcx, qword [rax + 0x18]
cmovns rcx, rsi
lea rdx, [rbp + 0x180]
mov qword [rdx], rcx
cmovs r9, qword [rax + 0x20]
mov qword [rdx + 8], r9
mov dword [rsp + 0x20], 1
mov rcx, rdi
xor r9d, r9d
call fcn.14004f720
mov rdx, qword [rdi]
mov rdi, qword [rdi + 8]
lea rbx, [rbp + 0x130]
lea r9, [rbp + 0x158]
mov rcx, rbx
mov r8, rdi
call fcn.1402141a0
cmp qword [rbx], rdi
je 0x1401bcb9c
mov rcx, qword [rbp - 0x10]
test rcx, rcx
je 0x1401bbac4
mov qword [rbp - 8], rcx
call fcn.14016eccc
jmp 0x1401bbac4
int3
mov rcx, rbx
call fcn.1401b3a20
test al, al
jne 0x1401bbb2d
jmp 0x1401bbb6c
mov rax, qword [rbp - 0x10]
cmp rax, qword [rbp - 8]
jne 0x1401bcc65
mov rdx, qword [rbp + 0x158]
mov rcx, rsi
call fcn.140097940
jmp 0x1401bcb69
mov rcx, qword [rbp + 0x20]
call fcn.14016eccc
jmp 0x1401bc25b
xor ebx, ebx
jmp 0x1401bc330
mov rcx, qword [rbp + 0x1a0]
call fcn.140198c60
mov rsi, rax
inc rsi
jmp 0x1401bc340
mov r9, rax
sub r9, rdx
je 0x1401bcc22
mov r10, rdx
sub r10, rsi
sub r10, rcx
mov ecx, 1
mov r11b, byte [r8 + rcx - 1]
mov byte [rdx + rcx - 1], r11b
test r11b, r11b
je 0x1401bcc30
lea r11, [r10 + rcx]
inc r11
inc rcx
cmp r11, 1
jne 0x1401bcbfd
mov byte [r9 + rdx - 1], 0
lea rcx, [r9 + 1]
cmp byte [r8 + r9], 0
mov r9, rcx
jne 0x1401bcc22
mov qword [r14 + 0x20], rdx
add rcx, rdx
jmp 0x1401bc3e6
xor eax, eax
mov qword [rbp + 0x1d8], rax
xor r14d, r14d
jmp 0x1401bc535
mov rcx, qword [rbp + 0x1c0]
call fcn.14016eccc
jmp 0x1401bc542
xor eax, eax
jmp 0x1401bc36f
mov rcx, rsi
mov dl, 0x2c
call fcn.14007aebc
jmp 0x1401bcbaa
xor ebx, ebx
jmp 0x1401bc5c7
mov rcx, qword [rbp + 0x1a0]
call fcn.140198c60
mov rdi, rax
inc rdi
jmp 0x1401bc5d7
mov r9, rax
sub r9, rdx
je 0x1401bcccd
mov r10, rdx
sub r10, rdi
sub r10, rcx
mov ecx, 1
mov r11b, byte [r8 + rcx - 1]
mov byte [rdx + rcx - 1], r11b
test r11b, r11b
je 0x1401bccdb
lea r11, [r10 + rcx]
inc r11
inc rcx
cmp r11, 1
jne 0x1401bcca8
mov byte [r9 + rdx - 1], 0
lea rcx, [r9 + 1]
cmp byte [r8 + r9], 0
mov r9, rcx
jne 0x1401bcccd
mov qword [rbp + 0x10], rdx
add rcx, rdx
jmp 0x1401bc674
xor eax, eax
jmp 0x1401bc600