joyce8/EMBER2024-capa huggingface dataset:
Function at 0x18000770c
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
lea rbp, [rsp - 0x150]
sub rsp, 0x250
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x140], rax
mov edi, 0x104
lea rdx, [rsp + 0x30]
mov r8d, edi
lea rcx, [0x180022ae8]
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
xor ebx, ebx
test eax, eax
je 0x1800077b2
mov r8d, eax
lea rdx, [rsp + 0x30]
lea rcx, [0x180022ae8]
call fcn.180007980
test rax, rax
je 0x1800077b2
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x30]
call fcn.180007c4c
test rax, rax
je 0x1800077a1
cmp word [rax], bx
jne 0x1800077a1
mov eax, dword [rsp + 0x20]
test eax, eax
jle 0x1800077a1
lea ecx, [rbx + 0x40]
cmp eax, ecx
cmovg eax, ecx
mov dword [0x180028afc], eax
jmp 0x1800077b2
lea rdx, str.OMP_NUM_THREADS
mov ecx, 0x7df
call fcn.1800013b0
mov r8d, edi
lea rdx, [rsp + 0x30]
lea rcx, [0x180022b08]
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x18000782f
mov r8d, eax
lea rdx, [rsp + 0x30]
lea rcx, [0x180022b08]
call fcn.180007980
test rax, rax
je 0x18000782f
lea rdx, str.active
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x1800077fe
mov al, 1
jmp 0x180007816
lea rdx, str.passive
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x18000781e
mov al, bl
mov byte [0x18002791c], al
jmp 0x18000782f
lea rdx, str.OMP_WAIT_POLICY
mov ecx, 0x7e3
call fcn.1800013b0
mov r8d, edi
lea rdx, [rsp + 0x30]
lea rcx, [0x180022b28]
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x18000786b
mov r8d, eax
lea rdx, [rsp + 0x30]
lea rcx, [0x180022b28]
call fcn.180007980
test rax, rax
je 0x18000786b
lea rcx, [rsp + 0x30]
call fcn.180007a64
mov r8d, edi
lea rdx, [rsp + 0x30]
lea rcx, [0x180022b48]
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x1800078e2
mov r8d, eax
lea rdx, [rsp + 0x30]
lea rcx, [0x180022b48]
call fcn.180007980
test rax, rax
je 0x1800078e2
lea rdx, str.TRUE
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x1800078bc
mov byte [0x180028af9], 1
jmp 0x1800078e2
lea rdx, [0x180028af9]
lea rcx, [rsp + 0x30]
call fcn.180007be8
test al, al
jne 0x1800078e2
lea rdx, str.OMP_DYNAMIC
mov ecx, 0x7dd
call fcn.1800013b0
mov r8d, edi
lea rdx, [rsp + 0x30]
lea rcx, [0x180022b78]
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x180007959
mov r8d, eax
lea rdx, [rsp + 0x30]
lea rcx, [0x180022b78]
call fcn.180007980
test rax, rax
je 0x180007959
lea rdx, str.TRUE
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x180007933
mov byte [0x180028afa], 1
jmp 0x180007959
lea rdx, [0x180028afa]
lea rcx, [rsp + 0x30]
call fcn.180007be8
test al, al
jne 0x180007959
lea rdx, str.OMP_NESTED
mov ecx, 0x7dd
call fcn.1800013b0
mov rcx, qword [rbp + 0x140]
xor rcx, rsp
call fcn.18000abd0
lea r11, [rsp + 0x250]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret
Function at 0x180007e0c
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
call fcn.180005c60
mov rsi, rax
mov rax, qword [rax + 0x20]
cmp byte [rsi + 0x30], 0
mov rbx, qword [rsi + 0x28]
mov ebp, dword [rax + 4]
jne 0x180007f33
cmp dword [rsi], 0
jne 0x180007e4c
cmp dword [rax + 8], 0
jne 0x180007f45
cmp qword [rsi + 0x40], 0
jne 0x180007f5e
mov rax, qword [rbx + 0x10]
test rax, rax
jne 0x180007edc
lea ecx, [rax + 0x30]
call fcn.180001ac0
mov rdi, rax
test rax, rax
je 0x180007ea7
lea rax, [0x1800231f0]
mov qword [rdi], rax
lea rax, [0x180023580]
mov qword [rdi], rax
lea eax, [rbp - 1]
mov dword [rdi + 8], ebp
mov qword [rdi + 0x10], 0
and qword [rdi + 0x28], 0
mov dword [rdi + 0x18], eax
mov dword [rdi + 0x1c], 0
mov byte [rdi + 0x20], 0
jmp 0x180007ea9
xor edi, edi
mov rax, qword [rbx + 0x10]
test rax, rax
jne 0x180007ebf
lock cmpxchg qword [rbx + 0x10], rdi
sete dl
test dl, dl
jne 0x180007edc
test rdi, rdi
je 0x180007edc
mov rax, qword [rdi]
mov rbx, qword [rax]
mov rcx, rbx
call fcn.1800196e8
mov edx, 1
mov rcx, rdi
call rbx
mov rax, qword [rsi + 0x28]
mov rdi, qword [rax + 0x10]
mov qword [rsi + 0x28], rdi
mov byte [rsi + 0x30], 1
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
mov rcx, rbx
call fcn.1800196e8
mov rcx, rdi
call rbx
cmp eax, 9
jne 0x180007f21
mov rcx, rsi
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
jmp fcn.180005bd4
lea rdx, str.pragma_omp_barrier
mov ecx, 0xbbd
call fcn.1800013e8
int3
lea rdx, [0x180022c98]
mov ecx, 0xbba
call fcn.1800013e8
int3
lea r8, str.pragma_omp_master
mov ecx, 0xbbb
lea rdx, [0x180022cf8]
call fcn.1800013e8
int3
lea r8, [0x180022d28]
mov ecx, 0xbbb
lea rdx, [0x180022d58]
call fcn.1800013e8
int3
Function at 0x180007f78
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
call fcn.180005c60
mov rsi, rax
mov ebp, 2
mov rcx, qword [rax + 0x20]
mov rbx, qword [rax + 0x28]
mov r14d, dword [rcx + 4]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
jne 0x180008036
lea ecx, [rbp + 0x36]
call fcn.180001ac0
mov rdi, rax
test rax, rax
je 0x180008001
lea rax, [0x1800231f0]
mov qword [rdi], rax
lea ecx, [r14 - 1]
mov dword [rdi + 8], r14d
lea rax, [0x180023560]
mov qword [rdi], rax
xor eax, eax
mov qword [rdi + 0x10], 0
cmp r14d, 1
mov dword [rdi + 0x18], ecx
cmove eax, ebp
mov byte [rdi + 0x20], 0
and qword [rdi + 0x28], 0
mov dword [rdi + 0x1c], eax
mov dword [rdi + 0x30], ecx
jmp 0x180008003
xor edi, edi
mov rax, qword [rbx + 0x10]
test rax, rax
jne 0x180008019
lock cmpxchg qword [rbx + 0x10], rdi
sete dl
test dl, dl
jne 0x180008036
test rdi, rdi
je 0x180008036
mov rax, qword [rdi]
mov rbx, qword [rax]
mov rcx, rbx
call fcn.1800196e8
mov edx, 1
mov rcx, rdi
call rbx
mov rax, qword [rsi + 0x28]
mov rcx, qword [rax + 0x10]
cmp dword [rsi], 0
mov qword [rsi + 0x28], rcx
mov byte [rsi + 0x30], 1
lea rbx, [rcx + 0x18]
jne 0x180008059
mov rcx, rbx
call fcn.180001b58
jmp 0x180008089
or eax, 0xffffffff
lock xadd dword [rbx], eax
cmp eax, 1
jne 0x180008089
xchg dword [rbx + 4], ebp
cmp ebp, eax
jne 0x180008089
jmp 0x180008074
call qword [sym.imp.KERNEL32.dll_SwitchToThread]
cmp qword [rbx + 0x10], 0
je 0x18000806e
mov rcx, qword [rbx + 0x10]
mov byte [rbx + 8], 1
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, rsi
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rdi
pop rsi
jmp fcn.180005bd4

Function at 0x1800080a4
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rbx, qword [rcx]
mov esi, 1
mov rdi, rcx
cmp rbx, rsi
ja 0x180008124
xor eax, eax
lock cmpxchg qword [rcx], rsi
jne 0x180008114
lea ecx, [rsi + 0x37]
call fcn.180001ac0
mov rbx, rax
test rax, rax
je 0x18000810d
and qword [rax + 0x30], 0
mov edx, 0xfa0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
mov rcx, qword [0x180028b20]
mov qword [rbx + 0x28], rcx
mov rax, rcx
lock cmpxchg qword [0x180028b20], rbx
cmp rcx, rax
jne 0x1800080ef
jmp 0x18000810f
xor ebx, ebx
mov qword [rdi], rbx
jmp 0x180008124
pause
call qword [sym.imp.KERNEL32.dll_SwitchToThread]
mov rbx, qword [rdi]
cmp rbx, rsi
je 0x180008114
mov ecx, dword [0x180027910]
cmp ecx, 0xffffffff
je 0x180008154
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x180008154
mov rcx, qword [rax + 0x40]
jmp 0x180008149
cmp rcx, rbx
je 0x18000817e
mov rcx, qword [rcx + 0x30]
test rcx, rcx
jne 0x180008140
mov rax, qword [rax + 0x18]
jmp 0x180008135
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call fcn.180005c60
mov rsi, qword [rsp + 0x40]
mov rcx, qword [rax + 0x40]
mov qword [rbx + 0x30], rcx
mov qword [rax + 0x40], rbx
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
lea rdx, str.pragma_omp_critical
mov ecx, 0xbb9
call fcn.1800013e8
int3
Function at 0x180008190
Capabilities:
Get thread local storage value

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov ecx, dword [0x180027910]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rbx
mov rdx, qword [rax + 0x40]
mov r8, qword [rdx + 0x30]
mov qword [rax + 0x40], r8
add rsp, 0x20
pop rbx
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x1800081d4
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
movsx ebx, dl
lea rcx, [0x180028b28]
call sym.VCOMP140D.DLL_qvcomp_enter_critsect
mov r8b, byte [rdi]
mov ecx, dword [0x180027910]
add r8d, ebx
mov byte [rdi], r8b
mov rbx, qword [0x180028b28]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rbx
mov rdx, qword [rax + 0x40]
mov r8, qword [rdx + 0x30]
mov qword [rax + 0x40], r8
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x18000822c
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
movsx ebx, dl
lea rcx, [0x180028b28]
call sym.VCOMP140D.DLL_qvcomp_enter_critsect
mov r8b, byte [rdi]
mov ecx, dword [0x180027910]
sub r8d, ebx
mov byte [rdi], r8b
mov rbx, qword [0x180028b28]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rbx
mov rdx, qword [rax + 0x40]
mov r8, qword [rdx + 0x30]
mov qword [rax + 0x40], r8
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x180008284
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
movsx ebx, dl
lea rcx, [0x180028b28]
call sym.VCOMP140D.DLL_qvcomp_enter_critsect
mov r8b, byte [rdi]
mov ecx, dword [0x180027910]
imul r8d, ebx
mov byte [rdi], r8b
mov rbx, qword [0x180028b28]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rbx
mov rdx, qword [rax + 0x40]
mov r8, qword [rdx + 0x30]
mov qword [rax + 0x40], r8
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x1800082e0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
movsx ebx, dl
lea rcx, [0x180028b28]
call sym.VCOMP140D.DLL_qvcomp_enter_critsect
movsx eax, byte [rdi]
mov ecx, dword [0x180027910]
cdq
idiv ebx
mov byte [rdi], al
mov rbx, qword [0x180028b28]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rbx
mov rdx, qword [rax + 0x40]
mov r8, qword [rdx + 0x30]
mov qword [rax + 0x40], r8
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
Function at 0x180008338
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
movzx ebx, dl
lea rcx, [0x180028b28]
call sym.VCOMP140D.DLL_qvcomp_enter_critsect
movzx eax, byte [rdi]
mov ecx, dword [0x180027910]
cdq
idiv ebx
mov byte [rdi], al
mov rbx, qword [0x180028b28]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rbx
mov rdx, qword [rax + 0x40]
mov r8, qword [rdx + 0x30]
mov qword [rax + 0x40], r8
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x180008390
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
movsx ebx, dl
lea rcx, [0x180028b28]
call sym.VCOMP140D.DLL_qvcomp_enter_critsect
mov r8b, byte [rdi]
mov ecx, dword [0x180027910]
and r8d, ebx
mov byte [rdi], r8b
mov rbx, qword [0x180028b28]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rbx
mov rdx, qword [rax + 0x40]
mov r8, qword [rdx + 0x30]
mov qword [rax + 0x40], r8
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x1800083e8
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
movsx ebx, dl
lea rcx, [0x180028b28]
call sym.VCOMP140D.DLL_qvcomp_enter_critsect
mov r8b, byte [rdi]
mov ecx, dword [0x180027910]
xor r8d, ebx
mov byte [rdi], r8b
mov rbx, qword [0x180028b28]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rbx
mov rdx, qword [rax + 0x40]
mov r8, qword [rdx + 0x30]
mov qword [rax + 0x40], r8
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x180008440
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
movsx ebx, dl
lea rcx, [0x180028b28]
call sym.VCOMP140D.DLL_qvcomp_enter_critsect
mov r8b, byte [rdi]
mov ecx, dword [0x180027910]
or r8d, ebx
mov byte [rdi], r8b
mov rbx, qword [0x180028b28]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rbx
mov rdx, qword [rax + 0x40]
mov r8, qword [rdx + 0x30]
mov qword [rax + 0x40], r8
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x180008498
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov bl, dl
lea rcx, [0x180028b28]
call sym.VCOMP140D.DLL_qvcomp_enter_critsect
mov al, byte [rdi]
mov cl, bl
shl al, cl
mov ecx, dword [0x180027910]
mov byte [rdi], al
mov rbx, qword [0x180028b28]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rbx
mov rdx, qword [rax + 0x40]
mov r8, qword [rdx + 0x30]
mov qword [rax + 0x40], r8
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
Function at 0x1800084f0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov bl, dl
lea rcx, [0x180028b28]
call sym.VCOMP140D.DLL_qvcomp_enter_critsect
mov al, byte [rdi]
mov cl, bl
sar al, cl
mov ecx, dword [0x180027910]
mov byte [rdi], al
mov rbx, qword [0x180028b28]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rbx
mov rdx, qword [rax + 0x40]
mov r8, qword [rdx + 0x30]
mov qword [rax + 0x40], r8
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x180008548
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov bl, dl
lea rcx, [0x180028b28]
call sym.VCOMP140D.DLL_qvcomp_enter_critsect
mov al, byte [rdi]
mov cl, bl
shr al, cl
mov ecx, dword [0x180027910]
mov byte [rdi], al
mov rbx, qword [0x180028b28]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rbx
mov rdx, qword [rax + 0x40]
mov r8, qword [rdx + 0x30]
mov qword [rax + 0x40], r8
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x1800085a0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
movsx ebx, dx
lea rcx, [0x180028b28]
call sym.VCOMP140D.DLL_qvcomp_enter_critsect
movzx r8d, word [rdi]
mov ecx, dword [0x180027910]
add r8d, ebx
mov word [rdi], r8w
mov rbx, qword [0x180028b28]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rbx
mov rdx, qword [rax + 0x40]
mov r8, qword [rdx + 0x30]
mov qword [rax + 0x40], r8
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x1800085fc
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
movsx ebx, dx
lea rcx, [0x180028b28]
call sym.VCOMP140D.DLL_qvcomp_enter_critsect
movzx r8d, word [rdi]
mov ecx, dword [0x180027910]
sub r8d, ebx
mov word [rdi], r8w
mov rbx, qword [0x180028b28]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rbx
mov rdx, qword [rax + 0x40]
mov r8, qword [rdx + 0x30]
mov qword [rax + 0x40], r8
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x180008658
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
movsx ebx, dx
lea rcx, [0x180028b28]
call sym.VCOMP140D.DLL_qvcomp_enter_critsect
movzx r8d, word [rdi]
mov ecx, dword [0x180027910]
imul r8d, ebx
mov word [rdi], r8w
mov rbx, qword [0x180028b28]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rbx
mov rdx, qword [rax + 0x40]
mov r8, qword [rdx + 0x30]
mov qword [rax + 0x40], r8
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
Function at 0x1800086b4
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
movsx ebx, dx
lea rcx, [0x180028b28]
call sym.VCOMP140D.DLL_qvcomp_enter_critsect
movsx eax, word [rdi]
mov ecx, dword [0x180027910]
cdq
idiv ebx
mov word [rdi], ax
mov rbx, qword [0x180028b28]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rbx
mov rdx, qword [rax + 0x40]
mov r8, qword [rdx + 0x30]
mov qword [rax + 0x40], r8
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x18000870c
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
movzx ebx, dx
lea rcx, [0x180028b28]
call sym.VCOMP140D.DLL_qvcomp_enter_critsect
movzx eax, word [rdi]
mov ecx, dword [0x180027910]
cdq
idiv ebx
mov word [rdi], ax
mov rbx, qword [0x180028b28]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rbx
mov rdx, qword [rax + 0x40]
mov r8, qword [rdx + 0x30]
mov qword [rax + 0x40], r8
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x180008764
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
movsx ebx, dx
lea rcx, [0x180028b28]
call sym.VCOMP140D.DLL_qvcomp_enter_critsect
movzx r8d, word [rdi]
mov ecx, dword [0x180027910]
and r8d, ebx
mov word [rdi], r8w
mov rbx, qword [0x180028b28]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rbx
mov rdx, qword [rax + 0x40]
mov r8, qword [rdx + 0x30]
mov qword [rax + 0x40], r8
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x1800087c0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
movsx ebx, dx
lea rcx, [0x180028b28]
call sym.VCOMP140D.DLL_qvcomp_enter_critsect
movzx r8d, word [rdi]
mov ecx, dword [0x180027910]
xor r8d, ebx
mov word [rdi], r8w
mov rbx, qword [0x180028b28]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rbx
mov rdx, qword [rax + 0x40]
mov r8, qword [rdx + 0x30]
mov qword [rax + 0x40], r8
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x18000881c
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
movsx ebx, dx
lea rcx, [0x180028b28]
call sym.VCOMP140D.DLL_qvcomp_enter_critsect
movzx r8d, word [rdi]
mov ecx, dword [0x180027910]
or r8d, ebx
mov word [rdi], r8w
mov rbx, qword [0x180028b28]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rbx
mov rdx, qword [rax + 0x40]
mov r8, qword [rdx + 0x30]
mov qword [rax + 0x40], r8
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
Function at 0x180008878
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
movzx ebx, dx
lea rcx, [0x180028b28]
call sym.VCOMP140D.DLL_qvcomp_enter_critsect
movzx eax, word [rdi]
mov cl, bl
shl ax, cl
mov ecx, dword [0x180027910]
mov word [rdi], ax
mov rbx, qword [0x180028b28]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rbx
mov rdx, qword [rax + 0x40]
mov r8, qword [rdx + 0x30]
mov qword [rax + 0x40], r8
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x1800088d4
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
movzx ebx, dx
lea rcx, [0x180028b28]
call sym.VCOMP140D.DLL_qvcomp_enter_critsect
movzx eax, word [rdi]
mov cl, bl
sar ax, cl
mov ecx, dword [0x180027910]
mov word [rdi], ax
mov rbx, qword [0x180028b28]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rbx
mov rdx, qword [rax + 0x40]
mov r8, qword [rdx + 0x30]
mov qword [rax + 0x40], r8
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x180008930
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
movzx ebx, dx
lea rcx, [0x180028b28]
call sym.VCOMP140D.DLL_qvcomp_enter_critsect
movzx eax, word [rdi]
mov cl, bl
shr ax, cl
mov ecx, dword [0x180027910]
mov word [rdi], ax
mov rbx, qword [0x180028b28]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rbx
mov rdx, qword [rax + 0x40]
mov r8, qword [rdx + 0x30]
mov qword [rax + 0x40], r8
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x18000898c
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov edi, edx
mov rbx, rcx
test cl, 3
jne 0x1800089a6
lock xadd dword [rcx], edi
jmp 0x1800089e0
lea rcx, [0x180028b28]
call sym.VCOMP140D.DLL_qvcomp_enter_critsect
mov eax, dword [rbx]
mov ecx, dword [0x180027910]
add eax, edi
mov dword [rbx], eax
mov rbx, qword [0x180028b28]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rbx
mov rdx, qword [rax + 0x40]
mov r8, qword [rdx + 0x30]
mov qword [rax + 0x40], r8
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret

Function at 0x1800089ec
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov ebx, edx
mov rdi, rcx
test cl, 3
jne 0x180008a08
neg ebx
lock xadd dword [rcx], ebx
jmp 0x180008a42
lea rcx, [0x180028b28]
call sym.VCOMP140D.DLL_qvcomp_enter_critsect
mov eax, dword [rdi]
mov ecx, dword [0x180027910]
sub eax, ebx
mov dword [rdi], eax
mov rbx, qword [0x180028b28]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rbx
mov rdx, qword [rax + 0x40]
mov r8, qword [rdx + 0x30]
mov qword [rax + 0x40], r8
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret