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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
cmp dword [0x6d7b5a84], 0
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
je 0x6d7421fa
mov eax, dword [edi]
mov eax, dword [eax]
and eax, 7
cmp al, 5
jne 0x6d7421fa
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push eax
push 0
push edi
call fcn.6d64b2b4
add esp, 0xc
mov eax, dword [edi]
mov ebx, dword [eax]
mov eax, ebx
and eax, 7
mov dword [ebp + 8], ebx
cmp al, 1
mov esi, 0x1ffffff
jne 0x6d742264
mov eax, ebx
sar eax, 7
and eax, esi
jne 0x6d7422fb
call fcn.6d71c2b2
and eax, esi
mov dword [ebp - 8], eax
je 0x6d74221c
mov ecx, dword [ebp - 8]
mov eax, ebx
and eax, 0x7f
shl ecx, 7
or eax, ecx
mov dword [ebp - 4], eax
mov eax, dword [edi]
mov dword [ebp - 0x10], eax
call fcn.6d71d118
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp + 8]
cmp dword [ebp - 0xc], 0
je 0x6d742255
lock cmpxchg dword [edx], ecx
cmpxchg dword [edx], ecx
cmp eax, ebx
jne 0x6d742292
mov eax, dword [ebp - 8]
jmp 0x6d7422fb
test bl, 2
je 0x6d74226e
xor ebx, 2
jmp 0x6d742289
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edx, dword [eax]
push ebx
mov ecx, eax
call dword [edx + 0x38]
test eax, eax
je 0x6d742292
and ebx, 0xfffffffd
mov eax, dword [ebx]
sar eax, 7
and eax, esi
jne 0x6d7422fb
test edi, edi
je 0x6d742298
mov edi, dword [edi]
mov eax, dword [edi]
test al, 2
je 0x6d7422a3
xor eax, 2
jmp 0x6d7422aa
push edi
call fcn.6d741bb2
pop ecx
mov dword [ebp - 8], eax
mov ebx, dword [eax]
mov edi, ebx
mov dword [ebp + 8], ebx
sar edi, 7
and edi, esi
jne 0x6d7422f9
call fcn.6d71c2b2
and eax, esi
je 0x6d7422bb
mov ecx, ebx
mov edi, eax
shl eax, 7
and ecx, 0x7f
or eax, ecx
mov dword [ebp - 4], eax
call fcn.6d71d118
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp + 8]
cmp dword [ebp - 0x10], 0
je 0x6d7422eb
lock cmpxchg dword [edx], ecx
cmpxchg dword [edx], ecx
cmp eax, ebx
je 0x6d7422f9
sar eax, 7
and eax, esi
mov edi, eax
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret

Function at 0x6d74237f
Capabilities:
Get thread local storage value

Disassembly:
push esi
xor esi, esi
cmp dword [0x6d7b5a84], esi
push edi
mov edi, dword [esp + 0xc]
je 0x6d7423b8
cmp dword [0x6d7bf5cc], 2
jne 0x6d7423a1
push edi
call fcn.6d64bb5a
pop ecx
jmp 0x6d7423b8
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push eax
push esi
push edi
call fcn.6d64b2b4
add esp, 0xc
cmp edi, esi
jne 0x6d7423c0
xor eax, eax
jmp 0x6d7423c2
mov eax, dword [edi]
push ebx
mov ebx, dword [eax]
test ebx, ebx
jne 0x6d7423e3
mov ecx, dword [0x6d7bdc2c]
call fcn.6d714bb6
mov eax, dword [edi]
mov ebx, dword [eax]
mov ecx, dword [0x6d7bdc2c]
call fcn.6d715a3f
test bl, 3
jne 0x6d7423ea
mov esi, ebx
test bl, 2
je 0x6d7423f5
xor ebx, 2
mov esi, dword [ebx + 8]
test esi, esi
pop ebx
je 0x6d742408
push dword [esp + 0x10]
push esi
call fcn.6d753a2e
pop ecx
pop ecx
jmp 0x6d74240a
xor eax, eax
pop edi
pop esi
ret
Function at 0x6d744ddc
Capabilities:
Get thread local storage value

Disassembly:
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push 0
push 0
push dword [esp + 0xc]
push eax
call fcn.6d71ebe6
add esp, 0x10
ret 4
Function at 0x6d7523f0
Capabilities:
Get thread local storage value

Disassembly:
mov eax, dword [esp + 4]
push ebx
push esi
push edi
push dword [0x6d7a23c4]
mov esi, dword [eax]
mov ebx, ecx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test esi, esi
jne 0x6d75240f
xor edi, edi
jmp 0x6d752424
mov ecx, dword [eax + 0x90]
push 4
call fcn.6d645be3
test eax, eax
mov dword [eax], esi
mov edi, eax
jne 0x6d752426
xor esi, esi
test edi, edi
mov dword [ebx + 0xa4], esi
jne 0x6d752434
xor eax, eax
jmp 0x6d752436
mov eax, dword [edi]
push ebx
push eax
call fcn.6d6c7dee
mov eax, dword [esp + 0x1c]
pop ecx
cmp eax, 0xffffffff
pop ecx
jne 0x6d752455
test edi, edi
je 0x6d75244e
mov edi, dword [edi]
push edi
call fcn.6d6c7e0e
pop ecx
push eax
push ebx
call fcn.6d7503ae
push 0
push ebx
call fcn.6d7535cc
add esp, 0x10
pop edi
pop esi
pop ebx
ret 8

Function at 0x6d752494
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa0
push esi
mov esi, ecx
push edi
cmp dword [esi + 0xa8], 0
je 0x6d75252e
lea ecx, [ebp - 0x10]
call fcn.6d641711
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push eax
lea ecx, [ebp - 0x28]
call fcn.6d6b5a73
push 1
push esi
lea ecx, [ebp - 0xa0]
call fcn.6d6ac9f1
lea eax, [ebp - 0xa0]
mov ecx, esi
push eax
xor edi, edi
call fcn.6d752671
mov esi, eax
test esi, esi
je 0x6d75251e
mov eax, edi
inc edi
cmp eax, dword [0x6d791fe8]
jge 0x6d75251e
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
test eax, eax
je 0x6d752516
push dword [ebp + 0x10]
mov ecx, esi
push edi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.6d761cbc
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
jmp 0x6d7524e9
lea ecx, [ebp - 0x28]
call fcn.6d6b5aa6
lea ecx, [ebp - 0x10]
call fcn.6d6a63ec
pop edi
pop esi
leave
ret 0xc

Function at 0x6d752534
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa0
push ebx
push esi
mov esi, ecx
push edi
cmp dword [esi + 0xa8], 0
je 0x6d7525e7
lea ecx, [ebp - 0x10]
call fcn.6d641711
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push eax
lea ecx, [ebp - 0x28]
call fcn.6d6b5a73
push 1
push esi
lea ecx, [ebp - 0xa0]
call fcn.6d6ac9f1
lea eax, [ebp - 0xa0]
mov ecx, esi
push eax
xor ebx, ebx
call fcn.6d752671
mov esi, eax
test esi, esi
je 0x6d7525d7
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
test eax, eax
je 0x6d7525c6
mov eax, dword [esi]
mov ecx, esi
xor edi, edi
call dword [eax + 0x20]
push eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1c]
push eax
push edi
call fcn.6d6c82af
add esp, 0xc
cmp dword [0x6d791d7c], edi
je 0x6d7525c6
push ebx
mov ecx, esi
call fcn.6d761db6
inc ebx
cmp dword [0x6d791fe8], ebx
je 0x6d7525d7
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
jmp 0x6d75258a
lea ecx, [ebp - 0x28]
call fcn.6d6b5aa6
lea ecx, [ebp - 0x10]
call fcn.6d6a63ec
pop edi
pop esi
pop ebx
leave
ret
Function at 0x6d75413c
Capabilities:
Get thread local storage value

Disassembly:
cmp dword [ecx + 4], 1
mov ecx, dword [ecx]
jne 0x6d754149
jmp fcn.6d714bb6
jmp fcn.6d714b1e

Function at 0x6d7547fc
Capabilities:
Get thread local storage value

Disassembly:
mov eax, dword [0x6d792034]
push 0x64
xor edx, edx
lea ecx, [eax + eax]
pop eax
div ecx
push 1
pop ecx
cmp eax, ecx
mov dword [0x6d7c1da0], eax
ja 0x6d75481d
mov dword [0x6d7c1da0], ecx
push 0x70
call fcn.6d641742
test eax, eax
pop ecx
je 0x6d754837
mov ecx, eax
call fcn.6d754a02
mov dword [0x6d7c1da4], eax
jmp 0x6d75483e
and dword [0x6d7c1da4], 0
push esi
mov esi, dword [sym.imp.KERNEL32.dll_TlsGetValue]
push dword [0x6d7a23c4]
call esi
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x10]
test eax, eax
jne 0x6d754870
push str.tlab_initialization_thread_not_Java_thread
push 0xc7
push str.C:_BUILD_AREA_jdk1.5.0_13_hotspot_src_share_vmmemory_threadLocalAllocBuffer.cpp
call fcn.6d6a372c
add esp, 0xc
int3
push dword [0x6d7a23c4]
call esi
lea ecx, [eax + 0x3c]
call fcn.6d75478c
pop esi
ret
Function at 0x6d754e2b
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push esi
push dword [ebp + 8]
call fcn.6d75448e
pop ecx
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, dword [ebp + 8]
mov esi, str.C:_BUILD_AREA_jdk1.5.0_13_hotspot_src_share_vm_runtime_threadLocalStorage.cpp
je 0x6d754e5f
push str.must_be_the_same_thread__quickly
push 0x1a
push esi
call fcn.6d6a372c
add esp, 0xc
int3
call fcn.6d754e1e
cmp eax, dword [ebp + 8]
je 0x6d754e7a
push str.must_be_the_same_thread__slowly
push 0x1b
push esi
call fcn.6d6a372c
add esp, 0xc
int3
pop esi
pop ebp
ret

Function at 0x6d754e7d
Capabilities:
Allocate thread local storage

Disassembly:
xor eax, eax
push eax
push eax
push eax
push eax
push fcn.6d725021
call fcn.6d71f8dc
add esp, 0x14
ret
call fcn.6d6469c6
call sub.KERNEL32.dll_TlsAlloc
mov dword [0x6d7a23c4], eax
jmp 0x6d75447a
Function at 0x6d758199
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
test ebx, ebx
jne 0x6d7581ad
xor eax, eax
jmp 0x6d7581af
mov eax, dword [ebx]
mov esi, dword [eax + 0x70]
cmp esi, dword [ebp + 0x10]
mov dword [ebp - 4], esi
jne 0x6d7581cc
test ebx, ebx
jne 0x6d7581c5
xor eax, eax
jmp 0x6d758383
mov eax, dword [ebx]
jmp 0x6d758383
test ebx, ebx
jne 0x6d7581d4
xor eax, eax
jmp 0x6d7581d6
mov eax, dword [ebx]
push dword [eax + 0x74]
mov edi, dword [ebp + 0x14]
lea ecx, [ebp + 8]
push edi
call fcn.6d645ee5
mov eax, dword [ebp + 8]
test eax, eax
jne 0x6d758356
cmp dword [ebp + 0xc], eax
jne 0x6d7581be
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push eax
lea ecx, [ebp - 0x1c]
call fcn.6d64bc19
mov ecx, dword [0x6d7bdbe0]
push edi
mov dword [ebp - 8], ecx
call fcn.6d714ab8
mov ecx, dword [0x6d7bdbf4]
push edi
mov dword [ebp + 0x14], ecx
call fcn.6d714ab8
test ebx, ebx
jne 0x6d758230
xor eax, eax
jmp 0x6d758232
mov eax, dword [ebx]
push dword [eax + 0x74]
lea ecx, [ebp - 0xc]
push edi
call fcn.6d645ee5
mov eax, dword [ebp - 0xc]
test eax, eax
mov dword [ebp + 8], eax
jne 0x6d75831c
cmp dword [0x6d7c1ebc], 1
jne 0x6d758280
push 0x10
call fcn.6d735879
mov esi, eax
pop ecx
test esi, esi
je 0x6d758275
mov eax, dword [ebp - 4]
push 1
inc eax
mov ecx, esi
push eax
call fcn.6d6b55d1
mov eax, esi
jmp 0x6d758277
xor eax, eax
mov esi, dword [ebp - 4]
mov dword [edi + 0x130], eax
mov eax, dword [0x6d7c1e50]
push edi
inc esi
push ebx
push esi
lea ecx, [eax + 8]
call fcn.6d7194e8
xor esi, esi
cmp dword [edi + 4], esi
je 0x6d7582b5
mov ecx, dword [ebp + 0x14]
call fcn.6d715a3f
mov ecx, dword [ebp - 8]
call fcn.6d715a3f
lea ecx, [ebp - 0x1c]
call fcn.6d6a63ec
jmp 0x6d7581be
push eax
push edi
lea ecx, [ebp - 0xc]
call fcn.6d645ee5
mov eax, dword [ebp - 0xc]
cmp ebx, esi
mov dword [ebp + 8], eax
jne 0x6d7582cd
xor ecx, ecx
jmp 0x6d7582cf
mov ecx, dword [ebx]
cmp eax, esi
jne 0x6d7582d7
xor eax, eax
jmp 0x6d7582d9
mov eax, dword [eax]
add eax, 0x78
cmp dword [0x6d7bdc58], esi
mov dword [eax], ecx
je 0x6d7582ef
push ecx
push eax
call fcn.6d645e38
pop ecx
pop ecx
mov eax, dword [ebp + 8]
cmp eax, esi
jne 0x6d7582fa
xor ecx, ecx
jmp 0x6d7582fc
mov ecx, dword [eax]
cmp ebx, esi
jne 0x6d758304
xor eax, eax
jmp 0x6d758306
mov eax, dword [ebx]
add eax, 0x74
cmp dword [0x6d7bdc58], esi
mov dword [eax], ecx
je 0x6d75831c
push ecx
push eax
call fcn.6d645e38
pop ecx
pop ecx
mov ecx, dword [ebp + 0x14]
call fcn.6d715a3f
mov ecx, dword [ebp - 8]
call fcn.6d715a3f
mov eax, dword [edi + 0x130]
lea esi, [edi + 0x130]
test eax, eax
je 0x6d75834b
cmp dword [eax], 0
jle 0x6d758348
push eax
call fcn.6d75a018
pop ecx
and dword [esi], 0
lea ecx, [ebp - 0x1c]
call fcn.6d6a63ec
mov eax, dword [ebp + 8]
cmp dword [ebp + 0xc], 0
je 0x6d75836f
test eax, eax
je 0x6d758362
mov eax, dword [eax]
push dword [ebp + 0x10]
lea ecx, [eax + 8]
call fcn.6d708541
jmp 0x6d758383
test eax, eax
je 0x6d758375
mov eax, dword [eax]
push edi
lea ecx, [eax + 8]
push dword [ebp + 0x10]
mov eax, dword [ecx]
push 0
call dword [eax + 0x40]
pop edi
pop esi
pop ebx
leave
ret
Function at 0x6d75a07a
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
mov edi, ecx
cmp dword [edi + 8], 0
jne 0x6d75a0b0
push 0
push 0x10
call fcn.6d641772
mov esi, eax
pop ecx
test esi, esi
pop ecx
je 0x6d75a0ab
push 1
push 2
mov ecx, esi
call fcn.6d6b55d1
mov eax, esi
jmp 0x6d75a0ad
xor eax, eax
mov dword [edi + 8], eax
mov esi, 0x100
test dword [0x6d7b5a90], esi
je 0x6d75a126
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push eax
lea ecx, [ebp - 0x14]
call fcn.6d64bc19
push esi
push str.RedefineClasses_0x_x:
push dword [0x6d7bf31c]
call fcn.6d71fd90
mov eax, dword [edi + 8]
mov ecx, dword [ebp + 8]
add esp, 0xc
push dword [eax]
call fcn.6d68356c
mov ecx, eax
call fcn.6d7415c5
mov ecx, dword [ebp + 8]
push eax
call fcn.6d68355d
mov ecx, eax
call fcn.6d7415c5
push eax
push str.add:__s__s_:_adding_prev_version_ref_for_cached_method___d
push dword [0x6d7bf31c]
call fcn.6d71fdc8
add esp, 0x14
lea ecx, [ebp - 0x14]
call fcn.6d6a63ec
push dword [ebp + 8]
lea ecx, [ebp - 4]
call fcn.6d6819e5
push dword [ebp - 4]
call fcn.6d6dc0ae
mov esi, dword [edi + 8]
mov ebx, eax
pop ecx
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jne 0x6d75a14e
push eax
mov ecx, esi
call fcn.6d6b56d9
mov eax, dword [esi]
mov ecx, dword [esi + 8]
mov dword [ecx + eax*4], ebx
inc dword [esi]
mov eax, dword [edi + 8]
mov esi, dword [eax]
dec esi
js 0x6d75a1f4
mov ecx, dword [edi + 8]
mov eax, dword [ecx + 8]
mov eax, dword [eax + esi*4]
test eax, eax
jne 0x6d75a179
push esi
call fcn.6d6b592d
jmp 0x6d75a15d
mov ebx, dword [eax]
test ebx, ebx
jne 0x6d75a18c
push eax
call fcn.6d6dc123
pop ecx
mov ecx, dword [edi + 8]
push esi
jmp 0x6d75a172
test byte [0x6d7b5a91], 4
je 0x6d75a15d
lea ecx, [ebp - 0x14]
call fcn.6d641711
push 0x400
push str.RedefineClasses_0x_x:
push dword [0x6d7bf31c]
call fcn.6d71fd90
add esp, 0xc
mov ecx, ebx
push esi
call fcn.6d68356c
mov ecx, eax
call fcn.6d7415c5
push eax
mov ecx, ebx
call fcn.6d68355d
mov ecx, eax
call fcn.6d7415c5
push eax
push str.add:__s__s_:_previous_cached_method___d_is_alive
push dword [0x6d7bf31c]
call fcn.6d71fdc8
add esp, 0x14
lea ecx, [ebp - 0x14]
call fcn.6d6a63ec
jmp 0x6d75a15d
pop edi
pop esi
pop ebx
leave
ret 4

Function at 0x6d75b330
Capabilities:
Get thread local storage value

Disassembly:
push ebx
push esi
push dword [esp + 0xc]
call fcn.6d6aa75f
mov esi, eax
push 6
push esi
call fcn.6d681e40
add esp, 0xc
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
add eax, 0x104
mov ecx, dword [esp + 0x14]
mov dword [eax], 1
mov bl, byte [ecx]
and dword [eax], 0
mov ecx, dword [esi + 0x2c]
call fcn.6d67a7cf
push 4
push 6
push esi
call fcn.6d681d7e
add esp, 0xc
mov al, bl
pop esi
pop ebx
ret 0x10
Function at 0x6d75b384
Capabilities:
Get thread local storage value

Disassembly:
push esi
push dword [esp + 8]
call fcn.6d6aa75f
mov esi, eax
push 6
push esi
call fcn.6d681e40
add esp, 0xc
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edx, dword [esp + 0x10]
mov cl, byte [esp + 0x18]
mov byte [edx], cl
and dword [eax + 0x104], 0
mov ecx, dword [esi + 0x2c]
call fcn.6d67a7cf
push 4
push 6
push esi
call fcn.6d681d7e
add esp, 0xc
pop esi
ret 0x14

Function at 0x6d75b3d1
Capabilities:
Get thread local storage value

Disassembly:
push esi
push edi
push dword [esp + 0xc]
call fcn.6d6aa75f
mov esi, eax
push 6
push esi
call fcn.6d681e40
add esp, 0xc
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
add eax, 0x104
mov ecx, dword [esp + 0x14]
mov dword [eax], 1
mov di, word [ecx]
and dword [eax], 0
mov ecx, dword [esi + 0x2c]
call fcn.6d67a7cf
push 4
push 6
push esi
call fcn.6d681d7e
add esp, 0xc
mov ax, di
pop edi
pop esi
ret 0x10

Function at 0x6d75b427
Capabilities:
Get thread local storage value

Disassembly:
push esi
push dword [esp + 8]
call fcn.6d6aa75f
mov esi, eax
push 6
push esi
call fcn.6d681e40
add esp, 0xc
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edx, dword [esp + 0x10]
mov cx, word [esp + 0x18]
mov word [edx], cx
and dword [eax + 0x104], 0
mov ecx, dword [esi + 0x2c]
call fcn.6d67a7cf
push 4
push 6
push esi
call fcn.6d681d7e
add esp, 0xc
pop esi
ret 0x14

Function at 0x6d75b476
Capabilities:
Get thread local storage value

Disassembly:
push esi
push edi
push dword [esp + 0xc]
call fcn.6d6aa75f
mov esi, eax
push 6
push esi
call fcn.6d681e40
add esp, 0xc
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
add eax, 0x104
mov ecx, dword [esp + 0x14]
mov dword [eax], 1
mov edi, dword [ecx]
and dword [eax], 0
mov ecx, dword [esi + 0x2c]
call fcn.6d67a7cf
push 4
push 6
push esi
call fcn.6d681d7e
add esp, 0xc
mov eax, edi
pop edi
pop esi
ret 0x10

Function at 0x6d75b4ca
Capabilities:
Get thread local storage value

Disassembly:
push esi
push dword [esp + 8]
call fcn.6d6aa75f
mov esi, eax
push 6
push esi
call fcn.6d681e40
add esp, 0xc
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov dword [edx], ecx
and dword [eax + 0x104], 0
mov ecx, dword [esi + 0x2c]
call fcn.6d67a7cf
push 4
push 6
push esi
call fcn.6d681d7e
add esp, 0xc
pop esi
ret 0x14

Function at 0x6d75b517
Capabilities:
Get thread local storage value

Disassembly:
push ebx
push esi
push edi
push dword [esp + 0x10]
call fcn.6d6aa75f
mov esi, eax
push 6
push esi
call fcn.6d681e40
add esp, 0xc
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
add eax, 0x104
mov ecx, dword [esp + 0x18]
mov dword [eax], 1
mov edi, dword [ecx]
mov ebx, dword [ecx + 4]
and dword [eax], 0
mov ecx, dword [esi + 0x2c]
call fcn.6d67a7cf
push 4
push 6
push esi
call fcn.6d681d7e
add esp, 0xc
mov eax, edi
mov edx, ebx
pop edi
pop esi
pop ebx
ret 0x10
Function at 0x6d75b572
Capabilities:
Get thread local storage value

Disassembly:
push esi
push dword [esp + 8]
call fcn.6d6aa75f
mov esi, eax
push 6
push esi
call fcn.6d681e40
add esp, 0xc
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov dword [ecx], edx
mov edx, dword [esp + 0x1c]
mov dword [ecx + 4], edx
and dword [eax + 0x104], 0
mov ecx, dword [esi + 0x2c]
call fcn.6d67a7cf
push 4
push 6
push esi
call fcn.6d681d7e
add esp, 0xc
pop esi
ret 0x18

Function at 0x6d75b5c6
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push esi
push dword [ebp + 8]
call fcn.6d6aa75f
mov esi, eax
push 6
push esi
call fcn.6d681e40
add esp, 0xc
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [ebp + 0x10]
add eax, 0x104
mov dword [eax], 1
mov ecx, dword [ecx]
and dword [eax], 0
mov dword [ebp + 8], ecx
mov ecx, dword [esi + 0x2c]
call fcn.6d67a7cf
push 4
push 6
push esi
call fcn.6d681d7e
fld dword [ebp + 8]
add esp, 0xc
pop esi
pop ebp
ret 0x10

Function at 0x6d75b61e
Capabilities:
Get thread local storage value

Disassembly:
push esi
push dword [esp + 8]
call fcn.6d6aa75f
mov esi, eax
push 6
push esi
call fcn.6d681e40
add esp, 0xc
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
fld dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
fstp dword [ecx]
and dword [eax + 0x104], 0
mov ecx, dword [esi + 0x2c]
call fcn.6d67a7cf
push 4
push 6
push esi
call fcn.6d681d7e
add esp, 0xc
pop esi
ret 0x14

Function at 0x6d75b66b
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push esi
push dword [ebp + 8]
call fcn.6d6aa75f
mov esi, eax
push 6
push esi
call fcn.6d681e40
add esp, 0xc
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [ebp + 0x10]
add eax, 0x104
mov dword [eax], 1
fld qword [ecx]
and dword [eax], 0
mov ecx, dword [esi + 0x2c]
fstp qword [ebp + 0x10]
call fcn.6d67a7cf
push 4
push 6
push esi
call fcn.6d681d7e
fld qword [ebp + 0x10]
add esp, 0xc
pop esi
pop ebp
ret 0x10

Function at 0x6d75b6c3
Capabilities:
Get thread local storage value

Disassembly:
push esi
push dword [esp + 8]
call fcn.6d6aa75f
mov esi, eax
push 6
push esi
call fcn.6d681e40
add esp, 0xc
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
fld qword [esp + 0x18]
mov ecx, dword [esp + 0x10]
fstp qword [ecx]
and dword [eax + 0x104], 0
mov ecx, dword [esi + 0x2c]
call fcn.6d67a7cf
push 4
push 6
push esi
call fcn.6d681d7e
add esp, 0xc
pop esi
ret 0x18
Function at 0x6d761db6
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
push edi
mov esi, ecx
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push eax
lea ecx, [ebp - 0x1c]
call fcn.6d64bc19
cmp dword [ebp + 8], 0
jne 0x6d761e4d
mov eax, dword [esi]
mov edi, dword [0x6d7c358c]
mov ecx, esi
call dword [eax + 0x1c]
mov ecx, eax
call fcn.6d68355d
cmp eax, edi
jne 0x6d761e4d
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1c]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x44]
cmp eax, dword [0x6d7c2fd4]
jne 0x6d761e4d
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x24]
mov eax, dword [eax]
cmp dword [eax], 0
je 0x6d761e4d
mov eax, dword [eax + 8]
mov eax, dword [eax]
cmp dword [eax], 0xc
jne 0x6d761e4d
mov eax, dword [eax + 8]
test eax, eax
je 0x6d761e4d
mov edi, dword [eax]
mov ecx, dword [edi + 4]
add ecx, 8
call fcn.6d7085ea
push eax
push edi
push str._t__waiting_on__0x_08x___a__s_
push dword [0x6d7bf31c]
call fcn.6d71fdc8
add esp, 0x10
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x2c]
mov ecx, eax
mov dword [ebp - 0xc], ecx
mov eax, dword [ecx]
test eax, eax
je 0x6d761ed6
and dword [ebp - 4], 0
lea ebx, [eax - 1]
test ebx, ebx
jl 0x6d761ed6
mov eax, dword [ecx + 8]
mov eax, dword [eax + ebx*4]
mov edi, dword [eax]
test edi, edi
je 0x6d761ed3
cmp dword [ebp - 4], 0
mov dword [ebp - 8], str.locked
jne 0x6d761ea6
cmp dword [ebp + 8], 0
jne 0x6d761ea6
mov eax, dword [esi + 0x90]
mov eax, dword [eax + 0xe8]
cmp eax, 0xa
jl 0x6d761ea6
cmp eax, 0xb
jg 0x6d761ea6
mov dword [ebp - 8], str.waiting_to_lock
mov eax, dword [edi + 4]
mov dword [ebp - 4], 1
lea ecx, [eax + 8]
call fcn.6d7085ea
push eax
push edi
push dword [ebp - 8]
push str._t___s__0x_08x___a__s_
push dword [0x6d7bf31c]
call fcn.6d71fdc8
mov ecx, dword [ebp - 0xc]
add esp, 0x14
dec ebx
jns 0x6d761e6a
lea ecx, [ebp - 0x1c]
call fcn.6d6a63ec
pop edi
pop esi
pop ebx
leave
ret 4
Function at 0x6d762ddb
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa0
push ebx
push esi
push edi
mov ebx, ecx
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push 0
push eax
lea ecx, [ebp - 0xa0]
call fcn.6d6ac9f1
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0xa0]
push 0
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.6d6ada62
mov esi, eax
lea edi, [ebp - 0x10]
movsd dword es:[edi], dword [esi]
and dword [ebp + 8], 0
cmp dword [ebx + 0x44], 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jle 0x6d762e68
lea eax, [ebx + 0xa8]
mov dword [ebp - 4], eax
mov edi, dword [ebp - 4]
lea esi, [ebp - 0x10]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0xa0]
push 0
movsd dword es:[edi], dword [esi]
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x10]
movsd dword es:[edi], dword [esi]
call fcn.6d6ada62
inc dword [ebp + 8]
mov esi, eax
lea edi, [ebp - 0x10]
mov eax, dword [ebp + 8]
movsd dword es:[edi], dword [esi]
add dword [ebp - 4], 0x20
cmp eax, dword [ebx + 0x44]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jl 0x6d762e33
lea esi, [ebp - 0x10]
lea edi, [ebp - 0x1c]
mov eax, dword [ebx + 0x44]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
dec eax
movsd dword es:[edi], dword [esi]
mov dword [ebp + 8], eax
js 0x6d762ecc
jmp 0x6d762e7f
mov eax, dword [ebp + 8]
test eax, eax
jne 0x6d762e89
xor edi, edi
xor ecx, ecx
jmp 0x6d762e9d
mov ecx, eax
shl ecx, 5
mov ecx, dword [ecx + ebx + 0x98]
movzx edi, word [ecx + 0x1e]
movzx ecx, word [ecx + 0x1c]
mov edx, eax
push dword [ebp + 0xc]
shl edx, 5
lea esi, [edx + ebx + 0xa8]
xor edx, edx
test eax, eax
sete dl
lea eax, [ebp - 0x1c]
push edx
push eax
push ecx
push edi
mov ecx, esi
call fcn.6d7629bd
lea edi, [ebp - 0x1c]
dec dword [ebp + 8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jns 0x6d762e7c
mov ecx, ebx
call fcn.6d762f06
pop edi
pop esi
pop ebx
leave
ret 8

Function at 0x6d762f06
Capabilities:
Get thread local storage value

Disassembly:
push ebp
push esi
push edi
mov esi, ecx
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
xor edi, edi
mov ebp, eax
cmp dword [esi + 0x44], edi
jle 0x6d762f39
push ebx
lea ebx, [esi + 0xa8]
push ebp
mov ecx, ebx
call fcn.6d762eda
inc edi
add ebx, 0x20
cmp edi, dword [esi + 0x44]
jl 0x6d762f27
pop ebx
pop edi
pop esi
pop ebp
ret