joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10007940
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 0x10007991
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 0x10
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 0x100079bf
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x100079f4
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x100079d4
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x100079f4
push dword [ebp + 0x14]
lea ecx, [eax + eax*8]
push dword [ebp + 0x10]
shl ecx, 4
add ecx, edx
push dword [ecx + 0x8c]
mov eax, dword [ecx]
push ecx
call dword [eax + 0xec]
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 0x10

Function at 0x10007a20
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 0x10007a71
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 0x10007a9f
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x10007ad1
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x10007ab4
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x10007ad1
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 + pe_nt_image_headers32]
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 0x10007b00
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 0x10007b51
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 0x10007b7f
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x10007bb1
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x10007b94
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x10007bb1
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 + 0xf4]
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 0x10007be0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100afde8
push eax
mov dword fs:[0], esp
sub esp, 0x68
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 0x10007c38
push 0x65b
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov ecx, dword [esp + 0x74]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
lea esi, [edi + 0x44]
push esi
mov dword [esp + 0x40], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [esp + 0x7c], 0
mov edx, dword [edi + 0x34]
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
test edx, edx
jne 0x10007c69
push 6
call ebx
mov dword [esp + 0x3c], 0
jmp 0x10007cb1
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x10007c7f
push 0x57
call ebx
mov dword [esp + 0x3c], 0
jmp 0x10007cb1
fld qword [ebp + 0x20]
lea ecx, [eax + eax*8]
sub esp, 0x18
shl ecx, 4
add ecx, edx
fstp qword [esp + 0x10]
fld qword [ebp + 0x18]
mov eax, dword [ecx]
fstp qword [esp + 8]
fld qword [ebp + 0x10]
fstp qword [esp]
push dword [ecx + 0x8c]
push ecx
call dword [eax + 0xf8]
mov dword [esp + 0x3c], 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 [esp + 0x3c]
mov ecx, dword [esp + 0x74]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x20
Function at 0x10007ce0
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 0x10007d31
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 0x10007d5f
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x10007d97
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x10007d74
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x10007d97
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 + 0xfc]
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 0x10007dc0
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 0x10007e11
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 0x10
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 0x10007e3f
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x10007e77
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x10007e54
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x10007e77
fld qword [ebp + 0x10]
lea ecx, [eax + eax*8]
sub esp, 8
shl ecx, 4
add ecx, edx
fstp qword [esp]
push dword [ecx + 0x8c]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x100]
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 0x10
Function at 0x10007ea0
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 0x10007ef1
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 0x10007f1f
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x10007f51
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x10007f34
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x10007f51
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 + 0x104]
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 0x10007f80
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 0x10007fd1
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 0x10
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 0x10007fff
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x10008037
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x10008014
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x10008037
fld qword [ebp + 0x10]
lea ecx, [eax + eax*8]
sub esp, 8
shl ecx, 4
add ecx, edx
fstp qword [esp]
push dword [ecx + 0x8c]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x108]
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 0x10
Function at 0x10008060
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 0x100080b1
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 0x100080df
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x10008111
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x100080f4
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x10008111
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 + 0x10c]
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 0x10008140
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 0x10008191
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 0x100081bf
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x100081f1
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x100081d4
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x100081f1
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 + 0x110]
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 0x10008220
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 0x10008271
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 0x10
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 0x1000829f
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x100082d4
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x100082b4
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x100082d4
push dword [ebp + 0x14]
lea ecx, [eax + eax*8]
push dword [ebp + 0x10]
shl ecx, 4
add ecx, edx
push dword [ecx + 0x8c]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x114]
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 0x10

Function at 0x10008300
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 0x10008351
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 0x1000837f
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x100083b1
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x10008394
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x100083b1
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 + 0x118]
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 0x100083e0
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 0x10008431
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 0x1000845f
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x10008491
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x10008474
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x10008491
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 + 0x11c]
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 0x100084c0
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 0x10008511
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 0x1000853f
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x10008571
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x10008554
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x10008571
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 + 0x120]
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 0x100085a0
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 0x100085f1
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 0x1000861f
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x10008651
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x10008634
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x10008651
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 + 0x124]
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 0x10008680
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 0x100086d1
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 0x100086ff
push 6
call ebx
mov dword [ebp + 8], 0
jmp 0x10008731
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x38]
jb 0x10008714
push 0x57
call ebx
mov dword [ebp + 8], 0
jmp 0x10008731
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 + 0x128]
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