Function at 0x100116bd0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x370
mov qword [rsp + 0x238], 0xfffffffffffffffe
mov r12d, edx
mov r13, rcx
mov rsi, qword [rcx + 0x68]
xor edi, edi
cmp rsi, 0xffffffffffffffff
je 0x100116c29
nop word [rax + rax]
mov rax, rsi
lock cmpxchg qword [rcx + 0x68], rdi
je 0x100116c25
mov rsi, qword [rcx + 0x68]
cmp rsi, 0xffffffffffffffff
jne 0x100116c10
cmp rsi, 0xffffffffffffffff
cmove rsi, rdi
mov dword [rsp + 0x50], edi
mov dword [rsp + 0x54], edi
mov dword [rsp + 0x5c], edi
mov dword [rsp + 0x40], edi
mov qword [rsp + 0xc8], rdi
mov dword [rcx + 0xc], 1
cmp qword [rcx], 0
jne 0x100116c5e
mov qword [rcx], r8
add rcx, 8
call fcn.100115bc0
mov r15, qword [r13 + 0x70]
mov qword [rsp + 0x80], rdi
mov dword [rsp + 0x88], edi
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], r15
mov rcx, r15
test rsi, rsi
je 0x100116c94
mov qword [rsp + 0x68], rsi
call fcn.1000e4820
jmp 0x100116cae
call fcn.1000e4770
mov rbx, rax
mov qword [rsp + 0x68], rax
mov rcx, r15
call fcn.1000e4820
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rax
test rsi, rsi
cmove rsi, qword [rsp + 0x68]
mov qword [rsp + 0x30], rsi
mov r14, rsi
test rsi, rsi
je 0x100116cd2
lock inc dword [rsi + 0x50]
mov rsi, qword [rsp + 0x30]
mov dword [rsp + 0x38], edi
test r12d, r12d
je 0x100116e36
or eax, 0xffffffff
test rsi, rsi
je 0x100116e36
cmp qword [r13], 0
jbe 0x100116e36
inc dword [rsp + 0x38]
mov rsi, rdi
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x100116e11
cmp rcx, qword [rsp + 0x70]
je 0x100116dd8
call fcn.100064800
mov edx, eax
xor eax, eax
lock cmpxchg dword [r15 + 0x10], edx
mov ecx, edi
sete cl
test ecx, ecx
jne 0x100116d37
lea rcx, [r15 + 0x10]
call fcn.1000de1b0
mov r8, qword [rsp + 0x30]
mov rsi, qword [r8 + 0x48]
cmp rsi, r15
je 0x100116d50
test rsi, rsi
je 0x100116d50
add rsi, 0xffffffffffffffc0
jmp 0x100116d53
mov rsi, rdi
test rsi, rsi
je 0x100116d99
mov ecx, dword [rsi + 0x50]
test ecx, ecx
je 0x100116d7d
nop
lea edx, [rcx + 1]
mov eax, ecx
lock cmpxchg dword [rsi + 0x50], edx
cmp ecx, eax
je 0x100116d79
pause
mov ecx, dword [rsi + 0x50]
test ecx, ecx
jne 0x100116d60
jmp 0x100116d7d
test edx, edx
jne 0x100116d99
mov rsi, qword [rsi + 0x48]
cmp rsi, r15
je 0x100116d91
test rsi, rsi
je 0x100116d91
add rsi, 0xffffffffffffffc0
jmp 0x100116d94
mov rsi, rdi
test rsi, rsi
jne 0x100116d58
mov dword [r15 + 0x10], edi
mov qword [rsp + 0x68], rsi
or eax, 0xffffffff
lock xadd dword [r8 + 0x50], eax
dec eax
jne 0x100116e11
cmp qword [r8 + 0x48], 0
je 0x100116dd0
mov rbx, r8
mov rdx, r8
mov rcx, qword [r8 + 0x58]
call fcn.1000e4670
mov r11, qword [rbx]
mov rcx, rbx
call qword [r11]
jmp 0x100116e11
mov rcx, r8
mov rax, qword [r8]
jmp 0x100116e0f
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x68], rdi
lock xadd dword [rcx + 0x50], eax
dec eax
jne 0x100116e11
cmp qword [rcx + 0x48], 0
je 0x100116e0c
mov rbx, rcx
mov rdx, rcx
mov rcx, qword [rcx + 0x58]
call fcn.1000e4670
mov r11, qword [rbx]
mov rcx, rbx
call qword [r11]
jmp 0x100116e11
mov rax, qword [rcx]
call qword [rax]
mov qword [rsp + 0x30], rsi
mov rax, qword [r13]
dec rax
mov qword [r13], rax
cmp dword [rsp + 0x38], r12d
mov eax, 0xffffffff
jb 0x100116ce2
or r12d, eax
jmp 0x100116e3a
or r12d, 0xffffffff
mov r15, rsi
mov qword [rsp + 0x128], rsi
test rsi, rsi
je 0x100116e53
lock inc dword [rsi + 0x50]
mov rsi, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x100116e99
mov eax, r12d
lock xadd dword [rcx + 0x50], eax
dec eax
jne 0x100116e8f
cmp qword [rcx + 0x48], 0
je 0x100116e8a
mov rbx, rcx
mov rdx, rcx
mov rcx, qword [rcx + 0x58]
call fcn.1000e4670
mov r11, qword [rbx]
mov rcx, rbx
call qword [r11]
jmp 0x100116e8f
mov rax, qword [rcx]
call qword [rax]
mov qword [rsp + 0x68], rdi
mov rsi, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x100116edf
mov eax, r12d
lock xadd dword [rcx + 0x50], eax
dec eax
jne 0x100116ed5
cmp qword [rcx + 0x48], 0
je 0x100116ed0
mov rbx, rcx
mov rdx, rcx
mov rcx, qword [rcx + 0x58]
call fcn.1000e4670
mov r11, qword [rbx]
mov rcx, rbx
call qword [r11]
jmp 0x100116ed5
mov rax, qword [rcx]
call qword [rax]
mov qword [rsp + 0x70], rdi
mov rsi, qword [rsp + 0x30]
mov qword [rsp + 0x78], rdi
test rsi, rsi
je 0x100116f59
cmp qword [r13], 0
je 0x100116f59
lock inc dword [rsi + 0x50]
mov rdx, qword [r13 + 0x68]
cmp rdx, 0xffffffffffffffff
je 0x100116f22
nop
mov rcx, qword [rsp + 0x30]
mov rax, rdx
lock cmpxchg qword [r13 + 0x68], rcx
je 0x100116f1c
mov rdx, qword [r13 + 0x68]
cmp rdx, 0xffffffffffffffff
jne 0x100116f00
jmp 0x100116f22
cmp rdx, 0xffffffffffffffff
jne 0x100116f61
mov rcx, qword [rsp + 0x30]
mov eax, r12d
lock xadd dword [rcx + 0x50], eax
dec eax
jne 0x100116f59
cmp qword [rcx + 0x48], 0
je 0x100116f54
mov rbx, rcx
mov rdx, rcx
mov rcx, qword [rcx + 0x58]
call fcn.1000e4670
mov r11, qword [rbx]
mov rcx, rbx
call qword [r11]
jmp 0x100116f59
mov rax, qword [rcx]
call qword [rax]
mov dword [rsp + 0x40], 0xa
mov rcx, qword [rsp + 0x3d0]
mov rax, qword [rcx]
mov dword [rax], edi
mov dword [rcx + 8], edi
xor edx, edx
lea rax, [fcn.100062040]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rcx, [rsp + 0x330]
call fcn.10005b410
nop
mov r8, r14
mov rdx, qword [r13 + 0x70]
lea rcx, [rsp + 0xd8]
call fcn.10011a7a0
nop
mov dword [rsp + 0x38], edi
mov rsi, qword [rsp + 0x3c8]
mov qword [rsp + 0x30], r14
cmp r14, r15
je 0x1001174ef
mov rax, qword [r14 + 0x20]
mov qword [rsp + 0x320], rax
test rsi, rax
jne 0x100116fe0
jmp 0x10011723a
mov r14, qword [rsp + 0x30]
nop dword [rax]
mov rax, qword [r14 + 0x18]
mov qword [rsp + 0x328], rax
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x248], rax
mov rax, qword [r13 + 0x70]
add rax, 0x18
mov qword [rsp + 0xa8], rax
mov eax, dword [rsp + 0x48]
mov ebx, edi
cmp eax, 1
setne bl
mov dword [rsp + 0x58], ebx
mov rax, qword [rsp + 0xa8]
cmp qword [rax], 0
je 0x1001170c6
test ebx, ebx
je 0x100117076
mov rax, qword [rax]
test byte [rax + 0xc], 8
je 0x1001170c6
mov eax, dword [rsp + 0x48]
mov ebx, dword [rsp + 0x58]
test eax, eax
je 0x1001170c6
mov rdx, qword [rsp + 0x30]
add rdx, 8
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rax]
mov rax, qword [rcx]
xor r9d, r9d
mov r8d, ebx
call qword [rax + 0x10]
mov dword [rsp + 0xbc], eax
jmp 0x1001170c6
mov r10, qword [rax]
test byte [r10 + 0xc], 4
je 0x1001170ce
mov rdx, qword [rsp + 0x30]
add rdx, 8
mov r10, qword [r10]
mov eax, dword [rsp + 0x4c]
mov r9d, edi
test eax, eax
sete r9b
xor r8d, r8d
mov rcx, qword [rsp + 0xa8]
mov rcx, qword [rcx]
call qword [r10 + 0x10]
mov dword [rsp + 0xbc], eax
cmp eax, 0x80000000
jne 0x1001170ce
mov dword [rsp + 0x58], 1
jmp 0x100117236
test ebx, ebx
jne 0x100117236
mov eax, dword [rsp + 0x4c]
test eax, eax
jne 0x1001171c6
lea rax, [rsp + 0x48]
mov qword [rsp + 0x300], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x98], rax
or dword [rsp + 0x98], 0x80000000
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x1f0], rax
mov rcx, rax
mov rax, qword [rsp + 0x1a0]
lock cmpxchg qword [r14 + 0x18], rcx
jne 0x1001171b6
mov dword [rsp + 0xc0], edi
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx + 0x38]
mov qword [rsp + 0x258], rax
add qword [rsp + 0xc8], rax
add rcx, 0x40
mov qword [rsp + 0x218], rcx
mov eax, r12d
lock xadd dword [rcx + 0x10], eax
dec eax
mov dword [rsp + 0x228], eax
jne 0x1001171ad
mov rcx, qword [rsp + 0x218]
cmp qword [rcx + 8], 0
je 0x1001171a4
lea rbx, [rcx - 0x40]
mov qword [rsp + 0x2c8], rbx
mov rdx, rbx
mov rcx, qword [rcx + 0x18]
call fcn.1000e4670
mov r11, qword [rbx]
mov rcx, rbx
call qword [r11]
jmp 0x1001171ad
add rcx, 0xffffffffffffffc0
mov rax, qword [rcx]
call qword [rax]
inc dword [rsp + 0x5c]
jmp 0x100117236
mov dword [rsp + 0xc0], 0x80000000
jmp 0x100116fd8
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x60], rax
shr dword [rsp + 0x64], 1
lea rax, [rsp + 0x48]
mov qword [rsp + 0x268], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x308], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x200], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x1b0], rax
mov rcx, rax
mov rax, qword [rsp + 0x200]
lock cmpxchg qword [r14 + 0x18], rcx
jne 0x100117227
mov dword [rsp + 0xb8], edi
jmp 0x100116fd8
mov dword [rsp + 0xb8], 0x80000000
inc dword [rsp + 0x54]
inc dword [rsp + 0x50]
inc dword [rsp + 0x38]
mov qword [rsp + 0x118], rdi
mov rcx, qword [rsp + 0xd8]
test rcx, rcx
je 0x1001174e2
cmp rcx, qword [rsp + 0xe0]
je 0x100117470
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x108], rax
lea rbx, [rax + 0x10]
mov qword [rsp + 0x1c0], rbx
call fcn.100064800
mov r11d, eax
mov dword [rsp + 0xd0], eax
mov dword [rsp + 0x22c], edi
xor eax, eax
lock cmpxchg dword [rbx], r11d
mov dword [rsp + 0x150], eax
mov eax, edi
sete al
mov dword [rsp + 0x1d0], eax
test eax, eax
jne 0x1001172d4
mov dword [rsp + 0x160], 1
mov edx, dword [rsp + 0xd0]
mov rcx, qword [rsp + 0x1c0]
call fcn.1000de1b0
mov rcx, qword [rsp + 0x30]
add rcx, 0x40
mov qword [rsp + 0x278], rcx
mov rax, qword [rsp + 0xe8]
cmp qword [rcx + 8], rax
jne 0x1001172fd
mov qword [rsp + 0x120], rdi
jmp 0x10011730e
mov rax, qword [rcx + 8]
mov qword [rsp + 0x120], rax
test rax, rax
jne 0x100117313
mov rax, rdi
jmp 0x100117317
add rax, 0xffffffffffffffc0
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x188], rax
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x1001173fd
lea rdx, [rax + 0x40]
mov qword [rsp + 0x178], rdx
nop word [rax + rax]
mov eax, dword [rdx + 0x10]
mov dword [rsp + 0x3b8], eax
test eax, eax
jne 0x100117367
mov dword [rsp + 0xb0], edi
jmp 0x100117391
lea ecx, [rax + 1]
mov dword [rsp + 0xd4], ecx
lock cmpxchg dword [rdx + 0x10], ecx
cmp dword [rsp + 0x3b8], eax
jne 0x1001173ee
mov eax, dword [rsp + 0xd4]
mov dword [rsp + 0xb0], eax
test eax, eax
jne 0x1001173e4
mov rcx, qword [rsp + 0xa0]
add rcx, 0x40
mov qword [rsp + 0x2d8], rcx
mov rax, qword [rsp + 0x108]
cmp qword [rcx + 8], rax
jne 0x1001173bd
mov qword [rsp + 0x158], rdi
jmp 0x1001173ce
mov rax, qword [rcx + 8]
mov qword [rsp + 0x158], rax
test rax, rax
jne 0x1001173d3
mov rax, rdi
jmp 0x1001173d7
add rax, 0xffffffffffffffc0
mov qword [rsp + 0x168], rax
jmp 0x100117327
mov rax, qword [rsp + 0xa0]
jmp 0x1001173fd
pause
mov rdx, qword [rsp + 0x178]
jmp 0x100117350
mov qword [rsp + 0x188], rax
mov rcx, qword [rsp + 0x108]
add rcx, 0x10
mov qword [rsp + 0x288], rcx
mov dword [rcx], edi
mov qword [rsp + 0x118], rax
mov qword [rsp + 0xd8], rax
mov rcx, qword [rsp + 0x30]
add rcx, 0x40
mov qword [rsp + 0x198], rcx
mov eax, r12d
lock xadd dword [rcx + 0x10], eax
dec eax
mov dword [rsp + 0x210], eax
jne 0x1001174e2
mov rcx, qword [rsp + 0x198]
cmp qword [rcx + 8], 0
je 0x1001174d9
lea rbx, [rcx - 0x40]
mov qword [rsp + 0x310], rbx
jmp 0x1001174c2
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x298], rax
mov qword [rsp + 0xd8], rdi
lea rcx, [rax + 0x40]
mov qword [rsp + 0x1a8], rcx
mov eax, r12d
lock xadd dword [rcx + 0x10], eax
dec eax
mov dword [rsp + 0x170], eax
jne 0x1001174e2
mov rcx, qword [rsp + 0x1a8]
cmp qword [rcx + 8], 0
je 0x1001174d9
lea rbx, [rcx - 0x40]
mov qword [rsp + 0x2e8], rbx
mov rdx, rbx
mov rcx, qword [rcx + 0x18]
call fcn.1000e4670
mov r11, qword [rbx]
mov rcx, rbx
call qword [r11]
jmp 0x1001174e2
add rcx, 0xffffffffffffffc0
mov rax, qword [rcx]
call qword [rax]
mov r14, qword [rsp + 0x118]
jmp 0x100116fb4
mov rcx, qword [rsp + 0xd8]
test rcx, rcx
je 0x100117642
add rcx, 0x40
mov qword [rsp + 0x1b8], rcx
mov eax, r12d
lock xadd dword [rcx + 0x10], eax
dec eax
mov dword [rsp + 0x1e0], eax
jne 0x10011763a
mov rcx, qword [rsp + 0x1b8]
cmp qword [rcx + 8], 0
je 0x100117631
lea rax, [rcx - 0x40]
mov qword [rsp + 0x110], rax
mov rax, qword [rcx + 0x18]
mov qword [rsp + 0x1d8], rax
mov qword [rsp + 0x2a8], rax
lea rbx, [rax + 0x10]
mov qword [rsp + 0x1c8], rbx
call fcn.100064800
mov r11d, eax
mov dword [rsp + 0xb4], eax
mov dword [rsp + 0x180], edi
xor eax, eax
lock cmpxchg dword [rbx], r11d
mov dword [rsp + 0x224], eax
mov eax, edi
sete al
mov dword [rsp + 0x190], eax
test eax, eax
jne 0x1001175b5
mov dword [rsp + 0x13c], 1
mov edx, dword [rsp + 0xb4]
mov rcx, qword [rsp + 0x1c8]
call fcn.1000de1b0
mov r8, qword [rsp + 0x110]
lea rdx, [r8 + 0x40]
mov qword [rsp + 0x318], rdx
mov rcx, qword [rdx + 8]
mov qword [rsp + 0x2b8], rcx
mov rax, qword [rdx]
mov qword [rsp + 0x240], rax
mov qword [rax + 8], rcx
mov qword [rcx], rax
mov qword [rdx + 8], rdi
mov qword [rdx], rdi
mov rcx, qword [rsp + 0x1d8]
dec dword [rcx + 0x14]
mov qword [rsp + 0x250], rbx
mov dword [rbx], edi
mov qword [r8 + 0x58], rdi
mov rax, qword [r8 + 0x38]
mov qword [rsp + 0x260], rax
neg rax
mov qword [rsp + 0x270], rax
lock xadd qword [rcx + 0x158], rax
mov rcx, qword [rsp + 0x110]
jmp 0x100117635
add rcx, 0xffffffffffffffc0
mov rax, qword [rcx]
call qword [rax]
mov qword [rsp + 0xd8], rdi
mov rcx, qword [rsp + 0xe0]
test rcx, rcx
je 0x100117795
add rcx, 0x40
mov qword [rsp + 0x1e8], rcx
mov eax, r12d
lock xadd dword [rcx + 0x10], eax
dec eax
mov dword [rsp + 0x230], eax
jne 0x10011778d
mov rcx, qword [rsp + 0x1e8]
cmp qword [rcx + 8], 0
je 0x100117784
lea rax, [rcx - 0x40]
mov qword [rsp + 0x100], rax
mov rax, qword [rcx + 0x18]
mov qword [rsp + 0x208], rax
mov qword [rsp + 0x280], rax
lea rbx, [rax + 0x10]
mov qword [rsp + 0x1f8], rbx
call fcn.100064800
mov r11d, eax
mov dword [rsp + 0x90], eax
mov dword [rsp + 0x140], edi
xor eax, eax
lock cmpxchg dword [rbx], r11d
mov dword [rsp + 0x214], eax
mov eax, edi
sete al
mov dword [rsp + 0x138], eax
test eax, eax
jne 0x100117708
mov dword [rsp + 0x220], 1
mov edx, dword [rsp + 0x90]
mov rcx, qword [rsp + 0x1f8]
call fcn.1000de1b0
mov r8, qword [rsp + 0x100]
lea rdx, [r8 + 0x40]
mov qword [rsp + 0x290], rdx
mov rcx, qword [rdx + 8]
mov qword [rsp + 0x2a0], rcx
mov rax, qword [rdx]
mov qword [rsp + 0x2b0], rax
mov qword [rax + 8], rcx
mov qword [rcx], rax
mov qword [rdx + 8], rdi
mov qword [rdx], rdi
mov rcx, qword [rsp + 0x208]
dec dword [rcx + 0x14]
mov qword [rsp + 0x2c0], rbx
mov dword [rbx], edi
mov qword [r8 + 0x58], rdi
mov rax, qword [r8 + 0x38]
mov qword [rsp + 0x2d0], rax
neg rax
mov qword [rsp + 0x2e0], rax
lock xadd qword [rcx + 0x158], rax
mov rcx, qword [rsp + 0x100]
jmp 0x100117788
add rcx, 0xffffffffffffffc0
mov rax, qword [rcx]
call qword [rax]
mov qword [rsp + 0xe0], rdi
mov rcx, qword [rsp + 0xf0]
test rcx, rcx
je 0x1001177bd
mov edx, dword [rsp + 0xf8]
call fcn.1001047d0
mov qword [rsp + 0xf0], rdi
mov dword [rsp + 0xf8], edi
mov qword [rsp + 0xe8], rdi
lea rcx, [rsp + 0x330]
call fcn.10005b4f0
nop
jmp 0x1001177eb
call fcn.100068a00
mov rsi, rax
mov rbx, qword gs:[0x30]
add rbx, rax
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x100117816
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
test rbx, rbx
je 0x100117827
mov rax, qword [rbx + 0xd8]
test rax, rax
jne 0x10011785e
call fcn.100063d30
call fcn.100068a00
mov rsi, rax
mov rbx, qword gs:[0x30]
add rbx, rax
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x100117857
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
mov rax, qword [rbx + 0xd8]
cmp dword [rax + 0x204], 0
je 0x10011786c
call fcn.1000618f0
test r15, r15
je 0x1001178d9
lock xadd dword [r15 + 0x50], r12d
dec r12d
jne 0x1001178d9
cmp qword [r15 + 0x48], 0
je 0x1001178d1
mov rsi, qword [r15 + 0x58]
call fcn.100064800
mov edx, eax
xor eax, eax
lock cmpxchg dword [rsi + 0x10], edx
je 0x1001178a0
lea rcx, [rsi + 0x10]
call fcn.1000de1b0
mov rdx, qword [r15 + 0x48]
mov rax, qword [r15 + 0x40]
mov qword [rax + 8], rdx
mov qword [rdx], rax
mov qword [r15 + 0x48], rdi
mov qword [r15 + 0x40], rdi
dec dword [rsi + 0x14]
mov dword [rsi + 0x10], edi
mov qword [r15 + 0x58], rdi
mov rax, qword [r15 + 0x38]
neg rax
lock xadd qword [rsi + 0x158], rax
mov rax, qword [r15]
mov rcx, r15
call qword [rax]
mov ecx, dword [rsp + 0x5c]
mov eax, ecx
lock xadd qword [r13 + 0x10], rax
lock xadd qword [r13 + 0x40], rcx
mov eax, dword [rsp + 0x54]
lock xadd qword [r13 + 0x28], rax
mov ecx, dword [rsp + 0x50]
lock xadd qword [r13 + 0x30], rcx
call fcn.10011b7d0
test eax, eax
je 0x100117920
lea rcx, [rsp + 0x130]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov r11, qword [rsp + 0x130]
jmp 0x100117928
mov r11, qword [0x7ffe0008]
mov qword [r13 + 0x50], r11
call fcn.100068a00
mov rdi, rax
mov rbx, qword gs:[0x30]
add rbx, rax
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x100117957
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
test rbx, rbx
je 0x100117968
mov rcx, qword [rbx + 0xd8]
test rcx, rcx
jne 0x10011799f
call fcn.100063d30
call fcn.100068a00
mov rdi, rax
mov rbx, qword gs:[0x30]
add rbx, rax
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x100117998
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
mov rcx, qword [rbx + 0xd8]
rdtsc
shl rdx, 0x20
or rax, rdx
mov r8, qword [rcx + 0x2f8]
cmp rax, r8
ja 0x1001179d9
mov rdx, r8
sub rdx, rax
mov rax, qword [rcx + 0x218]
cmp rdx, qword [rax + 0xab0]
jbe 0x1001179de
movabs rax, 0x7fffffffffffffff
cmp r8, rax
je 0x1001179de
call fcn.1000655c0
mov rcx, qword [rsp + 0x3d8]
test rcx, rcx
je 0x1001179f6
mov rax, qword [rsp + 0xc8]
mov qword [rcx], rax
mov eax, dword [rsp + 0x40]
add rsp, 0x370
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret