Function at 0x1400a4410
Capabilities:
Check for time delay via queryperformancecounter
Get thread local storage value

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x2c8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x230], xmm7
movaps xmmword [rbp + 0x220], xmm6
mov qword [rbp + 0x218], 0xfffffffffffffffe
mov qword [rbp + 0x198], r9
mov rbx, r8
mov r14d, edx
mov r15, rcx
mov r13d, dword [rbp + 0x2d8]
mov esi, dword [rbp + 0x2c0]
test r13d, 0x410
mov qword [rbp + 0x1e8], rcx
jne 0x1400a67b5
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, esi
jne 0x1400a67b5
mov eax, dword [0x1402979a0]
mov ecx, dword [0x140293330]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400a75f1
cmp byte [0x14029799c], 0
je 0x1400a67b5
lea rdi, [rbp + 0x30]
mov rcx, rdi
call fcn.140070a70
mov rax, qword [rdi]
mov qword [rbp + 0x210], rax
mov qword [r15], 0
mov dword [rbp - 8], esi
cmp byte [rbx], 0
je 0x1400a5060
mov ecx, dword [0x1402910c8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1400a4512
movsxd rcx, dword [0x140297d08]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x140297d0c]
jne 0x1400a4512
cmp qword [rax + rcx], 0
jne 0x1400a5060
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, esi
mov qword [rbp + 0x1d8], rbx
jne 0x1400a460f
mov rax, qword [0x140297fa8]
cmp rax, 1
jbe 0x1400a75ae
mov eax, dword [0x140297fa0]
mov ecx, dword [0x140293330]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400a7576
mov ecx, dword [0x1402910c8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1400a7743
movsxd rcx, dword [0x140297f98]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x140297f9c]
jne 0x1400a7743
mov rax, qword [rax + rcx]
test rax, rax
lea rdi, [0x14026421f]
cmovne rdi, rax
mov qword [rbp + 0x170], rdi
mov eax, dword [0x140297db0]
mov ecx, dword [0x140293330]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400a7478
mov rsi, qword [0x140297da8]
mov ecx, dword [0x1402910c8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1400a774a
movsxd rcx, dword [rsi]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [rsi + 4]
jne 0x1400a774a
mov rax, qword [rax + rcx]
test rdi, rdi
je 0x1400a460f
cmp rdi, rax
jne 0x1400a73cf
test byte [rbx], 8
jne 0x1400a7751
mov ecx, dword [0x1402910c8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1400a750a
mov r12, qword [rbp + 0x2c8]
lea rcx, [0x140297d08]
movsxd rdx, dword [0x140297d08]
shl rdx, 4
mov qword [rax + rdx], rcx
mov ecx, dword [0x140297d0c]
movsxd rdx, dword [0x140297d08]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
xor eax, eax
bt r13d, 0xb
mov esi, 0
jae 0x1400a4675
mov rsi, qword [0x140297b90]
test r13d, 0x180
cmove rsi, rax
mov rax, qword [0x140297ba0]
mov rdi, qword [r12]
movabs rcx, 0x8000000000000001
add rcx, rax
cmp rcx, 2
jae 0x1400a46ba
cmp rdi, rax
je 0x1400a777b
sar rax, 0x3f
movabs rdi, 0x8000000000000000
add rdi, rax
jmp 0x1400a46d6
xor ecx, ecx
cmp rdi, rax
setns cl
movabs rdx, 0x7fffffffffffffff
add rdx, rcx
sub rdi, rax
cmovo rdi, rdx
test r13d, 0x410
jne 0x1400a46e5
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov rax, qword [rbp + 0x1d8]
mov al, byte [rax]
test al, 1
mov qword [rbp + 0x190], rsi
jne 0x1400a47cd
xor esi, esi
xor ecx, ecx
xorps xmm0, xmm0
movaps xmmword [rbp + 0x170], xmm0
mov qword [rbp + 0x180], 0
test al, 0x10
jne 0x1400a4a2f
mov byte [rbp + 0x1e0], r14b
xor r14d, r14d
test cl, cl
je 0x1400a4c3c
test rsi, rsi
mov qword [rbp + 0x1b8], r14
mov qword [rbp + 0x1a0], rdi
je 0x1400a4d76
mov rax, qword [rsi + 0x18]
test rax, rax
je 0x1400a5186
cmp qword [rax], 0x40
jne 0x1400a523e
mov rdi, qword [rsi + 0x10]
add rdi, 8
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400a76c4
mov rbx, qword [rsi + 0x18]
test rbx, rbx
je 0x1400a5128
mov rax, qword [rsi + 0x10]
mov rcx, qword [rax + 0x360]
cmp dword [rsi + 0x28], ecx
jne 0x1400a513c
mov rcx, qword [rax + 0x20]
xor r14d, r14d
mov qword [rsi + 0x18], r14
lea r8, [rbp + 0x30]
mov qword [r8], rbx
mov rdx, qword [rsi + 0x20]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rbx, qword [rsi + 0x18]
mov r12, rsi
mov qword [rsi + 0x18], r14
test rbx, rbx
jne 0x1400a5147
jmp 0x1400a5157
mov rbx, rdi
mov ecx, dword [0x1402910c8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1400a4804
movsxd rcx, dword [0x140297d00]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x140297d04]
jne 0x1400a4804
cmp qword [rax + rcx], 0
jne 0x1400a48ed
mov eax, dword [0x14029b0b0]
mov ecx, dword [0x140293330]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400a74c7
mov ecx, dword [0x1402910c8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1400a48ed
movsxd rcx, dword [0x14029b0a8]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x14029b0ac]
jne 0x1400a48ed
cmp qword [rax + rcx], 0
je 0x1400a48ed
mov rdi, qword [0x140297820]
cmp rdi, 1
jbe 0x1400a7514
mov ecx, dword [0x1402910c8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1400a48ed
movsxd rcx, dword [rdi]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [rdi + 4]
jne 0x1400a48ed
cmp qword [rax + rcx], 0
je 0x1400a48ed
mov ecx, dword [0x1402910c8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1400a769b
movsxd rcx, dword [0x140297cf8]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x140297cfc]
jne 0x1400a769b
mov rdi, qword [rax + rcx]
test rdi, rdi
je 0x1400a769b
mov rax, qword [0x140297d68]
cmp dword [rdi + 0x28], eax
jne 0x1400a768b
mov ecx, dword [0x1402910c8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1400a777e
movsxd rcx, dword [0x140297cf8]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x140297cfc]
mov rdi, rbx
jne 0x1400a7788
mov rsi, qword [rax + rcx]
mov rax, qword [rbp + 0x1d8]
mov al, byte [rax]
test al, 1
je 0x1400a46ff
mov rbx, qword [0x140297d78]
test rbx, rbx
je 0x1400a4eeb
mov r12, rsi
movaps xmm0, xmmword [0x140257270]
lea rsi, [rbp + 0x60]
movups xmmword [rsi + 0x28], xmm0
movups xmmword [rsi + 0x48], xmm0
movups xmmword [rsi + 0x58], xmm0
movups xmmword [rsi + 0x38], xmm0
mov qword [rsi - 0x30], rdi
mov rax, qword [rbp + 0x210]
mov qword [rsi - 0x28], rax
mov rax, 0xffffffffffffffff
mov qword [rsi - 0x20], rax
xor ecx, ecx
mov qword [rsi - 0x18], rcx
mov qword [rsi - 0x10], rax
mov qword [rsi - 8], rcx
mov rax, qword [rbp + 0x2b0]
mov qword [rsi], rax
mov rax, qword [rbp + 0x2b8]
mov qword [rsi + 8], rax
mov rax, qword [rbp + 0x1d8]
mov qword [rsi + 0x10], rax
lea rdi, [rbp + 0x78]
mov rax, qword [rbp + 0x198]
mov qword [rdi], rax
mov qword [rdi + 8], rcx
mov byte [rdi + 0x10], 0
mov eax, dword [rbp + 0x2c0]
mov dword [rdi + 0x38], eax
mov dword [rdi + 0x3c], r13d
mov rax, qword [rbp + 0x190]
mov qword [rdi + 0x40], rax
mov byte [rdi + 0x48], r14b
mov rdx, qword [rbp + 0x2d0]
test rdx, rdx
jne 0x1400a70d2
lea rcx, [rbp + 0x88]
lea rdx, [rbp + 0x80]
mov qword [rsp + 0x20], rsi
and r13b, 1
mov r8d, r13d
mov r9, rdi
call fcn.140066a70
test r12, r12
setne dl
lea rsi, [rbp + 0x30]
mov rcx, rsi
mov r8, r15
call rbx
mov rcx, rsi
call fcn.1400708c0
jmp 0x1400a5026
mov qword [rbp + 0x1a8], rsi
mov ecx, 0x98
call fcn.1400c9cbc
mov r8d, r13d
mov rbx, rax
mov qword [rbp + 0x1a0], rdi
mov qword [rax], rdi
mov rax, qword [rbp + 0x210]
mov qword [rbx + 8], rax
mov rax, 0xffffffffffffffff
mov qword [rbx + 0x10], rax
xor ecx, ecx
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rax
mov qword [rbx + 0x28], rcx
lea rsi, [rbx + 0x30]
mov rax, qword [rbp + 0x2b0]
mov qword [rbx + 0x30], rax
mov rax, qword [rbp + 0x2b8]
mov qword [rbx + 0x38], rax
mov rdi, qword [rbp + 0x1d8]
mov qword [rbx + 0x40], rdi
lea r13, [rbx + 0x48]
mov rax, qword [rbp + 0x198]
mov qword [rbx + 0x48], rax
mov qword [rbx + 0x50], rcx
mov byte [rbx + 0x58], 0
mov eax, dword [rbp + 0x2c0]
mov dword [rbx + 0x80], eax
mov dword [rbx + 0x84], r8d
mov rax, qword [rbp + 0x190]
mov qword [rbx + 0x88], rax
mov byte [rbx + 0x90], r14b
cmp qword [rbp + 0x2d0], 0
jne 0x1400a6cf7
lea rcx, [rbx + 0x58]
mov r12, rbx
add rbx, 0x50
mov qword [rsp + 0x20], rsi
and r8b, 1
mov rdx, rbx
mov r9, r13
call fcn.140066a70
mov ebx, dword [rdi + 4]
test ebx, ebx
je 0x1400a4c29
mov r15b, 1
xor esi, esi
lea rdi, [0x140297dc0]
xorps xmm6, xmm6
test bl, 1
jne 0x1400a4b33
shr ebx, 1
add rsi, 8
test ebx, ebx
jne 0x1400a4b1f
jmp 0x1400a4c19
mov eax, dword [0x140297dc0]
mov ecx, dword [0x140293330]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jle 0x1400a4b89
mov rcx, rdi
call fcn.1400c9d58
cmp dword [0x140297dc0], 0xffffffff
jne 0x1400a4b89
mov ecx, 0x18
call fcn.1400c9cbc
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov qword [0x140297db8], rax
mov rcx, rdi
call fcn.1400c9cf8
mov rax, qword [0x140297db8]
mov rax, qword [rax]
cmp qword [rax + rsi], 0
je 0x1400a4b24
mov eax, dword [0x140297dc0]
mov ecx, dword [0x140293330]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jle 0x1400a4bf0
mov rcx, rdi
call fcn.1400c9d58
cmp dword [0x140297dc0], 0xffffffff
jne 0x1400a4bf0
mov ecx, 0x18
call fcn.1400c9cbc
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov qword [0x140297db8], rax
mov rcx, rdi
call fcn.1400c9cf8
mov rax, qword [0x140297db8]
mov rax, qword [rax]
mov rcx, qword [rax + rsi]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + 8]
xor ecx, ecx
test al, al
jne 0x1400a4c11
movzx ecx, r15b
mov r15d, ecx
jmp 0x1400a4b24
test r15b, r15b
mov r15, qword [rbp + 0x1e8]
je 0x1400a4eb4
mov rcx, r12
call fcn.1400708c0
mov rcx, r12
call fcn.1400c9cac
xor r14d, r14d
movzx esi, byte [rbp + 0x187]
mov rdi, rsi
test sil, sil
jns 0x1400a4c52
mov rdi, qword [rbp + 0x178]
test rdi, rdi
je 0x1400a4ffc
cmp dword [0x140295ef0], 2
jg 0x1400a4ffc
lea rdx, str..._.._base_trace_event_trace_log.cc
lea rcx, [rbp + 0x30]
mov r8d, 0x6dc
mov r9d, 2
call fcn.140122230
test sil, sil
jns 0x1400a4c92
mov r8, qword [rbp + 0x170]
jmp 0x1400a4c99
lea r8, [rbp + 0x170]
mov rax, qword [rbp + 0x40]
movsxd r13, dword [rax + 4]
cmp dword [rbp + r13 + 0x60], 0
jne 0x1400a4fca
mov rcx, qword [rbp + r13 + 0xc8]
test rcx, rcx
jne 0x1400a778f
mov edx, dword [rbp + r13 + 0xd0]
cmp edx, 0xffffffff
mov qword [rbp + 0x1b8], r14
je 0x1400a5085
lea rbx, [r8 + rdi]
mov eax, 0xb0
and eax, dword [rbp + r13 + 0x48]
cmp eax, 0x20
mov r15, r8
cmove r15, rbx
mov rsi, qword [rbp + r13 + 0x68]
test rsi, rsi
je 0x1400a4fa6
mov rax, qword [rbp + r13 + 0x58]
xor r12d, r12d
sub rax, rdi
cmovg r12, rax
mov rdi, r15
sub rdi, r8
test rdi, rdi
jle 0x1400a4d34
mov rax, qword [rsi]
mov rcx, rsi
mov r14d, edx
mov rdx, r8
mov r8, rdi
call qword [rax + 0x58]
mov edx, r14d
cmp rax, rdi
jne 0x1400a4fa6
test r12, r12
jle 0x1400a4f78
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rbp + 0x200], rax
movaps xmm0, xmmword [0x140257270]
movaps xmmword [rbp + 0x1f0], xmm0
cmp r12, 0x16
ja 0x1400a4ef2
lea r14, [rbp + 0x1f0]
mov byte [r14 + 0x17], r12b
jmp 0x1400a4f26
lea rcx, [0x140297a10]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400a766d
mov rax, qword [0x140297d38]
test rax, rax
je 0x1400a4dda
cmp qword [rax], 0x40
jne 0x1400a4e68
mov rcx, qword [0x140297a28]
mov qword [0x140297d38], 0
lea r8, [rbp + 0x1f0]
mov qword [r8], rax
mov rdx, qword [0x140297d40]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [0x140297d38]
test rax, rax
jne 0x1400a4e68
mov rcx, qword [0x140297a28]
mov rax, qword [rcx]
lea r8, [0x140297d40]
lea rdi, [rbp + 0x30]
mov rdx, rdi
call qword [rax + 8]
mov rax, qword [rdi]
mov qword [rdi], 0
mov rdi, qword [0x140297d38]
mov qword [0x140297d38], rax
test rdi, rdi
je 0x1400a4e43
mov rcx, rdi
call fcn.140102af0
mov rcx, rdi
call fcn.1400c9cac
mov rdi, qword [rbp + 0x30]
mov qword [rbp + 0x30], 0
test rdi, rdi
je 0x1400a4e43
mov rcx, rdi
call fcn.140102af0
mov rcx, rdi
call fcn.1400c9cac
mov rcx, qword [0x140297a28]
mov rax, qword [rcx]
call qword [rax + 0x18]
test al, al
jne 0x1400a712d
mov rax, qword [0x140297d38]
test rax, rax
je 0x1400a5135
mov rcx, qword [rax]
lea rdx, [rcx + 1]
mov qword [rax], rdx
imul rdi, rcx, 0x98
add rdi, rax
add rdi, 0x10
je 0x1400a5261
test r15, r15
je 0x1400a5261
movzx eax, word [0x140297d40]
mov rdx, qword [0x140297d38]
mov edx, dword [rdx + 0x2610]
mov dword [r15], edx
shl ecx, 0x1a
or ecx, eax
mov dword [r15 + 4], ecx
jmp 0x1400a5261
mov byte [rbp + 0x1e0], r14b
mov rax, qword [rbp + 0x1d8]
mov cl, byte [rax]
and cl, 1
mov r14, r12
mov r12, qword [rbp + 0x2c8]
mov rsi, qword [rbp + 0x1a8]
mov r13d, dword [rbp + 0x2d8]
mov rdi, qword [rbp + 0x1a0]
jmp 0x1400a4728
mov cl, 1
jmp 0x1400a4701
lea rdi, [r12 + 0x10]
and rdi, 0xfffffffffffffff0
mov rcx, rdi
mov r14d, edx
call fcn.1400c9cbc
mov edx, r14d
mov r14, rax
mov qword [rbp + 0x1f0], rax
bts rdi, 0x3f
mov qword [rbp + 0x200], rdi
mov qword [rbp + 0x1f8], r12
mov rcx, r14
mov r8, r12
call fcn.1400cf750
mov byte [r14 + r12], 0
cmp byte [rbp + 0x207], 0
jns 0x1400a4f48
mov rdx, qword [rbp + 0x1f0]
jmp 0x1400a4f4f
lea rdx, [rbp + 0x1f0]
mov rax, qword [rsi]
mov rcx, rsi
mov r8, r12
call qword [rax + 0x58]
mov rdi, rax
cmp byte [rbp + 0x207], 0
jns 0x1400a4f73
mov rcx, qword [rbp + 0x1f0]
call fcn.1400c9cac
cmp rdi, r12
jne 0x1400a4fa6
sub rbx, r15
test rbx, rbx
jle 0x1400a4f94
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, r15
mov r8, rbx
call qword [rax + 0x58]
cmp rax, rbx
jne 0x1400a4fa6
mov qword [rbp + r13 + 0x58], 0
mov r14, qword [rbp + 0x1b8]
jmp 0x1400a4fca
mov rax, qword [rbp + 0x40]
movsxd rax, dword [rax + 4]
mov ecx, dword [rbp + rax + 0x60]
or ecx, 5
mov dword [rbp + rax + 0x60], ecx
test dword [rbp + rax + 0x64], ecx
mov r14, qword [rbp + 0x1b8]
jne 0x1400a78bf
mov rax, qword [rbp + 0x40]
movsxd rax, dword [rax + 4]
cmp qword [rbp + rax + 0x68], 0
je 0x1400a4fec
cmp dword [rbp + rax + 0x60], 0
jne 0x1400a4fec
test byte [rbp + rax + 0x49], 0x20
jne 0x1400a77a7
lea rcx, [rbp + 0x30]
call fcn.140001c60
mov r15, qword [rbp + 0x1e8]
test r14, r14
je 0x1400a5011
mov rcx, r14
call fcn.1400708c0
mov rcx, r14
call fcn.1400c9cac
cmp byte [rbp + 0x187], 0
jns 0x1400a5026
mov rcx, qword [rbp + 0x170]
call fcn.1400c9cac
mov ecx, dword [0x1402910c8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1400a5060
movsxd rcx, dword [0x140297d08]
shl rcx, 4
mov qword [rax + rcx], 0
mov ecx, dword [0x140297d0c]
movsxd rdx, dword [0x140297d08]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
mov rax, r15
movaps xmm6, xmmword [rbp + 0x220]
movaps xmm7, xmmword [rbp + 0x230]
add rsp, 0x2c8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov r14, qword [rbp + r13 + 0x70]
lock inc dword [r14 + 8]
lea rax, [0x140295158]
mov qword [rbp + 0x1f0], rax
lea rax, [0x140059e40]
mov qword [rbp + 0x1f8], rax
mov rax, qword [0x140295158]
cmp rax, 0xffffffffffffffff
jne 0x1400a78fd
movsxd rax, dword [0x140295160]
lea rdx, [rax - 1]
mov rcx, qword [r14 + 0x10]
mov rbx, qword [r14 + 0x18]
sub rbx, rcx
sar rbx, 3
cmp rbx, rdx
jbe 0x1400a78e3
mov rcx, qword [rcx + rax*8 - 8]
test rcx, rcx
je 0x1400a78e3
mov rsi, r8
mov rax, qword [rcx]
mov dl, 0x20
call qword [rax + 0x38]
mov ebx, eax
mov eax, 0xffffffff
lock xadd dword [r14 + 8], eax
test eax, eax
je 0x1400a76e2
movsx edx, bl
mov dword [rbp + r13 + 0xd0], edx
mov rax, qword [rbp + 0x40]
movsxd r13, dword [rax + 4]
mov r8, rsi
jmp 0x1400a4cd6
mov r12, rsi
mov qword [rsi + 0x18], 0
jmp 0x1400a5157
xor edi, edi
jmp 0x1400a5261
mov r12, rsi
mov qword [rsi + 0x18], 0
mov rcx, rbx
call fcn.140102af0
mov rcx, rbx
call fcn.1400c9cac
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rsi, r12
mov rax, qword [r12 + 0x18]
test rax, rax
mov r14, qword [rbp + 0x1b8]
mov r12, qword [rbp + 0x2c8]
mov r13d, dword [rbp + 0x2d8]
jne 0x1400a523e
mov rdi, qword [rsi + 0x10]
add rdi, 8
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400a767e
mov rax, qword [rsi + 0x10]
mov rcx, qword [rax + 0x20]
lea r8, [rsi + 0x20]
mov rax, qword [rcx]
lea rbx, [rbp + 0x30]
mov rdx, rbx
call qword [rax + 8]
mov rax, qword [rbx]
mov qword [rbx], 0
mov rbx, qword [rsi + 0x18]
mov qword [rsi + 0x18], rax
test rbx, rbx
je 0x1400a5200
mov rcx, rbx
call fcn.140102af0
mov rcx, rbx
call fcn.1400c9cac
mov rbx, qword [rbp + 0x30]
mov qword [rbp + 0x30], 0
test rbx, rbx
je 0x1400a5200
mov rcx, rbx
call fcn.140102af0
mov rcx, rbx
call fcn.1400c9cac
mov r12, qword [rsi + 0x10]
mov rcx, qword [r12 + 0x20]
mov rax, qword [rcx]
call qword [rax + 0x18]
test al, al
mov r14, qword [rbp + 0x1b8]
mov r13d, dword [rbp + 0x2d8]
jne 0x1400a6f6a
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [rsi + 0x18]
test rax, rax
mov r12, qword [rbp + 0x2c8]
je 0x1400a526a
mov rcx, qword [rax]
lea rdx, [rcx + 1]
mov qword [rax], rdx
imul rdi, rcx, 0x98
add rdi, rax
add rdi, 0x10
je 0x1400a5261
test r15, r15
jne 0x1400a6db6
test rdi, rdi
jne 0x1400a6dd0
mov al, 1
mov dword [rbp + 0x1d8], eax
xor edi, edi
mov eax, dword [0x140297ba8]
test al, 8
je 0x1400a6c27
mov al, byte [rbp + 0x1e0]
cmp al, 0x58
movzx eax, al
mov ebx, 0x42
cmovne ebx, eax
lea rcx, [0x140297a18]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400a765c
cmp byte [rbp + 0x1d8], 0
je 0x1400a52be
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r13d, eax
jmp 0x1400a52c5
mov r13d, dword [rdi + 0x80]
mov qword [rbp + 0x190], rdi
mov dword [rbp + 0x1b4], r13d
cmp bl, 0x45
mov qword [rbp + 0x1a8], rsi
mov dword [rbp + 0x198], ebx
jne 0x1400a53c1
movsxd r14, r13d
mov rdi, qword [0x140297b40]
test rdi, rdi
je 0x1400a57b9
mov rax, rdi
shr rax, 1
movabs rcx, 0x5555555555555555
and rax, rcx
mov rdx, rdi
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
ja 0x1400a5bb5
lea r15, [rdi - 1]
and r15, r14
mov rax, qword [0x140297b38]
mov rsi, qword [rax + r15*8]
test rsi, rsi
je 0x1400a57c3
lea r8, [rdi - 1]
mov rsi, qword [rsi]
test rsi, rsi
je 0x1400a57c3
mov rax, qword [rsi + 8]
cmp rax, r14
je 0x1400a53a7
cmp ecx, 1
ja 0x1400a53b2
and rax, r8
cmp rax, r15
jne 0x1400a57c3
cmp dword [rsi + 0x10], r13d
jne 0x1400a5381
jmp 0x1400a587d
cmp rax, rdi
jb 0x1400a539e
xor edx, edx
div rdi
mov rax, rdx
jmp 0x1400a539e
xor eax, eax
mov qword [rbp + 0x1a0], rax
movabs rbx, 0xaaaaaaaaaaaaaaaa
mov qword [rbp + 0x1d0], rbx
movaps xmm6, xmmword [0x140257270]
movaps xmmword [rbp + 0x1c0], xmm6
mov r15d, dword [rbp + 0x1b4]
movsxd r14, r15d
mov rdi, qword [0x140297b18]
test rdi, rdi
je 0x1400a5489
mov rax, rdi
shr rax, 1
movabs rcx, 0x5555555555555555
and rax, rcx
mov rdx, rdi
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 0x1400a679c
mov rbx, r14
cmp rdi, r14
jbe 0x1400a5bfd
mov rax, qword [0x140297b10]
mov rsi, qword [rax + rbx*8]
test rsi, rsi
jne 0x1400a5ad9
mov ecx, 0x30
call fcn.1400c9cbc
mov rsi, rax
mov dword [rax + 0x10], r15d
xorps xmm0, xmm0
movups xmmword [rax + 0x18], xmm0
xor eax, eax
mov qword [rsi + 0x28], rax
mov qword [rsi + 8], r14
mov qword [rsi], rax
mov rax, qword [0x140297b28]
inc rax
js 0x1400a54c4
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
jmp 0x1400a54dc
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
addss xmm0, xmm0
test rdi, rdi
js 0x1400a54eb
xorps xmm1, xmm1
cvtsi2ss xmm1, rdi
jmp 0x1400a5505
mov rax, rdi
shr rax, 1
mov ecx, edi
and ecx, 1
or rcx, rax
xorps xmm1, xmm1
cvtsi2ss xmm1, rcx
addss xmm1, xmm1
movss xmm2, dword [0x140297b30]
mulss xmm1, xmm2
ucomiss xmm0, xmm1
ja 0x1400a5c0d
test rdi, rdi
je 0x1400a5c0d
mov rax, qword [0x140297b10]
mov rcx, qword [rax + rbx*8]
test rcx, rcx
jne 0x1400a6762
lea rcx, [0x140297b20]
mov rdx, qword [0x140297b20]
mov qword [rsi], rdx
mov qword [0x140297b20], rsi
mov qword [rax + rbx*8], rcx
mov rax, qword [rsi]
test rax, rax
je 0x1400a5580
mov rax, qword [rax + 8]
lea rcx, [rdi - 1]
test rdi, rcx
je 0x1400a7198
cmp rax, rdi
jae 0x1400a67a8
mov rcx, qword [0x140297b10]
mov qword [rcx + rax*8], rsi
inc qword [0x140297b28]
cmp byte [rsi + 0x2f], 0
js 0x1400a574c
add rsi, 0x18
mov rax, qword [rsi + 0x10]
mov qword [rbp + 0x1d0], rax
movups xmm0, xmmword [rsi]
movaps xmmword [rbp + 0x1c0], xmm0
movzx r8d, byte [rbp + 0x1d7]
test r8b, r8b
jns 0x1400a55c7
mov rdx, qword [rbp + 0x1c0]
mov r8, qword [rbp + 0x1c8]
jmp 0x1400a55ce
lea rdx, [rbp + 0x1c0]
lea rcx, [rbp + 0x30]
call fcn.1400a8390
mov r13, qword [0x140297b68]
test r13, r13
je 0x1400a5c8e
mov r14, rax
mov rax, r13
shr rax, 1
movabs rcx, 0x5555555555555555
and rax, rcx
mov rcx, r13
sub rcx, rax
mov rax, rcx
movabs rdx, 0x3333333333333333
and rax, rdx
shr rcx, 2
and rcx, rdx
add rcx, rax
mov rdi, rcx
shr rdi, 4
add rdi, rcx
movabs rax, 0xf0f0f0f0f0f0f0f
and rdi, rax
movabs rax, 0x101010101010101
imul rdi, rax
shr rdi, 0x38
cmp rdi, 1
ja 0x1400a57a8
lea r8, [r13 - 1]
and r8, r14
mov rax, qword [0x140297b60]
mov rax, qword [rax + r8*8]
test rax, rax
je 0x1400a5c8e
lea r15, [rbp + 0x1c0]
movzx r12d, byte [r15 + 0x17]
test r12b, r12b
cmovs r12, qword [r15 + 8]
cmovs r15, qword [r15]
mov rsi, qword [rax]
test rsi, rsi
je 0x1400a5c8e
lea r9, [r13 - 1]
mov rax, qword [rsi + 8]
cmp rax, r14
jne 0x1400a56ee
mov dl, byte [rsi + 0x27]
movzx eax, dl
mov rcx, rax
test dl, dl
jns 0x1400a56ad
mov rcx, qword [rsi + 0x18]
cmp rcx, r12
jne 0x1400a56ff
lea rcx, [rsi + 0x10]
mov rbx, qword [rcx]
test dl, dl
cmovs rcx, rbx
js 0x1400a571b
je 0x1400a5f59
cmp byte [r15], bl
jne 0x1400a56ff
dec rax
xor ecx, ecx
cmp rax, rcx
je 0x1400a5c85
mov dl, byte [rsi + rcx + 0x11]
lea rbx, [rcx + 1]
cmp dl, byte [r15 + rcx + 1]
mov rcx, rbx
je 0x1400a56d1
jmp 0x1400a56ff
cmp edi, 1
ja 0x1400a570c
and rax, r9
cmp rax, r8
jne 0x1400a5c8e
mov rsi, qword [rsi]
test rsi, rsi
jne 0x1400a5693
jmp 0x1400a5c8e
cmp rax, r13
jb 0x1400a56f6
xor edx, edx
div r13
mov rax, rdx
jmp 0x1400a56f6
test r12, r12
je 0x1400a5f59
mov rdx, r15
mov qword [rbp + 0x210], r8
mov r8, r12
mov rbx, r9
call fcn.1400cefa0
mov r9, rbx
mov r8, qword [rbp + 0x210]
test eax, eax
jne 0x1400a56ff
jmp 0x1400a5f59
mov rdi, qword [rsi + 0x18]
mov rsi, qword [rsi + 0x20]
cmp rsi, 0x16
jbe 0x1400a6fd6
cmp rsi, 0xfffffffffffffff0
jae 0x1400a78ee
lea rbx, [rsi + 0x10]
and rbx, 0xfffffffffffffff0
mov rcx, rbx
call fcn.1400c9cbc
mov rcx, rax
mov qword [rbp + 0x1c0], rax
bts rbx, 0x3f
mov qword [rbp + 0x1d0], rbx
mov qword [rbp + 0x1c8], rsi
inc rsi
mov rdx, rdi
mov r8, rsi
call fcn.1400cf0a0
jmp 0x1400a55aa
cmp r14, r13
jae 0x1400a5bed
mov r8, r14
jmp 0x1400a5657
movabs r15, 0xaaaaaaaaaaaaaaaa
mov ecx, 0x38
call fcn.1400c9cbc
mov rsi, rax
mov dword [rax + 0x10], r13d
xorps xmm0, xmm0
movups xmmword [rax + 0x18], xmm0
movups xmmword [rax + 0x28], xmm0
mov qword [rax + 8], r14
mov qword [rax], 0
mov rax, qword [0x140297b50]
inc rax
js 0x1400a5800
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
jmp 0x1400a5818
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
addss xmm0, xmm0
test rdi, rdi
js 0x1400a5824
cvtsi2ss xmm1, rdi
jmp 0x1400a583b
mov rax, rdi
shr rax, 1
mov ecx, edi
and ecx, 1
or rcx, rax
cvtsi2ss xmm1, rcx
addss xmm1, xmm1
movss xmm2, dword [0x140297b58]
mulss xmm1, xmm2
ucomiss xmm0, xmm1
ja 0x1400a6fe6
test rdi, rdi
je 0x1400a6fe6
mov rax, qword [0x140297b38]
mov rcx, qword [rax + r15*8]
test rcx, rcx
je 0x1400a5b1d
mov rax, qword [rcx]
mov qword [rsi], rax
mov qword [rcx], rsi
inc qword [0x140297b50]
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x30]
test rax, rax
cmove rax, rcx
lea rdx, [rax - 1]
cmp rcx, rdx
jb 0x1400a78e8
mov rcx, qword [rsi + 0x18]
mov rsi, qword [r12]
sub rsi, qword [rcx + rax*8 - 8]
mov ebx, dword [rbp + 0x1b4]
movsxd r14, ebx
mov rdi, qword [0x140297b40]
test rdi, rdi
mov qword [rbp + 0x1a0], rsi
je 0x1400a597e
mov rax, rdi
shr rax, 1
movabs rcx, 0x5555555555555555
and rax, rcx
mov rdx, rdi
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
ja 0x1400a5bd1
lea r15, [rdi - 1]
and r15, r14
mov rax, qword [0x140297b38]
mov rsi, qword [rax + r15*8]
test rsi, rsi
je 0x1400a5988
lea r8, [rdi - 1]
mov rsi, qword [rsi]
test rsi, rsi
je 0x1400a5988
mov rax, qword [rsi + 8]
cmp rax, r14
je 0x1400a5965
cmp ecx, 1
ja 0x1400a596f
and rax, r8
cmp rax, r15
jne 0x1400a5988
cmp dword [rsi + 0x10], ebx
jne 0x1400a5947
jmp 0x1400a5a47
cmp rax, rdi
jb 0x1400a5960
xor edx, edx
div rdi
mov rax, rdx
jmp 0x1400a5960
movabs r15, 0xaaaaaaaaaaaaaaaa
mov ecx, 0x38
call fcn.1400c9cbc
mov rsi, rax
mov dword [rax + 0x10], ebx
xorps xmm0, xmm0
movups xmmword [rax + 0x18], xmm0
movups xmmword [rax + 0x28], xmm0
mov qword [rax + 8], r14
mov qword [rax], 0
mov rax, qword [0x140297b50]
inc rax
js 0x1400a59c4
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
jmp 0x1400a59dc
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
addss xmm0, xmm0
test rdi, rdi
js 0x1400a59eb
xorps xmm1, xmm1
cvtsi2ss xmm1, rdi
jmp 0x1400a5a05
mov rax, rdi
shr rax, 1
mov ecx, edi
and ecx, 1
or rcx, rax
xorps xmm1, xmm1
cvtsi2ss xmm1, rcx
addss xmm1, xmm1
movss xmm2, dword [0x140297b58]
mulss xmm1, xmm2
ucomiss xmm0, xmm1
ja 0x1400a7036
test rdi, rdi
je 0x1400a7036
mov rax, qword [0x140297b38]
mov rcx, qword [rax + r15*8]
test rcx, rcx
je 0x1400a5b69
mov rax, qword [rcx]
mov qword [rsi], rax
mov qword [rcx], rsi
inc qword [0x140297b50]
mov rax, qword [rsi + 0x20]
mov rdx, qword [rsi + 0x30]
test rdx, rdx
je 0x1400a5acf
lea rcx, [rdx - 1]
mov qword [rsi + 0x30], rcx
cmp rax, rdx
jb 0x1400a78fa
cmp rax, rcx
jb 0x1400a78eb
cmp rax, 5
jb 0x1400a53ca
lea rbx, [rax - 1]
mov rdi, qword [rsi + 0x28]
xor edx, edx
cmp rcx, rdi
cmovb rdx, rax
sub rdx, rdi
add rdx, rcx
mov rax, rbx
sub rax, rdx
cmp rax, rdx
jb 0x1400a53ca
mov rax, rdx
shr rax, 2
add rax, rdx
cmp rax, 3
mov edx, 3
cmova rdx, rax
cmp rdx, rbx
jae 0x1400a53ca
add rsi, 0x18
mov rcx, rsi
call fcn.140103636
jmp 0x1400a53ca
lea rcx, [rax - 1]
mov qword [rsi + 0x30], rcx
jmp 0x1400a5a65
lea r8, [rdi - 1]
mov rsi, qword [rsi]
test rsi, rsi
je 0x1400a5489
mov rax, qword [rsi + 8]
cmp rax, r14
je 0x1400a5b0d
cmp ecx, 1
jbe 0x1400a5b18
cmp rax, rdi
jb 0x1400a5b04
xor edx, edx
div rdi
mov rax, rdx
cmp rax, rbx
jne 0x1400a5489
cmp dword [rsi + 0x10], r15d
jne 0x1400a5add
jmp 0x1400a5587
and rax, r8
jmp 0x1400a5b04
lea rcx, [0x140297b48]
mov rdx, qword [0x140297b48]
mov qword [rsi], rdx
mov qword [0x140297b48], rsi
mov qword [rax + r15*8], rcx
mov rax, qword [rsi]
test rax, rax
je 0x1400a5876
mov rax, qword [rax + 8]
lea rcx, [rdi - 1]
test rdi, rcx
jne 0x1400a6e81
and rax, rcx
mov rcx, qword [0x140297b38]
mov qword [rcx + rax*8], rsi
jmp 0x1400a5876
lea rcx, [0x140297b48]
mov rdx, qword [0x140297b48]
mov qword [rsi], rdx
mov qword [0x140297b48], rsi
mov qword [rax + r15*8], rcx
mov rax, qword [rsi]
test rax, rax
je 0x1400a5a40
mov rax, qword [rax + 8]
lea rcx, [rdi - 1]
test rdi, rcx
jne 0x1400a6e97
and rax, rcx
mov rcx, qword [0x140297b38]
mov qword [rcx + rax*8], rsi
jmp 0x1400a5a40
mov r15, r14
cmp rdi, r14
ja 0x1400a5369
mov rax, r14
xor edx, edx
div rdi
mov r15, rdx
jmp 0x1400a5369
mov r15, r14
cmp rdi, r14
ja 0x1400a5933
mov rax, r14
xor edx, edx
div rdi
mov r15, rdx
jmp 0x1400a5933
mov rax, r14
xor edx, edx
div r13
mov r8, rdx
jmp 0x1400a5657
mov rax, r14
xor edx, edx
div rdi
mov rbx, rdx
jmp 0x1400a5475
divss xmm0, xmm2
call fcn.1400e55e4
cvttss2si rcx, xmm0
movss xmm1, dword [0x1402450f8]
movaps xmm2, xmm0
subss xmm2, xmm1
cvttss2si rax, xmm2
btc rax, 0x3f
ucomiss xmm0, xmm1
cmovb rax, rcx
lea rdx, [rdi + rdi]
cmp rdi, 2
ja 0x1400a6e6d
or rdx, 1
cmp rdx, rax
cmovb rdx, rax
lea rcx, [0x140297b10]
call fcn.140129e9e
mov rdi, qword [0x140297b18]
lea rbx, [rdi - 1]
test rdi, rbx
je 0x1400a6f62
cmp rdi, r14
jbe 0x1400a6f52
mov rbx, r14
jmp 0x1400a5523
test rsi, rsi
jne 0x1400a5f59
mov r14, qword [0x140297b78]
movabs rcx, 0xaaaaaaaaaaaaaaab
mov rax, r14
mul rcx
shr rdx, 2
add edx, edx
lea eax, [rdx + rdx*2]
sub r14d, eax
lea rdx, [rbp + 0x1c0]
mov qword [rbp + 0x1f0], rdx
movzx r8d, byte [rdx + 0x17]
test r8b, r8b
jns 0x1400a5cd7
mov rdx, qword [rbp + 0x1c0]
mov r8, qword [rbp + 0x1c8]
inc r14d
lea rcx, [rbp + 0x30]
call fcn.1400a8390
mov rsi, rax
mov r13, qword [0x140297b68]
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov r8, rdi
test r13, r13
je 0x1400a5e91
mov rax, r13
shr rax, 1
movabs rcx, 0x5555555555555555
and rax, rcx
mov rcx, r13
sub rcx, rax
mov rax, rcx
movabs rdx, 0x3333333333333333
and rax, rdx
shr rcx, 2
and rcx, rdx
add rcx, rax
mov r15, rcx
shr r15, 4
add r15, rcx
movabs rax, 0xf0f0f0f0f0f0f0f
and r15, rax
movabs rax, 0x101010101010101
imul r15, rax
shr r15, 0x38
cmp r15, 1
ja 0x1400a64bd
lea r8, [r13 - 1]
and r8, rsi
mov rax, qword [0x140297b60]
mov rax, qword [rax + r8*8]
test rax, rax
je 0x1400a5e91
mov qword [rbp + 0x210], r14
lea rdi, [rbp + 0x1c0]
movzx r14d, byte [rdi + 0x17]
test r14b, r14b
cmovs r14, qword [rdi + 8]
cmovs rdi, qword [rdi]
mov r12, qword [rax]
test r12, r12
je 0x1400a5e80
lea r9, [r13 - 1]
mov qword [rbp + 0x1e0], rsi
mov rax, qword [r12 + 8]
cmp rax, rsi
je 0x1400a5dd6
cmp r15d, 1
ja 0x1400a5e2f
and rax, r9
cmp rax, r8
jne 0x1400a5e80
mov dl, byte [r12 + 0x27]
movzx eax, dl
mov rcx, rax
test dl, dl
jns 0x1400a5dea
mov rcx, qword [r12 + 0x18]
cmp rcx, r14
jne 0x1400a5e73
lea rcx, [r12 + 0x10]
mov rbx, qword [rcx]
test dl, dl
cmovs rcx, rbx
js 0x1400a5e3e
je 0x1400a6554
cmp byte [rdi], bl
jne 0x1400a5e73
dec rax
xor ecx, ecx
cmp rax, rcx
je 0x1400a6554
mov dl, byte [r12 + rcx + 0x11]
lea rbx, [rcx + 1]
cmp dl, byte [rdi + rcx + 1]
mov rcx, rbx
je 0x1400a5e12
jmp 0x1400a5e73
cmp rax, r13
jb 0x1400a5dcd
xor edx, edx
div r13
mov rax, rdx
jmp 0x1400a5dcd
test r14, r14
je 0x1400a6554
mov rdx, rdi
mov rbx, r8
mov r8, r14
mov rsi, r13
mov r13, r9
call fcn.1400cefa0
mov r9, r13
mov r13, rsi
mov r8, rbx
mov rsi, qword [rbp + 0x1e0]
test eax, eax
je 0x1400a6554
mov r12, qword [r12]
test r12, r12
jne 0x1400a5dba
mov r14, qword [rbp + 0x210]
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov rbx, r8
lea rdx, [rbp + 0x30]
mov qword [rdx + 0x10], rdi
movaps xmmword [rdx], xmm6
lea rcx, [0x140297b60]
lea r9, [rbp + 0x1f0]
mov rdi, rsi
mov r8, rsi
call fcn.1401222a0
mov rax, qword [0x140297b78]
inc rax
js 0x1400a5ece
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
jmp 0x1400a5ee6
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
addss xmm0, xmm0
test r13, r13
mov rdx, rbx
js 0x1400a5ef5
cvtsi2ss xmm1, r13
jmp 0x1400a5f0d
mov rax, r13
shr rax, 1
mov ecx, r13d
and ecx, 1
or rcx, rax
cvtsi2ss xmm1, rcx
addss xmm1, xmm1
movss xmm2, dword [0x140297b80]
mulss xmm1, xmm2
ucomiss xmm0, xmm1
ja 0x1400a6eff
test r13, r13
je 0x1400a6eff
mov rax, qword [0x140297b60]
mov rax, qword [rax + rdx*8]
test rax, rax
je 0x1400a64d9
mov rcx, qword [rax]
mov r12, qword [rbp + 0x30]
mov qword [r12], rcx
mov qword [rax], r12
inc qword [0x140297b78]
mov dword [r12 + 0x28], r14d
xor esi, esi
lea rdi, [rbp + 0x30]
add rdi, 8
sete sil
mov r8d, 0x100
mov rcx, rdi
mov dl, 0xaa
call fcn.1400cf750
lea rax, [0x140257adc]
mov qword [rbp + 0x30], rax
lea rax, [0x1402548f0]
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xc8], rdi
mov dword [rbp + 0xc0], esi
mov dword [rbp + 0xc4], 0
mov dword [rbp + 0xa8], 0x1002
mov qword [rbp + 0xb8], 0
mov qword [rbp + 0xb0], 6
xorps xmm7, xmm7
movups xmmword [rbp + 0xd8], xmm7
movups xmmword [rbp + 0xe8], xmm7
movups xmmword [rbp + 0xf8], xmm7
movups xmmword [rbp + 0x108], xmm7
movups xmmword [rbp + 0x118], xmm7
mov eax, dword [0x140295140]
mov ecx, dword [0x140293330]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
mov r15, qword [rbp + 0x1e8]
jg 0x1400a7384
mov rax, qword [0x140295138]
mov rax, qword [rax]
mov qword [rbp + 0xd0], rax
lock inc dword [rax + 8]
mov qword [rbp + 0x128], 0
mov dword [rbp + 0x130], 0xffffffff
mov rax, qword [rbp + 0x30]
movsxd rax, dword [rax + 4]
lea rcx, [0x140254870]
mov qword [rbp + rax + 0x30], rcx
mov rcx, rdi
call fcn.140070886
lea rax, [0x140254880]
mov qword [rbp + 0x38], rax
movups xmmword [rbp + 0x78], xmm7
movups xmmword [rbp + 0x88], xmm7
mov dword [rbp + 0x98], 0x10
movzx r8d, byte [rbp + 0x1d7]
test r8b, r8b
jns 0x1400a609c
mov rdx, qword [rbp + 0x1c0]
mov r8, qword [rbp + 0x1c8]
jmp 0x1400a60a3
lea rdx, [rbp + 0x1c0]
lea rcx, [rbp + 0x1f0]
call fcn.1400a8390
mov r8, rax
mov r12, qword [0x140297b68]
test r12, r12
mov qword [rbp + 0x210], rdi
je 0x1400a6248
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 r14, rcx
shr r14, 4
add r14, rcx
movabs rax, 0xf0f0f0f0f0f0f0f
and r14, rax
movabs rax, 0x101010101010101
imul r14, rax
shr r14, 0x38
cmp r14, 1
ja 0x1400a6454
lea r13, [r12 - 1]
and r13, r8
mov rax, qword [0x140297b60]
mov rax, qword [rax + r13*8]
test rax, rax
je 0x1400a6532
lea rdi, [rbp + 0x1c0]
movzx r15d, byte [rdi + 0x17]
test r15b, r15b
mov qword [rbp + 0x1e0], r15
cmovs r15, qword [rdi + 8]
mov rcx, qword [rdi]
mov qword [rbp + 0x188], rcx
cmovs rdi, rcx
mov rbx, qword [rax]
test rbx, rbx
je 0x1400a623c
lea r10, [r12 - 1]
mov qword [rbp + 0x10], r12
mov rax, qword [rbx + 8]
cmp rax, r8
je 0x1400a61a4
cmp r14d, 1
ja 0x1400a61f5
and rax, r10
cmp rax, r13
jne 0x1400a623c
mov dl, byte [rbx + 0x27]
movzx eax, dl
mov rcx, rax
test dl, dl
jns 0x1400a61b5
mov rcx, qword [rbx + 0x18]
cmp rcx, r15
jne 0x1400a6230
lea rcx, [rbx + 0x10]
mov rsi, qword [rcx]
test dl, dl
cmovs rcx, rsi
js 0x1400a6204
je 0x1400a653a
cmp byte [rdi], sil
jne 0x1400a6230
dec rax
xor ecx, ecx
cmp rax, rcx
je 0x1400a653a
mov dl, byte [rbx + rcx + 0x11]
lea rsi, [rcx + 1]
cmp dl, byte [rdi + rcx + 1]
mov rcx, rsi
je 0x1400a61d9
jmp 0x1400a6230
cmp rax, r12
jb 0x1400a619b
xor edx, edx
div r12
mov rax, rdx
jmp 0x1400a619b
test r15, r15
je 0x1400a653a
mov rdx, rdi
mov rsi, r8
mov r8, r15
mov r12, r10
call fcn.1400cefa0
mov r10, r12
mov r12, qword [rbp + 0x10]
mov r8, rsi
test eax, eax
je 0x1400a653a
mov rbx, qword [rbx]
test rbx, rbx
jne 0x1400a6189
mov rsi, r8
mov r15, qword [rbp + 0x1e8]
jmp 0x1400a6255
mov rsi, r8
movabs r13, 0xaaaaaaaaaaaaaaaa
mov ecx, 0x30
call fcn.1400c9cbc
mov rbx, rax
mov rcx, rax
add rcx, 0x10
cmp byte [rbp + 0x1d7], 0
js 0x1400a78cb
mov rax, qword [rbp + 0x1d0]
mov qword [rcx + 0x10], rax
movaps xmm0, xmmword [rbp + 0x1c0]
movups xmmword [rcx], xmm0
mov dword [rbx + 0x28], 0
mov qword [rbx + 8], rsi
mov qword [rbx], 0
mov rax, qword [0x140297b78]
inc rax
js 0x1400a62b3
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
jmp 0x1400a62cb
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
addss xmm0, xmm0
test r12, r12
js 0x1400a62d7
cvtsi2ss xmm1, r12
jmp 0x1400a62ef
mov rax, r12
shr rax, 1
mov ecx, r12d
and ecx, 1
or rcx, rax
cvtsi2ss xmm1, rcx
addss xmm1, xmm1
movss xmm2, dword [0x140297b80]
mulss xmm1, xmm2
ucomiss xmm0, xmm1
ja 0x1400a6ead
test r12, r12
je 0x1400a6ead
mov rax, qword [0x140297b60]
mov rcx, qword [rax + r13*8]
test rcx, rcx
je 0x1400a6470
mov rax, qword [rcx]
mov qword [rbx], rax
mov qword [rcx], rbx
inc qword [0x140297b78]
mov al, byte [rbp + 0x1d7]
mov rcx, qword [rbp + 0x1c0]
mov r9d, dword [rbx + 0x28]
test al, al
lea r8, [rbp + 0x1c0]
cmovs r8, rcx
lea rdx, str._s:_e_0_3_dm
lea rsi, [rbp + 0x18]
mov rcx, rsi
call fcn.140070f80
movzx edi, byte [rsi + 0x17]
test dil, dil
jns 0x1400a6373
mov rdi, qword [rbp + 0x20]
mov rsi, qword [rbp + 0x18]
mov rax, qword [rbp + 0x30]
movsxd r14, dword [rax + 4]
cmp dword [rbp + r14 + 0x50], 0
jne 0x1400a6634
mov rcx, qword [rbp + r14 + 0xb8]
test rcx, rcx
jne 0x1400a7867
mov edx, dword [rbp + r14 + 0xc0]
cmp edx, 0xffffffff
je 0x1400a6d13
lea r13, [rsi + rdi]
mov eax, 0xb0
and eax, dword [rbp + r14 + 0x38]
cmp eax, 0x20
mov r12, rsi
cmove r12, r13
mov r15, qword [rbp + r14 + 0x58]
test r15, r15
je 0x1400a6610
mov rax, qword [rbp + r14 + 0x48]
xor ebx, ebx
sub rax, rdi
cmovg rbx, rax
mov rdi, r12
sub rdi, rsi
test rdi, rdi
jle 0x1400a641a
mov rax, qword [r15]
mov rcx, r15
mov qword [rbp + 0x1e0], r15
mov r15, r13
mov r13d, edx
mov rdx, rsi
mov r8, rdi
call qword [rax + 0x58]
mov edx, r13d
mov r13, r15
mov r15, qword [rbp + 0x1e0]
cmp rax, rdi
jne 0x1400a6610
test rbx, rbx
jle 0x1400a65e2
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rbp + 0x200], rax
movaps xmmword [rbp + 0x1f0], xmm6
cmp rbx, 0x16
ja 0x1400a6560
lea rsi, [rbp + 0x1f0]
mov byte [rsi + 0x17], bl
jmp 0x1400a6591
mov r13, r8
cmp r8, r12
jb 0x1400a6137
mov rax, r8
xor edx, edx
div r12
mov r13, rdx
jmp 0x1400a6137
lea rcx, [0x140297b70]
mov rdi, qword [0x140297b70]
mov qword [rbx], rdi
mov qword [0x140297b70], rbx
mov qword [rax + r13*8], rcx
mov rax, qword [rbx]
test rax, rax
je 0x1400a632a
mov rax, qword [rax + 8]
lea rcx, [r12 - 1]
test r12, rcx
jne 0x1400a6770
and rax, rcx
mov rcx, qword [0x140297b60]
mov qword [rcx + rax*8], rbx
jmp 0x1400a632a
mov r8, rsi
cmp rsi, r13
jb 0x1400a5d70
mov rax, rsi
xor edx, edx
div r13
mov r8, rdx
jmp 0x1400a5d70
lea rax, [0x140297b70]
mov rcx, qword [0x140297b70]
mov r12, qword [rbp + 0x30]
mov qword [r12], rcx
mov qword [0x140297b70], r12
mov rcx, qword [0x140297b60]
mov qword [rcx + rdx*8], rax
mov rax, qword [r12]
test rax, rax
je 0x1400a5f4d
mov rax, qword [rax + 8]
lea rcx, [r13 - 1]
test r13, rcx
jne 0x1400a6786
and rax, rcx
mov rcx, qword [0x140297b60]
mov qword [rcx + rax*8], r12
jmp 0x1400a5f4d
mov rsi, r8
jmp 0x1400a6255
mov r15, qword [rbp + 0x1e8]
mov rax, qword [rbp + 0x1e0]
mov rcx, qword [rbp + 0x188]
jmp 0x1400a633e
mov r14, qword [rbp + 0x210]
jmp 0x1400a5f54
lea rdi, [rbx + 0x10]
and rdi, 0xfffffffffffffff0
mov rcx, rdi
mov esi, edx
call fcn.1400c9cbc
mov edx, esi
mov rsi, rax
mov qword [rbp + 0x1f0], rax
bts rdi, 0x3f
mov qword [rbp + 0x200], rdi
mov qword [rbp + 0x1f8], rbx
mov rcx, rsi
mov r8, rbx
call fcn.1400cf750
mov byte [rsi + rbx], 0
cmp byte [rbp + 0x207], 0
jns 0x1400a65b2
mov rdx, qword [rbp + 0x1f0]
jmp 0x1400a65b9
lea rdx, [rbp + 0x1f0]
mov rax, qword [r15]
mov rcx, r15
mov r8, rbx
call qword [rax + 0x58]
mov rsi, rax
cmp byte [rbp + 0x207], 0
jns 0x1400a65dd
mov rcx, qword [rbp + 0x1f0]
call fcn.1400c9cac
cmp rsi, rbx
jne 0x1400a6610
sub r13, r12
test r13, r13
jle 0x1400a65fe
mov rax, qword [r15]
mov rcx, r15
mov rdx, r12
mov r8, r13
call qword [rax + 0x58]
cmp rax, r13
jne 0x1400a6610
mov qword [rbp + r14 + 0x48], 0
mov r15, qword [rbp + 0x1e8]
jmp 0x1400a6634
mov rax, qword [rbp + 0x30]
movsxd rax, dword [rax + 4]
mov ecx, dword [rbp + rax + 0x50]
or ecx, 5
mov dword [rbp + rax + 0x50], ecx
test dword [rbp + rax + 0x54], ecx
mov r15, qword [rbp + 0x1e8]
jne 0x1400a78bf
mov rax, qword [rbp + 0x30]
movsxd rax, dword [rax + 4]
cmp qword [rbp + rax + 0x58], 0
je 0x1400a6656
cmp dword [rbp + rax + 0x50], 0
jne 0x1400a6656
test byte [rbp + rax + 0x39], 0x20
jne 0x1400a7879
cmp byte [rbp + 0x2f], 0
jns 0x1400a6665
mov rcx, qword [rbp + 0x18]
call fcn.1400c9cac
mov r9, qword [0x140297b40]
test r9, r9
je 0x1400a6aa8
mov r8d, dword [rbp + 0x1b4]
movsxd rcx, r8d
mov rax, r9
shr rax, 1
movabs rdx, 0x5555555555555555
and rax, rdx
mov rdx, r9
sub rdx, rax
mov rax, rdx
movabs rbx, 0x3333333333333333
and rax, rbx
shr rdx, 2
and rdx, rbx
add rdx, rax
mov rsi, rdx
shr rsi, 4
add rsi, rdx
movabs rax, 0xf0f0f0f0f0f0f0f
and rsi, rax
movabs rax, 0x101010101010101
imul rsi, rax
shr rsi, 0x38
cmp rsi, 1
ja 0x1400a674d
lea rbx, [r9 - 1]
and rbx, rcx
mov rax, qword [0x140297b38]
mov rax, qword [rax + rbx*8]
test rax, rax
je 0x1400a6aa8
mov rdi, qword [rax]
test rdi, rdi
je 0x1400a6aa8
lea r10, [r9 - 1]
mov rax, qword [rdi + 8]
cmp rax, rcx
jne 0x1400a6720
cmp dword [rdi + 0x10], r8d
jne 0x1400a6731
jmp 0x1400a67bc
cmp esi, 1
ja 0x1400a673e
and rax, r10
cmp rax, rbx
jne 0x1400a6aa8
mov rdi, qword [rdi]
test rdi, rdi
jne 0x1400a670c
jmp 0x1400a6aa8
cmp rax, r9
jb 0x1400a6728
xor edx, edx
div r9
mov rax, rdx
jmp 0x1400a6728
mov rbx, rcx
cmp r9, rcx
ja 0x1400a66e8
mov rax, rcx
xor edx, edx
div r9
mov rbx, rdx
jmp 0x1400a66e8
mov rax, qword [rcx]
mov qword [rsi], rax
mov qword [rcx], rsi
jmp 0x1400a5580
cmp rax, r12
jb 0x1400a64ad
xor edx, edx
div r12
mov rax, rdx
jmp 0x1400a64ad
cmp rax, r13
jb 0x1400a6522
xor edx, edx
div r13
mov rax, rdx
jmp 0x1400a6522
lea rbx, [rdi - 1]
and rbx, r14
jmp 0x1400a5475
xor edx, edx
div rdi
mov rax, rdx
jmp 0x1400a5575
xor eax, eax
jmp 0x1400a44c4
mov rcx, qword [rdi + 0x28]
mov rax, qword [rdi + 0x30]
mov rsi, rax
sub rsi, rcx
jae 0x1400a67d6
sub rax, rcx
add rax, qword [rdi + 0x20]
mov rsi, rax
test rsi, rsi
je 0x1400a6aa8
lea rdx, [0x14025e8fc]
mov rax, qword [rbp + 0x30]
movsxd r14, dword [rax + 4]
cmp dword [rbp + r14 + 0x50], 0
jne 0x1400a69cf
mov rcx, qword [rbp + r14 + 0xb8]
test rcx, rcx
jne 0x1400a77f2
mov r8d, dword [rbp + r14 + 0xc0]
cmp r8d, 0xffffffff
je 0x1400a69ff
mov eax, dword [rbp + r14 + 0x38]
mov ecx, 0xb0
and eax, ecx
cmp eax, 0x20
mov r13, rdx
lea rax, [0x14025e8fe]
cmove r13, rax
mov r12, qword [rbp + r14 + 0x58]
test r12, r12
je 0x1400a69b2
mov rax, qword [rbp + r14 + 0x48]
lea rdi, [rax - 2]
cmp rax, 2
mov eax, 0
cmovle rdi, rax
mov rbx, r13
sub rbx, rdx
test rbx, rbx
jle 0x1400a6899
mov rax, qword [r12]
mov rcx, r12
mov r15, rsi
mov esi, r8d
mov r8, rbx
call qword [rax + 0x58]
mov r8d, esi
lea rdx, [0x14025e8fc]
mov rsi, r15
mov r15, qword [rbp + 0x1e8]
cmp rax, rbx
jne 0x1400a69b2
test rdi, rdi
jle 0x1400a6979
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rbp + 0x200], rax
movaps xmmword [rbp + 0x1f0], xmm6
cmp rdi, 0x16
mov qword [rbp + 0x1e0], rsi
ja 0x1400a68da
mov byte [rbp + 0x207], dil
lea rbx, [rbp + 0x1f0]
mov r15, rbx
jmp 0x1400a6914
lea rbx, [rdi + 0x10]
and rbx, 0xfffffffffffffff0
mov rcx, rbx
mov esi, r8d
call fcn.1400c9cbc
mov r8d, esi
mov r15, rax
mov qword [rbp + 0x1f0], rax
bts rbx, 0x3f
mov qword [rbp + 0x200], rbx
mov qword [rbp + 0x1f8], rdi
lea rbx, [rbp + 0x1f0]
mov rcx, r15
mov edx, r8d
mov r8, rdi
call fcn.1400cf750
mov byte [r15 + rdi], 0
cmp byte [rbp + 0x207], 0
mov rdx, rbx
jns 0x1400a693a
mov rdx, qword [rbp + 0x1f0]
mov rax, qword [r12]
mov rcx, r12
mov r8, rdi
call qword [rax + 0x58]
mov rbx, rax
cmp byte [rbp + 0x207], 0
mov r15, qword [rbp + 0x1e8]
jns 0x1400a6966
mov rcx, qword [rbp + 0x1f0]
call fcn.1400c9cac
cmp rbx, rdi
mov rsi, qword [rbp + 0x1e0]
lea rdx, [0x14025e8fc]
jne 0x1400a69b2
mov rdi, rdx
sub rdi, r13
add rdi, 2
test rdi, rdi
jle 0x1400a69a7
mov rax, qword [r12]
mov rcx, r12
mov rbx, rsi
mov rdx, r13
mov r8, rdi
call qword [rax + 0x58]
lea rdx, [0x14025e8fc]
cmp rax, rdi
jne 0x1400a69b2
mov qword [rbp + r14 + 0x48], 0
jmp 0x1400a69cf
mov rax, qword [rbp + 0x30]
movsxd rax, dword [rax + 4]
mov ecx, dword [rbp + rax + 0x50]
or ecx, 5
mov dword [rbp + rax + 0x50], ecx
test dword [rbp + rax + 0x54], ecx
jne 0x1400a78bf
mov rax, qword [rbp + 0x30]
movsxd rax, dword [rax + 4]
cmp qword [rbp + rax + 0x58], 0
je 0x1400a69f1
cmp dword [rbp + rax + 0x50], 0
jne 0x1400a69f1
test byte [rbp + rax + 0x39], 0x20
jne 0x1400a780b
dec rsi
jne 0x1400a67e6
jmp 0x1400a6aa8
mov rdi, rsi
mov rsi, qword [rbp + r14 + 0x60]
lock inc dword [rsi + 8]
lea rax, [0x140295158]
mov qword [rbp + 0x1f0], rax
lea rax, [0x140059e40]
mov qword [rbp + 0x1f8], rax
mov rax, qword [0x140295158]
cmp rax, 0xffffffffffffffff
jne 0x1400a7933
movsxd rax, dword [0x140295160]
lea rdx, [rax - 1]
mov rcx, qword [rsi + 0x10]
mov rbx, qword [rsi + 0x18]
sub rbx, rcx
sar rbx, 3
cmp rbx, rdx
jbe 0x1400a78e3
mov rcx, qword [rcx + rax*8 - 8]
test rcx, rcx
je 0x1400a78e3
mov rax, qword [rcx]
mov dl, 0x20
call qword [rax + 0x38]
mov ebx, eax
mov eax, 0xffffffff
lock xadd dword [rsi + 8], eax
test eax, eax
je 0x1400a76f0
movsx r8d, bl
mov dword [rbp + r14 + 0xc0], r8d
mov rax, qword [rbp + 0x30]
movsxd r14, dword [rax + 4]
mov rsi, rdi
lea rdx, [0x14025e8fc]
jmp 0x1400a681d
cmp byte [rbp + 0x1d8], 0
jne 0x1400a6ac1
lea rdx, [rbp + 0x30]
mov rcx, qword [rbp + 0x190]
call fcn.140102e30
mov esi, dword [rbp + 0x198]
cmp sil, 0x45
mov r14, qword [rbp + 0x1b8]
mov rdi, qword [rbp + 0x210]
jne 0x1400a6c42
movabs rax, 0x8000000000000001
mov rcx, qword [rbp + 0x1a0]
add rax, rcx
cmp rax, 2
jb 0x1400a7561
xorps xmm2, xmm2
cvtsi2sd xmm2, rcx
divsd xmm2, qword [0x14025c9a8]
lea rdx, str.___.3f_ms_
lea rsi, [rbp + 0x1f0]
mov rcx, rsi
movq r8, xmm2
call fcn.140070f80
movzx r8d, byte [rsi + 0x17]
test r8b, r8b
jns 0x1400a6b40
mov r8, qword [rbp + 0x1f8]
mov rsi, qword [rbp + 0x1f0]
lea rcx, [rbp + 0x30]
mov rdx, rsi
call fcn.1400a7acb
cmp byte [rbp + 0x207], 0
jns 0x1400a6b61
mov rcx, qword [rbp + 0x1f0]
call fcn.1400c9cac
lea rdx, str.e_0_m
lea rcx, [rbp + 0x30]
mov r8d, 5
call fcn.1400a7acb
lea rdx, [rbp - 8]
mov rcx, rdi
call fcn.140070eb8
lea rsi, [rbp + 0xa0]
mov rax, qword [rsi - 0x70]
movsxd rax, dword [rax + 4]
lea rcx, [0x140254870]
mov qword [rbp + rax + 0x30], rcx
lea rdi, [rbp + 0x38]
lea rax, [0x140254880]
mov qword [rdi], rax
cmp byte [rdi + 0x57], 0
jns 0x1400a6bbb
mov rcx, qword [rbp + 0x78]
call fcn.1400c9cac
mov rcx, rdi
call fcn.140070832
mov rcx, rdi
call fcn.140078fa0
mov rcx, rsi
call fcn.14007082c
cmp byte [rbp + 0x1d7], 0
jns 0x1400a6be8
mov rcx, qword [rbp + 0x1c0]
call fcn.1400c9cac
lea rcx, [0x140297a18]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp byte [rbp + 0x187], 0
mov rsi, qword [rbp + 0x1a8]
jns 0x1400a6c11
mov rcx, qword [rbp + 0x170]
call fcn.1400c9cac
mov rax, qword [rbp + 8]
mov qword [rbp + 0x180], rax
movups xmm0, xmmword [rbp - 8]
movaps xmmword [rbp + 0x170], xmm0
test rsi, rsi
jne 0x1400a4c3c
lea rcx, [0x140297a10]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1400a4c3c
lea rdx, str.e_0_m
lea rcx, [rbp + 0x30]
mov r8d, 5
call fcn.1400a7acb
cmp sil, 0x42
jne 0x1400a6b77
mov r12, rdi
lea r8, [rbp + 0x1b4]
lea r9, [rbp + 0x18]
mov qword [r9], r8
lea rcx, [0x140297b38]
lea rsi, [rbp + 0x1f0]
mov rdx, rsi
call fcn.1400024b0
mov rsi, qword [rsi]
lea rcx, [rsi + 0x18]
mov edx, 1
call fcn.14010312e
mov rax, qword [rsi + 0x30]
cmp qword [rsi + 0x20], rax
jb 0x1400a7998
mov rcx, qword [rsi + 0x18]
mov rdx, qword [rbp + 0x2c8]
mov rdx, qword [rdx]
mov qword [rcx + rax*8], rdx
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x30]
lea rdx, [rax - 1]
lea rbx, [rcx + 1]
xor edi, edi
cmp rcx, rdx
cmovne rdi, rbx
mov qword [rsi + 0x30], rdi
test rdi, rdi
cmove rdi, rax
dec rdi
cmp rax, rdi
mov r14, qword [rbp + 0x1b8]
mov rdi, r12
jae 0x1400a6b77
int3
lea rcx, [rbx + 0x58]
mov rdx, qword [rbp + 0x2d0]
call fcn.140066e50
mov r8d, dword [rbx + 0x84]
jmp 0x1400a4ae6
mov r12, qword [rbp + r14 + 0x60]
lock inc dword [r12 + 8]
lea rax, [0x140295158]
mov qword [rbp + 0x1f0], rax
lea rax, [0x140059e40]
mov qword [rbp + 0x1f8], rax
mov rax, qword [0x140295158]
cmp rax, 0xffffffffffffffff
jne 0x1400a7968
movsxd rax, dword [0x140295160]
lea rdx, [rax - 1]
mov rcx, qword [r12 + 0x10]
mov rbx, qword [r12 + 0x18]
sub rbx, rcx
sar rbx, 3
cmp rbx, rdx
jbe 0x1400a78e3
mov rcx, qword [rcx + rax*8 - 8]
test rcx, rcx
je 0x1400a78e3
mov rax, qword [rcx]
mov dl, 0x20
call qword [rax + 0x38]
mov r15d, eax
mov eax, 0xffffffff
lock xadd dword [r12 + 8], eax
test eax, eax
je 0x1400a76fe
movsx edx, r15b
mov dword [rbp + r14 + 0xc0], edx
mov rax, qword [rbp + 0x30]
movsxd r14, dword [rax + 4]
jmp 0x1400a63a9
movzx eax, word [rsi + 0x20]
mov rdx, qword [rsi + 0x18]
mov edx, dword [rdx + 0x2610]
mov dword [r15], edx
shl ecx, 0x1a
or ecx, eax
mov dword [r15 + 4], ecx
test r14, r14
jne 0x1400a6e53
mov dword [rsp + 0x60], r13d
mov rax, qword [rbp + 0x2d0]
mov qword [rsp + 0x58], rax
mov rax, qword [rbp + 0x190]
mov qword [rsp + 0x50], rax
mov rax, qword [rbp + 0x2b8]
mov qword [rsp + 0x48], rax
mov rax, qword [rbp + 0x2b0]
mov qword [rsp + 0x40], rax
mov rax, qword [rbp + 0x198]
mov qword [rsp + 0x38], rax
mov rax, qword [rbp + 0x1d8]
mov qword [rsp + 0x30], rax
mov al, byte [rbp + 0x1e0]
mov byte [rsp + 0x28], al
mov qword [rsp + 0x20], 0xffffffffffffffff
mov rcx, rdi
mov edx, dword [rbp + 0x2c0]
mov r8, qword [rbp + 0x1a0]
mov r9, qword [rbp + 0x210]
call fcn.1401031b0
jmp 0x1400a6e5e
mov rcx, rdi
mov rdx, r14
call fcn.1401030b0
mov dword [rbp + 0x1d8], 0
jmp 0x1400a5274
lea rcx, [rdi - 1]
xor ebx, ebx
test rdi, rcx
setne bl
or rdx, rbx
jmp 0x1400a5c4d
cmp rax, rdi
jb 0x1400a5b59
xor edx, edx
div rdi
mov rax, rdx
jmp 0x1400a5b59
cmp rax, rdi
jb 0x1400a5ba5
xor edx, edx
div rdi
mov rax, rdx
jmp 0x1400a5ba5
divss xmm0, xmm2
call fcn.1400e55e4
cvttss2si rcx, xmm0
movss xmm1, dword [0x1402450f8]
movaps xmm2, xmm0
subss xmm2, xmm1
cvttss2si rax, xmm2
btc rax, 0x3f
ucomiss xmm0, xmm1
cmovb rax, rcx
lea rdx, [r12 + r12]
cmp r12, 2
jbe 0x1400a7086
lea rcx, [r12 - 1]
xor edi, edi
test r12, rcx
setne dil
or rdx, rdi
jmp 0x1400a708a
divss xmm0, xmm2
call fcn.1400e55e4
cvttss2si rcx, xmm0
movss xmm1, dword [0x1402450f8]
movaps xmm2, xmm0
subss xmm2, xmm1
cvttss2si rax, xmm2
btc rax, 0x3f
ucomiss xmm0, xmm1
cmovb rax, rcx
mov rdx, r13
add rdx, r13
cmp r13, 2
jbe 0x1400a70ea
lea rcx, [r13 - 1]
xor esi, esi
test r13, rcx
setne sil
or rdx, rsi
jmp 0x1400a70ee
mov rax, r14
xor edx, edx
div rdi
mov rbx, rdx
jmp 0x1400a5523
and rbx, r14
jmp 0x1400a5523
mov qword [rbp + 0x1a8], rsi
cmp qword [r12 + 0x180], 0
jne 0x1400a72b9
mov rax, qword [0x1402910e8]
lea rcx, [0x14005a590]
lea rbx, [rbp + 0x30]
cmp rax, rcx
jne 0x1400a770d
mov qword [rbx], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbx]
movabs rcx, 0x8637bd05af6
cmp rax, rcx
jg 0x1400a722a
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402979e0]
jmp 0x1400a724c
lea rcx, [rbp + 0x1c0]
mov byte [rcx + 0x17], sil
jmp 0x1400a5795
divss xmm0, xmm2
call fcn.1400e55e4
cvttss2si rcx, xmm0
movss xmm1, dword [0x1402450f8]
movaps xmm2, xmm0
subss xmm2, xmm1
cvttss2si rax, xmm2
btc rax, 0x3f
ucomiss xmm0, xmm1
cmovb rax, rcx
lea rdx, [rdi + rdi]
cmp rdi, 2
jbe 0x1400a71a0
lea rcx, [rdi - 1]
xor ebx, ebx
test rdi, rcx
setne bl
or rdx, rbx
jmp 0x1400a71a4
divss xmm0, xmm2
call fcn.1400e55e4
cvttss2si rcx, xmm0
movss xmm1, dword [0x1402450f8]
movaps xmm2, xmm0
subss xmm2, xmm1
cvttss2si rax, xmm2
btc rax, 0x3f
ucomiss xmm0, xmm1
cmovb rax, rcx
lea rdx, [rdi + rdi]
cmp rdi, 2
jbe 0x1400a71e0
lea rcx, [rdi - 1]
xor ebx, ebx
test rdi, rcx
setne bl
or rdx, rbx
jmp 0x1400a71e4
or rdx, 1
cmp rdx, rax
cmovb rdx, rax
lea rcx, [0x140297b60]
call fcn.14013a90c
mov r12, qword [0x140297b68]
lea r13, [r12 - 1]
test r12, r13
jne 0x1400a70b6
and r13, rsi
jmp 0x1400a630d
mov r13, rsi
cmp rsi, r12
jb 0x1400a630d
mov rax, r13
xor edx, edx
div r12
mov r13, rdx
jmp 0x1400a630d
lea r14, [rbp + 0x88]
mov rcx, r14
call fcn.140066e50
mov r13d, dword [r14 + 0x2c]
jmp 0x1400a49ee
or rdx, 1
cmp rdx, rax
cmovb rdx, rax
lea rcx, [0x140297b60]
call fcn.14013a90c
mov r13, qword [0x140297b68]
lea rdx, [r13 - 1]
test r13, rdx
jne 0x1400a7119
and rdx, rdi
jmp 0x1400a5f2b
mov rax, rdi
cmp rdi, r13
jae 0x1400a7220
mov rdx, rax
jmp 0x1400a5f2b
cmp qword [0x140297b88], 0
jne 0x1400a7373
mov rax, qword [0x1402910e8]
lea rcx, [0x14005a590]
cmp rax, rcx
mov qword [rbp + 0x1a8], rsi
jne 0x1400a7726
lea rdi, [rbp + 0x30]
mov qword [rdi], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rdi]
movabs rcx, 0x8637bd05af6
cmp rax, rcx
jg 0x1400a72ed
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402979e0]
jmp 0x1400a730f
and rax, rcx
jmp 0x1400a5575
or rdx, 1
cmp rdx, rax
cmovb rdx, rax
lea rcx, [0x140297b38]
call fcn.1401032c0
mov rdi, qword [0x140297b40]
lea r15, [rdi - 1]
test rdi, r15
jne 0x1400a71cf
and r15, r14
jmp 0x1400a5859
cmp rdi, r14
jbe 0x1400a72cd
mov r15, r14
jmp 0x1400a5859
or rdx, 1
cmp rdx, rax
cmovb rdx, rax
lea rcx, [0x140297b38]
call fcn.1401032c0
mov rdi, qword [0x140297b40]
lea r15, [rdi - 1]
test rdi, r15
jne 0x1400a720f
and r15, r14
jmp 0x1400a5a23
cmp rdi, r14
jbe 0x1400a72dd
mov r15, r14
jmp 0x1400a5a23
xor edx, edx
div r13
jmp 0x1400a5f2b
mov rcx, qword [0x1402979e0]
cqo
idiv rcx
imul rbx, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, rbx
mov qword [rbp + 0x30], rax
mov rcx, qword [r12 + 0x198]
movabs rdx, 0x8000000000000001
add rdx, rcx
cmp rdx, 2
jae 0x1400a7287
cmp rax, rcx
je 0x1400a799b
sar rcx, 0x3f
movabs rax, 0x8000000000000000
add rax, rcx
jmp 0x1400a72a3
xor edx, edx
cmp rax, rcx
setns dl
movabs rbx, 0x7fffffffffffffff
add rbx, rdx
sub rax, rcx
cmovo rax, rbx
mov r14, qword [rbp + 0x1b8]
mov r13d, dword [rbp + 0x2d8]
mov qword [r12 + 0x180], rax
mov rcx, r12
call fcn.1400725e0
mov rsi, qword [rbp + 0x1a8]
jmp 0x1400a5225
mov rax, r14
xor edx, edx
div rdi
mov r15, rdx
jmp 0x1400a5859
mov rax, r14
xor edx, edx
div rdi
mov r15, rdx
jmp 0x1400a5a23
mov rcx, qword [0x1402979e0]
cqo
idiv rcx
imul rbx, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, rbx
mov qword [rbp + 0x30], rax
mov rcx, qword [0x140297ba0]
movabs rdx, 0x8000000000000001
add rdx, rcx
cmp rdx, 2
jae 0x1400a7349
cmp rax, rcx
je 0x1400a799e
sar rcx, 0x3f
movabs rax, 0x8000000000000000
add rax, rcx
jmp 0x1400a7365
xor edx, edx
cmp rax, rcx
setns dl
movabs rbx, 0x7fffffffffffffff
add rbx, rdx
sub rax, rcx
cmovo rax, rbx
mov qword [0x140297b88], rax
mov rsi, qword [rbp + 0x1a8]
lea rcx, [0x140297a08]
call fcn.1400725e0
jmp 0x1400a4e58
lea rcx, [0x140295140]
call fcn.1400c9d58
cmp dword [0x140295140], 0xffffffff
jne 0x1400a6019
call fcn.1400a9a34
mov rax, qword [rax]
mov qword [0x140295130], rax
lea rcx, [0x140295130]
lock inc dword [rax + 8]
mov qword [0x140295138], rcx
lea rcx, [0x140295140]
call fcn.1400c9cf8
jmp 0x1400a6019
cmp byte [rdi], 0
je 0x1400a460f
mov rcx, qword [0x140297da8]
mov rdx, rdi
call fcn.140098d50
lea rcx, [0x140297a18]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400a76d1
lea rcx, [0x140297b10]
lea rsi, [rbp + 0x30]
lea r12, [rbp - 8]
mov rdx, rsi
mov r8, r12
call fcn.140129db0
mov rax, qword [rsi]
test rax, rax
jne 0x1400a79a1
lea rax, [rbp + 0x18]
mov qword [rax], r12
lea rcx, [rbp + 0x168]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea rcx, [0x140297b10]
lea r9, [0x14025e988]
lea rsi, [rbp + 0x30]
mov rdx, rsi
mov r8, r12
call fcn.1400aefc2
mov rcx, qword [rsi]
add rcx, 0x18
mov rdx, rdi
call fcn.1400a7e24
lea rcx, [0x140297a18]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1400a460f
lea rcx, [0x140297db0]
call fcn.1400c9d58
cmp dword [0x140297db0], 0xffffffff
jne 0x1400a45cc
mov ecx, 8
call fcn.1400c9cbc
mov rsi, rax
mov qword [rax], 0
mov rcx, rax
xor edx, edx
call fcn.1400721e0
mov qword [0x140297da8], rsi
lea rcx, [0x140297db0]
call fcn.1400c9cf8
jmp 0x1400a45cc
lea rcx, [0x14029b0b0]
call fcn.1400c9d58
cmp dword [0x14029b0b0], 0xffffffff
jne 0x1400a4829
mov qword [0x14029b0a8], 0
lea rcx, [0x14029b0a8]
xor edx, edx
call fcn.1400721e0
lea rcx, [0x14029b0b0]
call fcn.1400c9cf8
jmp 0x1400a4829
call fcn.140008460
jmp 0x1400a462e
lea rcx, [0x140297820]
call fcn.14008f690
test al, al
je 0x1400a7737
mov qword [0x140297828], 0
lea rsi, [0x140297820]
lea rdi, [0x140297828]
mov rcx, rdi
xor edx, edx
call fcn.1400721e0
mov rcx, rsi
mov rdx, rdi
xor r8d, r8d
mov r9, rsi
call fcn.14008f670
jmp 0x1400a4876
shr rcx, 0x3f
lea rax, [0x14025c9b0]
movsd xmm2, qword [rax + rcx*8]
jmp 0x1400a6b0d
lea rcx, [0x140297fa0]
call fcn.1400c9d58
cmp dword [0x140297fa0], 0xffffffff
jne 0x1400a455d
lea rcx, [0x140297f98]
xor edx, edx
call fcn.1400721e0
lea rcx, [0x140297fa0]
call fcn.1400c9cf8
jmp 0x1400a455d
lea rcx, [0x140297fa8]
call fcn.14008f690
test al, al
je 0x1400a771a
mov ecx, pe_nt_image_headers64
call fcn.1400c9cbc
mov rdi, rax
mov rcx, rax
call fcn.140114510
lea rcx, [0x140297fa8]
mov rdx, rdi
xor r8d, r8d
xor r9d, r9d
call fcn.14008f670
jmp 0x1400a4538
lea rcx, [0x1402979a0]
call fcn.1400c9d58
cmp dword [0x1402979a0], 0xffffffff
jne 0x1400a44a8
mov r12, rbx
lea rdi, [rbp + 0x30]
mov rcx, rdi
call fcn.140124820
mov bl, byte [rdi + 0x2e]
cmp byte [rdi + 0x5f], 0
jns 0x1400a762b
mov rcx, qword [rbp + 0x78]
call fcn.1400c9cac
cmp byte [rbp + 0x77], 0
js 0x1400a7a77
mov byte [0x14029799c], bl
lea rcx, [0x1402979a0]
call fcn.1400c9cf8
mov r15, qword [rbp + 0x1e8]
mov esi, dword [rbp + 0x2c0]
mov rbx, r12
jmp 0x1400a44a8
lea rcx, [0x140297a18]
call fcn.1400711f0
jmp 0x1400a52aa
lea rcx, [0x140297a10]
call fcn.1400711f0
jmp 0x1400a4d8b
mov rcx, rdi
call fcn.1400711f0
jmp 0x1400a519f
mov rcx, rdi
call fcn.140124070
mov rcx, rdi
call fcn.1400c9cac
mov ecx, 0x30
call fcn.1400c9cbc
mov rdi, rax
mov rcx, rax
call fcn.140103920
lea rcx, [0x140297cf8]
mov rdx, rdi
call fcn.140098d50
jmp 0x1400a48ed
mov rcx, rdi
call fcn.1400711f0
jmp 0x1400a4777
lea rcx, [0x140297a18]
call fcn.1400711f0
jmp 0x1400a73fc
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 8]
jmp 0x1400a510d
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 8]
jmp 0x1400a6a85
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 8]
jmp 0x1400a6d9d
mov rcx, rbx
call rax
mov rax, qword [rbx]
jmp 0x1400a7250
mov rax, qword [0x140297fa8]
jmp 0x1400a4538
lea rbx, [rbp + 0x30]
mov rcx, rbx
call rax
mov rax, qword [rbx]
jmp 0x1400a7313
mov rdi, qword [0x140297820]
jmp 0x1400a4876
xor eax, eax
jmp 0x1400a4592
xor eax, eax
jmp 0x1400a4601
mov rax, qword [rbp + 0x2d0]
mov qword [rsp + 0x20], rax
mov ecx, r14d
mov rdx, rbx
mov r8, qword [rbp + 0x198]
mov r9, qword [rbp + 0x2b8]
call fcn.140183bb0
jmp 0x1400a4618
int3
xor esi, esi
mov rdi, rbx
jmp 0x1400a4925
xor esi, esi
jmp 0x1400a4925
mov rsi, r8
call fcn.140147a1a
mov r8, rsi
mov rax, qword [rbp + 0x40]
movsxd r13, dword [rax + 4]
jmp 0x1400a4cbe
call fcn.14014efa8
test al, al
jne 0x1400a4fec
mov rax, qword [rbp + 0x40]
movsxd rax, dword [rax + 4]
mov rcx, qword [rbp + rax + 0x68]
mov rax, qword [rcx]
call qword [rax + 0x28]
cmp eax, 0xffffffff
jne 0x1400a4fec
mov rax, qword [rbp + 0x40]
movsxd rax, dword [rax + 4]
mov ecx, dword [rbp + rax + 0x60]
or ecx, 1
mov dword [rbp + rax + 0x60], ecx
test dword [rbp + rax + 0x64], ecx
je 0x1400a4fec
jmp 0x1400a78bf
call fcn.140147a1a
lea rdx, [0x14025e8fc]
mov rax, qword [rbp + 0x30]
movsxd r14, dword [rax + 4]
jmp 0x1400a680b
mov rdi, rsi
call fcn.14014efa8
lea rdx, [0x14025e8fc]
test al, al
jne 0x1400a69f1
mov rax, qword [rbp + 0x30]
movsxd rax, dword [rax + 4]
mov rcx, qword [rbp + rax + 0x58]
mov rax, qword [rcx]
call qword [rax + 0x28]
lea rdx, [0x14025e8fc]
mov rsi, rdi
cmp eax, 0xffffffff
jne 0x1400a69f1
mov rax, qword [rbp + 0x30]
movsxd rax, dword [rax + 4]
mov ecx, dword [rbp + rax + 0x50]
or ecx, 1
mov dword [rbp + rax + 0x50], ecx
test dword [rbp + rax + 0x54], ecx
je 0x1400a69f1
jmp 0x1400a78bf
call fcn.140147a1a
mov rax, qword [rbp + 0x30]
movsxd r14, dword [rax + 4]
jmp 0x1400a6398
call fcn.14014efa8
test al, al
jne 0x1400a6656
mov rax, qword [rbp + 0x30]
movsxd rax, dword [rax + 4]
mov rcx, qword [rbp + rax + 0x58]
mov rax, qword [rcx]
call qword [rax + 0x28]
cmp eax, 0xffffffff
jne 0x1400a6656
mov rax, qword [rbp + 0x30]
movsxd rax, dword [rax + 4]
mov ecx, dword [rbp + rax + 0x50]
or ecx, 1
mov dword [rbp + rax + 0x50], ecx
test dword [rbp + rax + 0x54], ecx
je 0x1400a6656
lea rcx, str.ios_base::clear
call fcn.140167555
mov rdx, qword [rbp + 0x1c0]
mov r8, qword [rbp + 0x1c8]
call fcn.14008821c
jmp 0x1400a628b
call fcn.14014ef75
int3
int3
lea rcx, [rbp + 0x1c0]
call fcn.140113fe4
int3
lea rax, [rbp + 0x1f0]
lea rcx, [rbp + 0x1c0]
mov qword [rcx], rax
lea rdx, [rbp + 0x18]
mov qword [rdx], rcx
lea rcx, [0x140295158]
mov rsi, r8
lea r8, [0x1400c9220]
call fcn.140090668
mov r8, rsi
jmp 0x1400a50bc
lea rax, [rbp + 0x1f0]
mov qword [rbp + 0x18], rax
lea rax, [rbp + 0x18]
mov qword [rbp + 0x168], rax
lea rcx, [0x140295158]
lea rdx, [rbp + 0x168]
lea r8, [0x1400c9220]
call fcn.140090668
jmp 0x1400a6a38
lea rax, [rbp + 0x1f0]
lea rcx, [rbp + 0x168]
mov qword [rcx], rax
lea rdx, [rbp - 0x10]
mov qword [rdx], rcx
lea rcx, [0x140295158]
lea r8, [0x1400c9220]
call fcn.140090668
jmp 0x1400a6d4b
int3
int3
int3
movabs rcx, 0xaaaaaaaaaaaaaaaa
lea rbx, [rbp + 0x30]
mov qword [rbx + 0x10], rcx
movaps xmm0, xmmword [0x140257270]
movaps xmmword [rbx], xmm0
lea rcx, [0x140257b8b]
lea r8, [rbp + 0x1f0]
mov qword [r8], rcx
mov qword [r8 + 8], 1
lea r15, [rax + 0x18]
movzx ecx, byte [rax + 0x2f]
test cl, cl
mov rsi, qword [rax + 0x18]
cmovns rsi, r15
lea rdx, [rbp + 0x1c0]
mov qword [rdx], rsi
cmovs rcx, qword [rax + 0x20]
mov qword [rdx + 8], rcx
mov dword [rsp + 0x20], 1
mov rcx, rbx
xor r9d, r9d
call fcn.140017960
mov rdx, qword [rbx]
mov rbx, qword [rbx + 8]
lea r12, [rbp + 0x18]
lea r9, [rbp + 0x170]
mov rcx, r12
mov r8, rbx
call fcn.140183b40
cmp qword [r12], rbx
je 0x1400a7a56
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x1400a7a43
mov qword [rbp + 0x38], rcx
call fcn.1400c9cac
mov r15, qword [rbp + 0x1e8]
mov rbx, qword [rbp + 0x1d8]
jmp 0x1400a7466
mov rax, qword [rbp + 0x30]
cmp rax, qword [rbp + 0x38]
je 0x1400a7a6a
mov rcx, r15
mov dl, 0x2c
call fcn.140065b42
mov rcx, r15
mov rdx, rdi
call fcn.1400afa0c
jmp 0x1400a7a31
mov rcx, qword [rbp + 0x60]
call fcn.1400c9cac
jmp 0x1400a7635