joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10008760
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100afd88
push eax
mov dword fs:[0], esp
push ebx
push esi
push edi
push dword [0x100db8a4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, dword [ebp + 8]
lea ecx, [edi + 0x3c]
cmp eax, ecx
jne 0x100087b1
push 0x65b
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea esi, [edi + 0x44]
push esi
mov dword [ebp + 8], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], 0
mov edx, dword [edi + 0x34]
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
test edx, edx
jne 0x100087df
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x10008811
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x100087f4
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x10008811
push dword [ebp + 0x10]
lea ecx, [eax + eax*8]
shl ecx, 4
add ecx, edx
push dword [ecx + 0x8c]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x12c]
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push edi
call ebx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc

Function at 0x10008840
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100afd88
push eax
mov dword fs:[0], esp
push ebx
push esi
push edi
push dword [0x100db8a4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, dword [ebp + 8]
lea ecx, [edi + 0x3c]
cmp eax, ecx
jne 0x10008891
push 0x65b
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea esi, [edi + 0x44]
push esi
mov dword [ebp + 8], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], 0
mov edx, dword [edi + 0x34]
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
test edx, edx
jne 0x100088bf
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x100088f1
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x100088d4
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x100088f1
push dword [ebp + 0x10]
lea ecx, [eax + eax*8]
shl ecx, 4
add ecx, edx
push dword [ecx + 0x8c]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x130]
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push edi
call ebx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x10008920
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100afd88
push eax
mov dword fs:[0], esp
push ebx
push esi
push edi
push dword [0x100db8a4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, dword [ebp + 8]
lea ecx, [edi + 0x3c]
cmp eax, ecx
jne 0x10008971
push 0x65b
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea esi, [edi + 0x44]
push esi
mov dword [ebp + 8], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], 0
mov edx, dword [edi + 0x34]
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
test edx, edx
jne 0x1000899f
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x100089d1
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x100089b4
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x100089d1
push dword [ebp + 0x10]
lea ecx, [eax + eax*8]
shl ecx, 4
add ecx, edx
push dword [ecx + 0x8c]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x134]
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push edi
call ebx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc

Function at 0x10008a00
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100afd88
push eax
mov dword fs:[0], esp
push ebx
push esi
push edi
push dword [0x100db8a4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, dword [ebp + 8]
lea ecx, [edi + 0x3c]
cmp eax, ecx
jne 0x10008a51
push 0x65b
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea esi, [edi + 0x44]
push esi
mov dword [ebp + 8], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], 0
mov edx, dword [edi + 0x34]
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
test edx, edx
jne 0x10008a7f
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x10008ab1
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x10008a94
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x10008ab1
push dword [ebp + 0x10]
lea ecx, [eax + eax*8]
shl ecx, 4
add ecx, edx
push dword [ecx + 0x8c]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x138]
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push edi
call ebx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x10008ae0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100afd88
push eax
mov dword fs:[0], esp
push ebx
push esi
push edi
push dword [0x100db8a4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, dword [ebp + 8]
lea ecx, [edi + 0x3c]
cmp eax, ecx
jne 0x10008b31
push 0x65b
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea esi, [edi + 0x44]
push esi
mov dword [ebp + 8], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], 0
mov edx, dword [edi + 0x34]
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
test edx, edx
jne 0x10008b5f
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x10008b91
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x10008b74
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x10008b91
push dword [ebp + 0x10]
lea ecx, [eax + eax*8]
shl ecx, 4
add ecx, edx
push dword [ecx + 0x8c]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x13c]
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push edi
call ebx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc

Function at 0x10008bc0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100afd88
push eax
mov dword fs:[0], esp
push ebx
push esi
push edi
push dword [0x100db8a4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, dword [ebp + 8]
lea ecx, [edi + 0x3c]
cmp eax, ecx
jne 0x10008c11
push 0x65b
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
lea esi, [edi + 0x44]
push esi
mov dword [ebp + 8], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], 0
mov edx, dword [edi + 0x34]
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
test edx, edx
jne 0x10008c3f
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x10008c77
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x10008c54
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x10008c77
push dword [ebp + 0x18]
lea ecx, [eax + eax*8]
push dword [ebp + 0x14]
shl ecx, 4
push dword [ebp + 0x10]
add ecx, edx
push dword [ecx + 0x8c]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x140]
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push edi
call ebx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x14
Function at 0x10008ca0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100afd88
push eax
mov dword fs:[0], esp
push ebx
push esi
push edi
push dword [0x100db8a4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, dword [ebp + 8]
lea ecx, [edi + 0x3c]
cmp eax, ecx
jne 0x10008cf1
push 0x65b
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
lea esi, [edi + 0x44]
push esi
mov dword [ebp + 8], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], 0
mov edx, dword [edi + 0x34]
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
test edx, edx
jne 0x10008d1f
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x10008d57
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x10008d34
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x10008d57
push dword [ebp + 0x18]
lea ecx, [eax + eax*8]
push dword [ebp + 0x14]
shl ecx, 4
push dword [ebp + 0x10]
add ecx, edx
push dword [ecx + 0x8c]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x144]
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push edi
call ebx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x14

Function at 0x10008d80
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100afd88
push eax
mov dword fs:[0], esp
push ebx
push esi
push edi
push dword [0x100db8a4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, dword [ebp + 8]
lea ecx, [edi + 0x3c]
cmp eax, ecx
jne 0x10008dd1
push 0x65b
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
lea esi, [edi + 0x44]
push esi
mov dword [ebp + 8], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], 0
mov edx, dword [edi + 0x34]
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
test edx, edx
jne 0x10008dff
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x10008e37
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x10008e14
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x10008e37
push dword [ebp + 0x18]
lea ecx, [eax + eax*8]
push dword [ebp + 0x14]
shl ecx, 4
push dword [ebp + 0x10]
add ecx, edx
push dword [ecx + 0x8c]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x148]
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push edi
call ebx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x14
Function at 0x10008e60
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100afd88
push eax
mov dword fs:[0], esp
push ebx
push esi
push edi
push dword [0x100db8a4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, dword [ebp + 8]
lea ecx, [edi + 0x3c]
cmp eax, ecx
jne 0x10008eb1
push 0x65b
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea esi, [edi + 0x44]
push esi
mov dword [ebp + 8], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], 0
mov edx, dword [edi + 0x34]
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
test edx, edx
jne 0x10008edf
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x10008f11
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x10008ef4
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x10008f11
push dword [ebp + 0x10]
lea ecx, [eax + eax*8]
shl ecx, 4
add ecx, edx
push dword [ecx + 0x8c]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x14c]
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push edi
call ebx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc

Function at 0x10008f40
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100afd88
push eax
mov dword fs:[0], esp
push ebx
push esi
push edi
push dword [0x100db8a4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, dword [ebp + 8]
lea ecx, [edi + 0x3c]
cmp eax, ecx
jne 0x10008f91
push 0x65b
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea esi, [edi + 0x44]
push esi
mov dword [ebp + 8], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], 0
mov edx, dword [edi + 0x34]
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
test edx, edx
jne 0x10008fbf
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x10008fee
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x10008fd4
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x10008fee
lea ecx, [eax + eax*8]
shl ecx, 4
add ecx, edx
push dword [ecx + 0x8c]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x150]
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push edi
call ebx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x10009020
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100afd88
push eax
mov dword fs:[0], esp
push ebx
push esi
push edi
push dword [0x100db8a4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, dword [ebp + 8]
lea ecx, [edi + 0x3c]
cmp eax, ecx
jne 0x10009071
push 0x65b
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea esi, [edi + 0x44]
push esi
mov dword [ebp + 8], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], 0
mov edx, dword [edi + 0x34]
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
test edx, edx
jne 0x1000909f
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x100090d1
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x100090b4
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x100090d1
push dword [ebp + 0x10]
lea ecx, [eax + eax*8]
shl ecx, 4
add ecx, edx
push dword [ecx + 0x8c]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x160]
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push edi
call ebx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc

Function at 0x10009100
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100afd88
push eax
mov dword fs:[0], esp
push ebx
push esi
push edi
push dword [0x100db8a4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, dword [ebp + 8]
lea ecx, [edi + 0x3c]
cmp eax, ecx
jne 0x10009151
push 0x65b
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea esi, [edi + 0x44]
push esi
mov dword [ebp + 8], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], 0
mov edx, dword [edi + 0x34]
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
test edx, edx
jne 0x1000917f
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x100091b1
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x10009194
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x100091b1
push dword [ebp + 0x10]
lea ecx, [eax + eax*8]
shl ecx, 4
add ecx, edx
push dword [ecx + 0x8c]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x164]
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push edi
call ebx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x100091e0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100afd88
push eax
mov dword fs:[0], esp
push ebx
push esi
push edi
push dword [0x100db8a4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, dword [ebp + 8]
lea ecx, [edi + 0x3c]
cmp eax, ecx
jne 0x10009231
push 0x65b
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
lea esi, [edi + 0x44]
push esi
mov dword [ebp + 8], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], 0
mov edx, dword [edi + 0x34]
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
test edx, edx
jne 0x1000925f
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x1000929d
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x10009274
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x1000929d
fld qword [ebp + 0x18]
lea ecx, [eax + eax*8]
sub esp, 8
shl ecx, 4
add ecx, edx
fstp qword [esp]
push dword [ebp + 0x14]
mov eax, dword [ecx]
push dword [ebp + 0x10]
push dword [ecx + 0x8c]
push ecx
call dword [eax + 0x168]
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push edi
call ebx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x18

Function at 0x100092d0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100afd88
push eax
mov dword fs:[0], esp
push ebx
push esi
push edi
push dword [0x100db8a4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, dword [ebp + 8]
lea ecx, [edi + 0x3c]
cmp eax, ecx
jne 0x10009321
push 0x65b
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
lea esi, [edi + 0x44]
push esi
mov dword [ebp + 8], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], 0
mov edx, dword [edi + 0x34]
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
test edx, edx
jne 0x1000934f
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x10009387
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x10009364
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x10009387
push dword [ebp + 0x18]
lea ecx, [eax + eax*8]
push dword [ebp + 0x14]
shl ecx, 4
push dword [ebp + 0x10]
add ecx, edx
push dword [ecx + 0x8c]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x16c]
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push edi
call ebx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x14
Function at 0x100093b0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100afd88
push eax
mov dword fs:[0], esp
push ebx
push esi
push edi
push dword [0x100db8a4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, dword [ebp + 8]
lea ecx, [edi + 0x3c]
cmp eax, ecx
jne 0x10009401
push 0x65b
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea esi, [edi + 0x44]
push esi
mov dword [ebp + 8], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], 0
mov edx, dword [edi + 0x34]
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
test edx, edx
jne 0x1000942f
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x10009461
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x10009444
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x10009461
push dword [ebp + 0x10]
lea ecx, [eax + eax*8]
shl ecx, 4
add ecx, edx
push dword [ecx + 0x8c]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x170]
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push edi
call ebx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc

Function at 0x10009490
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100afd88
push eax
mov dword fs:[0], esp
push ebx
push esi
push edi
push dword [0x100db8a4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, dword [ebp + 8]
lea ecx, [edi + 0x3c]
cmp eax, ecx
jne 0x100094e1
push 0x65b
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea esi, [edi + 0x44]
push esi
mov dword [ebp + 8], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], 0
mov edx, dword [edi + 0x34]
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
test edx, edx
jne 0x1000950f
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x10009541
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x10009524
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x10009541
push dword [ebp + 0x10]
lea ecx, [eax + eax*8]
shl ecx, 4
add ecx, edx
push dword [ecx + 0x8c]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x174]
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push edi
call ebx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc