Function at 0x1400b22b0
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 8]
sub rsp, 0x108
mov rax, qword [0x1402a7d08]
xor rax, rsp
mov qword [rbp - 8], rax
mov r13, r9
mov rdi, r8
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x38], rdx
mov r15, rcx
mov qword [rsp + 0x30], rcx
lea rax, [0x1402aa8a0]
mov rcx, qword [0x1402aa8a0]
cmp rcx, rax
je 0x1400b2341
test dword [rcx + 0x44], 0x4000
je 0x1400b2341
cmp byte [rcx + 0x41], 4
jb 0x1400b2341
mov edx, 0x23
lea rax, str.entry
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x1da
lea r9, str.D:qba1workspace2936SSE_Storage_NGSAImplementation_sourcecommonDatabaseDatabase.h
lea r8, [0x140232ec8]
mov rcx, qword [rcx + 0x38]
call fcn.1400971d0
xor esi, esi
mov r14d, esi
mov qword [rsp + 0x40], rsi
mov r12d, esi
movzx ebx, byte [rbp + 0x78]
movzx r9d, bl
mov r8, r13
mov rdx, rdi
mov rcx, r15
call fcn.1400b0130
cmp eax, 0x65
jne 0x1400b29b7
mov rdi, qword [rbp + 0x70]
lea rdx, str.Database::performQuery
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], rax
mov qword [rbp - 0x40], r15
mov word [rbp - 0x38], ax
mov qword [rbp - 0x30], rsi
mov byte [rbp - 0x20], 1
mov qword [rbp - 0x18], rdx
mov dword [rbp - 0x10], 0x1e6
lea r9, [0x14022e9d0]
mov r8d, 0x1e6
lea rcx, [rbp - 0x40]
call fcn.1400bc8e0
mov rcx, qword [0x1402b0640]
mov rax, qword [rcx]
mov rax, qword [rax + 0x80]
call qword [case.0x140047660.0]
mov ecx, eax
call qword [sym.imp.KERNEL32.DLL_TlsGetValue]
mov qword [rbp - 0x28], rax
test rax, rax
jne 0x1400b23fe
xor r8d, r8d
lea rdx, str.Retrieving_thread_context_failed._Queuing
lea rcx, [rbp - 0x40]
call fcn.1400bc870
jmp 0x1400b253c
mov esi, 0x65
lea rax, [0x1402b05f8]
mov qword [rbp - 0x70], rax
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov byte [rbp - 0x68], 1
cmp byte [rbp - 0x37], 0
je 0x1400b245a
mov rax, qword [0x1402b05e8]
test rax, rax
jne 0x1400b2445
lea rax, [rbp - 0x40]
mov qword [0x1402b05e0], rax
lea rax, [rbp - 0x40]
mov qword [0x1402b05e8], rax
jmp 0x1400b2491
lea rcx, [rbp - 0x40]
mov qword [rax + 0x10], rcx
lea rax, [rbp - 0x40]
mov qword [0x1402b05e8], rax
jmp 0x1400b2491
mov rax, qword [0x1402b05d8]
test rax, rax
jne 0x1400b247e
lea rax, [rbp - 0x40]
mov qword [0x1402b05d8], rax
lea rax, [rbp - 0x40]
mov qword [0x1402b05d0], rax
jmp 0x1400b2491
lea rcx, [rbp - 0x40]
mov qword [rax + 0x10], rcx
lea rax, [rbp - 0x40]
mov qword [0x1402b05d8], rax
mov rax, qword [0x1402b05b0]
inc rax
mov qword [0x1402b05b0], rax
cmp byte [0x1402b05c8], 0
jne 0x1400b24b6
lea rcx, [rbp - 0x40]
call fcn.14007e640
mov esi, eax
mov byte [rbp - 0x68], 0
lea rcx, [0x1402b05f8]
call qword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
cmp esi, 0x65
je 0x1400b24df
mov r8d, esi
lea rdx, str.Begin
lea rcx, [rbp - 0x40]
call fcn.1400bc870
lea r9, str.WAITTING
mov r8d, 0x1e6
lea rdx, str.Database::performQuery
lea rcx, [rbp - 0x40]
call fcn.1400bc8e0
mov rax, qword [rbp - 0x28]
mov edx, 0xffffffff
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
lea r9, str.ENTERED
mov r8d, 0x1e6
lea rdx, str.Database::performQuery
lea rcx, [rbp - 0x40]
call fcn.1400bc8e0
mov rax, qword [0x1402b05c0]
inc rax
mov qword [0x1402b05c0], rax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
mov rsi, qword [rax + 0xc8]
mov rcx, rsi
call fcn.1400ad770
mov rcx, rax
xorps xmm1, xmm1
test rax, rax
js 0x1400b2565
cvtsi2sd xmm1, rax
jmp 0x1400b2577
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2sd xmm1, rax
addsd xmm1, xmm1
movsd xmm0, qword [rsi + 0x58]
call fcn.1400fa7b0
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 8]
mov rsi, qword [rax]
movaps xmm2, xmm0
mov edx, 1
mov rcx, rsi
call fcn.14002aae0
test eax, eax
jne 0x1400b25d7
lea edx, [rax + 2]
movabs r8, 0x3fffffffffffffff
mov rcx, rsi
call fcn.14002ab90
test eax, eax
jne 0x1400b25d7
lea edx, [rax + 3]
mov r8d, 0x400
mov rcx, rsi
call fcn.14002ab90
test eax, eax
jne 0x1400b25d7
mov rcx, rsi
call fcn.14002afe0
cmp eax, 0x65
jne 0x1400b26c6
mov rcx, qword [r15 + 0x18]
call fcn.14016b380
movsxd r15, eax
mov rcx, qword [r13 + 8]
mov rax, qword [rcx]
cmp rax, r15
jae 0x1400b2602
mov qword [rcx], r15
mov rcx, qword [r13 + 8]
mov rax, qword [rcx]
sub rax, r15
mov qword [rcx], rax
mov byte [rbp - 0x38], 1
mov esi, 0x65
cmp byte [rbp - 0x20], 0
je 0x1400b263a
lea r9, str.COMMIT
mov r8d, dword [rbp - 0x10]
mov rdx, qword [rbp - 0x18]
lea rcx, [rbp - 0x40]
call fcn.1400bc8e0
mov rcx, qword [rbp - 0x40]
call fcn.1400bc140
mov esi, eax
lea rax, [0x1402b05f8]
mov qword [rbp - 0x60], rax
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov byte [rbp - 0x58], 1
lea rcx, [rbp - 0x40]
call fcn.14007e640
mov r14d, eax
mov byte [rbp - 0x58], 0
lea rcx, [0x1402b05f8]
call qword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
cmp esi, 0x65
je 0x1400b2687
mov r8d, esi
lea rdx, str.Commit
lea rcx, [rbp - 0x40]
call fcn.1400bc870
cmp r14d, 0x65
je 0x1400b26a1
mov r8d, r14d
lea rdx, str.Begin
lea rcx, [rbp - 0x40]
call fcn.1400bc870
nop
cmp r15, 0x400
mov r15, qword [rsp + 0x30]
jb 0x1400b287e
mov rax, qword [r13 + 8]
cmp qword [rax], 0
jne 0x1400b2897
jmp 0x1400b287e
mov byte [rbp - 0x38], 1
cmp byte [rbp - 0x20], 0
je 0x1400b2709
lea r9, str.ROLLBACK
mov r8d, dword [rbp - 0x10]
mov rdx, qword [rbp - 0x18]
lea rcx, [rbp - 0x40]
call fcn.1400bc8e0
mov rcx, qword [rbp - 0x40]
call fcn.1400bc6a0
cmp eax, 0x65
je 0x1400b2709
mov r8d, eax
lea rdx, str.Rollback
lea rcx, [rbp - 0x40]
call fcn.1400bc870
lea rax, [0x1402b05f8]
mov qword [rbp - 0x50], rax
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov byte [rbp - 0x48], 1
lea rcx, [rbp - 0x40]
call fcn.14007e640
mov esi, eax
mov byte [rbp - 0x48], 0
lea rcx, [0x1402b05f8]
call qword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
cmp esi, 0x65
je 0x1400b2756
mov r8d, esi
lea rdx, str.Begin
lea rcx, [rbp - 0x40]
call fcn.1400bc870
nop
mov rcx, qword [0x1402aa8a0]
lea rax, [0x1402aa8a0]
cmp rcx, rax
je 0x1400b27a8
test dword [rcx + 0x44], 0x4000
je 0x1400b27a8
cmp byte [rcx + 0x41], 3
jb 0x1400b27a8
mov edx, 0x23
lea rax, str.SQL_query_error._Stalling_execution
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x1f5
lea r9, str.D:qba1workspace2936SSE_Storage_NGSAImplementation_sourcecommonDatabaseDatabase.h
lea r8, [0x140232ec8]
mov rcx, qword [rcx + 0x38]
call fcn.1400971d0
mov rax, qword [r13 + 8]
mov rcx, qword [rax]
cmp r14, rcx
jne 0x1400b27b9
add r12d, r12d
jmp 0x1400b27c0
mov r12d, dword [r15 + 0x4f0]
cmp r14, rcx
cmovne r14, rcx
mov qword [rsp + 0x40], r14
cmp r12d, dword [r15 + 0x4f4]
jb 0x1400b2875
xor esi, esi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], si
xor r8d, r8d
lea rdx, [0x14025b7ec]
lea rcx, [rsp + 0x48]
call fcn.140007240
nop
mov rcx, qword [0x1402b0640]
mov rax, qword [rcx]
lea rdx, [rsp + 0x48]
mov rax, qword [rax + 0x98]
call qword [case.0x140047660.0]
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x1400b2862
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400b285d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400b29dd
call fcn.14013ff64
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], si
mov ecx, r12d
call qword [sym.imp.KERNEL32.DLL_Sleep]
movzx r9d, bl
mov r8, r13
mov rdx, qword [rsp + 0x68]
mov rcx, r15
call fcn.1400b0130
cmp eax, 0x65
jne 0x1400b28d2
cmp byte [rbp - 0x38], 0
jne 0x1400b28a7
lea rcx, [rbp - 0x40]
call fcn.140096910
nop
mov rax, qword [r13 + 8]
cmp qword [rax], 0
je 0x1400b29b7
lea rcx, [rdi + 0x58]
call fcn.1400d1af0
test al, al
jne 0x1400b29b7
mov r14, qword [rsp + 0x40]
xor esi, esi
jmp 0x1400b2371
mov rcx, qword [0x1402aa8a0]
lea rax, [0x1402aa8a0]
cmp rcx, rax
je 0x1400b2924
test dword [rcx + 0x44], 0x4000
je 0x1400b2924
cmp byte [rcx + 0x41], 2
jb 0x1400b2924
mov edx, 0x23
lea rax, str.Cannot_get_total_or_left_files_number
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x200
lea r9, str.D:qba1workspace2936SSE_Storage_NGSAImplementation_sourcecommonDatabaseDatabase.h
lea r8, [0x140232ec8]
mov rcx, qword [rcx + 0x38]
call fcn.1400971d0
xor eax, eax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], 7
mov word [rsp + 0x70], ax
xor r8d, r8d
lea rdx, [0x14025b7ec]
lea rcx, [rsp + 0x70]
call fcn.140007240
nop
mov rcx, qword [0x1402b0640]
mov rax, qword [rcx]
lea rdx, [rsp + 0x70]
mov rax, qword [rax + 0x98]
call qword [case.0x140047660.0]
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 8
jb 0x1400b29a7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400b29a1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400b29d7
call fcn.14013ff64
nop
cmp byte [rbp - 0x38], 0
jne 0x1400b29b7
lea rcx, [rbp - 0x40]
call fcn.140096910
nop
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.140140100
add rsp, 0x108
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1400e0284
nop
call fcn.1400e0284
int3