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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
push edi
xor edi, edi
cmp dword [0x6d792124], edi
mov esi, ecx
je 0x6d6ae3e0
lea eax, [ebp - 4]
lea ecx, [ebp - 8]
push eax
call fcn.6d6a9287
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push eax
lea ecx, [ebp - 0x18]
call fcn.6d64bc19
mov eax, str.policy
push str.name
push eax
mov dword [esi + 8], eax
call fcn.6d723d3f
push dword [ebp - 4]
push dword [ebp + 8]
push eax
push 5
pop ebx
push ebx
call fcn.6d723de2
mov eax, dword [ebp - 4]
add esp, 0x18
cmp dword [eax + 4], edi
jne 0x6d6ae3d0
push str.collectors
push dword [esi + 8]
call fcn.6d723d3f
push dword [ebp - 4]
mov ecx, eax
mov eax, dword [ebp + 0xc]
cdq
push edx
push eax
push 1
push ecx
push ebx
call fcn.6d723e50
mov eax, dword [ebp - 4]
add esp, 0x20
cmp dword [eax + 4], edi
jne 0x6d6ae3d0
push str.generations
push dword [esi + 8]
call fcn.6d723d3f
push dword [ebp - 4]
mov ecx, eax
mov eax, dword [ebp + 0x10]
cdq
push edx
push eax
push 1
push ecx
push ebx
call fcn.6d723e50
mov eax, dword [ebp - 4]
add esp, 0x20
cmp dword [eax + 4], edi
jne 0x6d6ae3d0
push str.maxTenuringThreshold
push dword [esi + 8]
call fcn.6d723d3f
push dword [ebp - 4]
mov ecx, eax
mov eax, dword [0x6d79208c]
cdq
push edx
push eax
push 1
push ecx
push ebx
call fcn.6d723e50
mov eax, dword [ebp - 4]
add esp, 0x20
cmp dword [eax + 4], edi
jne 0x6d6ae3d0
push str.tenuringThreshold
push dword [esi + 8]
call fcn.6d723d3f
push dword [ebp - 4]
mov ecx, eax
mov eax, dword [0x6d79208c]
cdq
push edx
push eax
push 1
push ecx
push ebx
call fcn.6d723f82
mov dword [esi], eax
mov eax, dword [ebp - 4]
add esp, 0x20
cmp dword [eax + 4], edi
jne 0x6d6ae3d0
push str.desiredSurvivorSize
push dword [esi + 8]
call fcn.6d723d3f
push dword [ebp - 4]
push edi
push edi
push 2
push eax
push ebx
call fcn.6d723f82
mov dword [esi + 4], eax
mov eax, dword [ebp - 4]
add esp, 0x20
lea ecx, [ebp - 0x18]
call fcn.6d6a63ec
lea ecx, [ebp - 8]
call fcn.6d6a92d6
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret 0xc
Function at 0x6d6b356b
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x400
push esi
push edi
push dword [ebp + 0xc]
mov edi, 0x200
mov esi, ecx
lea eax, [ebp - 0x200]
push dword [ebp + 8]
mov dword [esi + 0x1c], 1
push edi
push eax
call dword [sym.imp.MSVCRT.dll__vsnprintf]
mov eax, dword [esi + 4]
add esp, 0x10
test eax, eax
je 0x6d6b35a4
mov eax, dword [eax]
mov ecx, eax
call fcn.6d68355d
mov ecx, eax
call fcn.6d7415c5
push eax
lea eax, [ebp - 0x200]
push eax
push str._s_in_method__s
lea eax, [ebp - 0x400]
push edi
push eax
call sym.jvm.dll_jio_snprintf
add esp, 0x14
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
lea ecx, [ebp - 0x400]
push 0
push ecx
push dword [0x6d7c3114]
push eax
lea eax, [ebp + 0xc]
push eax
call fcn.6d6a9240
mov eax, dword [eax]
add esp, 0x14
mov dword [esi + 0x20], eax
pop edi
pop esi
leave
ret 8
Function at 0x6d6b47cd
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [ebp + 0x14]
push ebx
mov ebx, ecx
push esi
push edi
mov dword [ebx + 8], eax
mov dword [ebx], sym.jvm.dll_const_GenerationCounters::vftable
cmp dword [0x6d792124], 0
je 0x6d6b4997
lea eax, [ebp + 0x14]
lea ecx, [ebp - 4]
push eax
call fcn.6d6a9287
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push eax
lea ecx, [ebp - 0x18]
call fcn.6d64bc19
push dword [ebp + 0xc]
push str.generation
call fcn.6d723db8
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
mov dword [ebp + 0xc], edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
inc edi
push edi
call fcn.6d71c250
mov esi, eax
add esp, 0xc
test esi, esi
mov dword [ebp - 8], esi
jne 0x6d6b4850
push str.char_in_C:_BUILD_AREA_jdk1.5.0_13_hotspot_src_share_vmgc_implementation_sharedgenerationCounters.cpp
push edi
call fcn.6d6c65d4
pop ecx
pop ecx
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
mov dword [ebx + 0xc], esi
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push str.name
mov eax, ecx
mov esi, edi
mov edi, dword [ebp - 8]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push dword [ebx + 0xc]
call fcn.6d723d3f
push dword [ebp + 0x14]
push dword [ebp + 8]
push eax
push 5
pop edi
push edi
call fcn.6d723de2
mov eax, dword [ebp + 0x14]
xor esi, esi
add esp, 0x18
cmp dword [eax + 4], esi
jne 0x6d6b4987
push str.spaces
push dword [ebx + 0xc]
call fcn.6d723d3f
push dword [ebp + 0x14]
mov ecx, eax
mov eax, dword [ebp + 0x10]
cdq
push edx
push eax
push 1
push ecx
push edi
call fcn.6d723e50
mov eax, dword [ebp + 0x14]
add esp, 0x20
cmp dword [eax + 4], esi
jne 0x6d6b4987
push str.minCapacity
push dword [ebx + 0xc]
call fcn.6d723d3f
pop ecx
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0x14]
pop ecx
mov ecx, dword [ebx + 8]
mov dword [ebp + 8], eax
call fcn.6d763c47
push dword [ebp + 8]
xor ecx, ecx
push ecx
push eax
push 2
push dword [ebp + 0xc]
push edi
call fcn.6d723e50
mov eax, dword [ebp + 0x14]
add esp, 0x18
cmp dword [eax + 4], esi
jne 0x6d6b4987
push str.maxCapacity
push dword [ebx + 0xc]
call fcn.6d723d3f
pop ecx
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0x14]
pop ecx
mov ecx, dword [ebx + 8]
mov dword [ebp + 8], eax
call fcn.6d763c4e
push dword [ebp + 8]
xor ecx, ecx
push ecx
push eax
push 2
push dword [ebp + 0xc]
push edi
call fcn.6d723e50
mov eax, dword [ebp + 0x14]
add esp, 0x18
cmp dword [eax + 4], esi
jne 0x6d6b4987
push str.capacity
push dword [ebx + 0xc]
call fcn.6d723d3f
pop ecx
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0x14]
pop ecx
mov ecx, dword [ebx + 8]
mov dword [ebp + 8], eax
call fcn.6d763c47
push dword [ebp + 8]
xor ecx, ecx
push ecx
push eax
push 2
push dword [ebp + 0xc]
push edi
call fcn.6d723f82
mov dword [ebx + 4], eax
mov eax, dword [ebp + 0x14]
add esp, 0x18
lea ecx, [ebp - 0x18]
call fcn.6d6a63ec
lea ecx, [ebp - 4]
call fcn.6d6a92d6
pop edi
mov eax, ebx
pop esi
pop ebx
leave
ret 0x10
Function at 0x6d6b5c49
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov edx, dword [ebp + 8]
and dword [ebp - 4], 0
mov eax, ecx
push ebx
mov ecx, dword [edx]
push esi
mov dword [ebp - 0xc], ecx
add ecx, 4
mov dword [edx], ecx
cmp dword [eax], 0
push edi
jle 0x6d6b5cb9
mov ecx, dword [eax + 4]
mov esi, dword [ebp - 4]
lea ecx, [ecx + esi*4]
mov esi, dword [ecx]
mov dword [ebp - 8], ecx
test esi, esi
je 0x6d6b5caf
mov ecx, dword [eax + 0x14]
mov edx, dword [edx]
lea edi, [ecx + edx]
cmp edi, dword [ebp + 0xc]
ja 0x6d6b5ced
mov edi, edx
mov edx, ecx
mov ebx, edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [ebp + 8]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 8]
mov dword [ecx], ebx
mov esi, dword [eax + 0x14]
add dword [edx], esi
mov ecx, dword [ecx]
add ecx, 4
jmp 0x6d6b5c73
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
cmp ecx, dword [eax]
jl 0x6d6b5c6a
mov edx, dword [edx]
mov ecx, dword [ebp - 0xc]
sub edx, ecx
sub edx, 4
mov dword [ecx], edx
xor edx, edx
cmp dword [eax], edx
jle 0x6d6b5ce6
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + edx*4]
test ecx, ecx
je 0x6d6b5ce1
or dword [ecx + 4], 1
mov ecx, dword [ecx + 4]
and ecx, 0xfffffffe
jne 0x6d6b5cd5
inc edx
cmp edx, dword [eax]
jl 0x6d6b5ccb
pop edi
pop esi
pop ebx
leave
ret 8
push str._nThe_shared_miscellaneous_data_space_is_not_large_enough_to__npreload_requested_classes.__Use__XX:SharedMiscDataSize_to_increase__nthe_initial_size_of_the_miscellaneous_data_space._n
call fcn.6d6a36ee
pop ecx
push 2
call dword [sym.imp.MSVCRT.dll_exit]

Function at 0x6d6b5d78
Capabilities:
Terminate process

Disassembly:
push ecx
mov eax, dword [esp + 8]
push esi
mov esi, ecx
push edi
mov ecx, dword [eax]
mov dword [esp + 8], esi
mov edx, dword [esi]
shl edx, 2
mov dword [ecx], edx
add dword [eax], 4
mov ecx, dword [eax]
mov edi, dword [esi + 0x18]
mov dword [ecx], edi
add dword [eax], 4
mov edi, dword [eax]
lea ecx, [edi + edx]
cmp ecx, dword [esp + 0x14]
jbe 0x6d6b5db9
push str._nThe_shared_miscellaneous_data_space_is_not_large_enough_to__npreload_requested_classes.__Use__XX:SharedMiscDataSize_to_increase__nthe_initial_size_of_the_miscellaneous_data_space._n
call fcn.6d6a36ee
pop ecx
push 2
call dword [sym.imp.MSVCRT.dll_exit]
mov esi, dword [esi + 4]
mov ecx, edx
push ebx
mov ebx, ecx
push ebp
mov ebp, edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 4], ebp
add dword [eax], edx
pop ebp
pop ebx
pop edi
pop esi
pop ecx
ret 8
Function at 0x6d6b67bc
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
push esi
mov esi, dword [sym.imp.KERNEL32.dll_TlsGetValue]
push dword [0x6d7a23c4]
call esi
push eax
lea ecx, [ebp - 0x18]
call fcn.6d6b5a73
push dword [0x6d7a23c4]
call esi
mov esi, dword [ebp + 8]
test esi, esi
jne 0x6d6b67ed
xor eax, eax
jmp 0x6d6b67fc
mov ecx, dword [eax + 0x90]
push 4
call fcn.6d645be3
mov dword [eax], esi
xor esi, esi
lea ecx, [ebp - 0x34]
push esi
push esi
push eax
call fcn.6d733d41
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], sym.jvm.dll_const_FieldStream::vftable
call fcn.6d6b68a7
mov dword [ebp - 0x1c], eax
sub dword [ebp - 0x1c], 7
lea ecx, [ebp - 0x34]
call fcn.6d733da9
test eax, eax
jne 0x6d6b689a
lea eax, [ebp + 8]
lea ecx, [ebp - 0x34]
push eax
call fcn.6d6b68bf
test byte [eax], 8
jne 0x6d6b681b
lea ecx, [ebp - 0x34]
call fcn.6d6b68f3
movsx eax, byte [eax + 0xa]
cmp eax, 0x4a
jg 0x6d6b686d
je 0x6d6b6868
sub eax, 0x42
je 0x6d6b6893
dec eax
je 0x6d6b6896
dec eax
je 0x6d6b6868
dec eax
dec eax
je 0x6d6b6863
sub eax, 3
jne 0x6d6b687f
add esi, 4
jmp 0x6d6b681b
add esi, 8
jmp 0x6d6b681b
sub eax, 0x4c
je 0x6d6b6863
sub eax, 7
je 0x6d6b6896
sub eax, 7
je 0x6d6b6893
dec eax
je 0x6d6b6863
push 0x2e9
push str.C:_BUILD_AREA_jdk1.5.0_13_hotspot_src_share_vm_servicesheapDumper.cpp
call fcn.6d6a37b4
pop ecx
pop ecx
int3
inc esi
jmp 0x6d6b681b
inc esi
inc esi
jmp 0x6d6b681b
lea ecx, [ebp - 0x18]
call fcn.6d6b5aa6
mov eax, esi
pop esi
leave
ret
Function at 0x6d6b6931
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
push ebx
push esi
push dword [0x6d7a23c4]
mov esi, dword [sym.imp.KERNEL32.dll_TlsGetValue]
call esi
push eax
lea ecx, [ebp - 0x20]
call fcn.6d6b5a73
push dword [0x6d7a23c4]
call esi
xor ebx, ebx
cmp dword [ebp + 0xc], ebx
jne 0x6d6b6964
mov dword [ebp - 4], ebx
jmp 0x6d6b6977
mov eax, dword [eax + 0x90]
push dword [ebp + 0xc]
mov ecx, eax
call fcn.6d67a638
mov dword [ebp - 4], eax
push 1
push 1
push dword [ebp - 4]
lea ecx, [ebp - 0x58]
call fcn.6d733d41
mov esi, sym.jvm.dll_const_FieldStream::vftable
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x58], esi
call fcn.6d6b68a7
mov dword [ebp - 0x40], eax
sub dword [ebp - 0x40], 7
lea ecx, [ebp - 0x58]
call fcn.6d733da9
test eax, eax
jne 0x6d6b69bd
lea eax, [ebp - 8]
lea ecx, [ebp - 0x58]
push eax
call fcn.6d6b68bf
test byte [eax], 8
je 0x6d6b6999
inc ebx
jmp 0x6d6b6999
push ebx
mov ebx, dword [ebp + 8]
mov ecx, ebx
call fcn.6d6b64c0
push 1
push 1
push dword [ebp - 4]
lea ecx, [ebp - 0x3c]
call fcn.6d733d41
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], esi
call fcn.6d6b68a7
mov dword [ebp - 0x24], eax
sub dword [ebp - 0x24], 7
lea ecx, [ebp - 0x3c]
call fcn.6d733da9
test eax, eax
jne 0x6d6b6a52
lea eax, [ebp - 8]
lea ecx, [ebp - 0x3c]
push eax
call fcn.6d6b68bf
test byte [eax], 8
je 0x6d6b69e5
lea ecx, [ebp - 0x3c]
call fcn.6d6b68f3
lea ecx, [ebp - 0x3c]
mov esi, eax
call fcn.6d6b6a5e
push eax
mov ecx, ebx
call fcn.6d6b6522
push esi
call fcn.6d6b656b
pop ecx
mov byte [ebp + 0xb], al
lea eax, [ebp + 0xb]
push 1
push eax
mov ecx, ebx
call fcn.6d6b63fb
lea ecx, [ebp - 0x3c]
call fcn.6d6b6a9c
add eax, dword [ebp + 0xc]
push eax
mov al, byte [esi + 0xa]
push eax
push ebx
call fcn.6d6b66aa
add esp, 0xc
jmp 0x6d6b69e5
lea ecx, [ebp - 0x20]
call fcn.6d6b5aa6
pop esi
pop ebx
leave
ret

Function at 0x6d6b6ab2
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push dword [0x6d7a23c4]
call esi
push eax
lea ecx, [ebp - 0x18]
call fcn.6d6b5a73
mov ebx, dword [ebp + 0xc]
push dword [0x6d7a23c4]
mov edi, dword [ebx + 4]
call esi
test edi, edi
jne 0x6d6b6ae8
xor eax, eax
jmp 0x6d6b6af9
mov eax, dword [eax + 0x90]
push 4
mov ecx, eax
call fcn.6d645be3
mov dword [eax], edi
push 0
push 0
push eax
lea ecx, [ebp - 0x34]
call fcn.6d733d41
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], sym.jvm.dll_const_FieldStream::vftable
call fcn.6d6b68a7
mov dword [ebp - 0x1c], eax
sub dword [ebp - 0x1c], 7
lea ecx, [ebp - 0x34]
call fcn.6d733da9
test eax, eax
jne 0x6d6b6b5f
lea eax, [ebp + 0xc]
lea ecx, [ebp - 0x34]
push eax
call fcn.6d6b68bf
test byte [eax], 8
jne 0x6d6b6b18
lea ecx, [ebp - 0x34]
call fcn.6d6b68f3
lea ecx, [ebp - 0x34]
mov esi, eax
call fcn.6d6b6a9c
add eax, ebx
push eax
mov al, byte [esi + 0xa]
push eax
push dword [ebp + 8]
call fcn.6d6b66aa
add esp, 0xc
jmp 0x6d6b6b18
lea ecx, [ebp - 0x18]
call fcn.6d6b5aa6
pop edi
pop esi
pop ebx
leave
ret
Function at 0x6d6b6b6c
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
push ebx
push esi
push dword [0x6d7a23c4]
mov esi, dword [sym.imp.KERNEL32.dll_TlsGetValue]
call esi
push eax
lea ecx, [ebp - 0x1c]
call fcn.6d6b5a73
push dword [0x6d7a23c4]
call esi
cmp dword [ebp + 0xc], 0
jne 0x6d6b6b9d
xor ebx, ebx
jmp 0x6d6b6baf
mov eax, dword [eax + 0x90]
push dword [ebp + 0xc]
mov ecx, eax
call fcn.6d67a638
mov ebx, eax
and dword [ebp + 0xc], 0
push 1
push 1
push ebx
lea ecx, [ebp - 0x54]
call fcn.6d733d41
mov esi, sym.jvm.dll_const_FieldStream::vftable
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x54], esi
call fcn.6d6b68a7
mov dword [ebp - 0x3c], eax
sub dword [ebp - 0x3c], 7
lea ecx, [ebp - 0x54]
call fcn.6d733da9
test eax, eax
jne 0x6d6b6bf9
lea eax, [ebp - 4]
lea ecx, [ebp - 0x54]
push eax
call fcn.6d6b68bf
test byte [eax], 8
jne 0x6d6b6bd3
inc dword [ebp + 0xc]
jmp 0x6d6b6bd3
push dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
call fcn.6d6b64c0
push 1
push 1
push ebx
lea ecx, [ebp - 0x38]
call fcn.6d733d41
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], esi
call fcn.6d6b68a7
mov dword [ebp - 0x20], eax
sub dword [ebp - 0x20], 7
lea ecx, [ebp - 0x38]
call fcn.6d733da9
test eax, eax
jne 0x6d6b6c75
lea eax, [ebp - 4]
lea ecx, [ebp - 0x38]
push eax
call fcn.6d6b68bf
test byte [eax], 8
jne 0x6d6b6c1f
lea ecx, [ebp - 0x38]
call fcn.6d6b68f3
lea ecx, [ebp - 0x38]
mov esi, eax
call fcn.6d6b6a5e
mov ecx, dword [ebp + 8]
push eax
call fcn.6d6b6522
push esi
call fcn.6d6b656b
pop ecx
mov byte [ebp + 0xf], al
mov ecx, dword [ebp + 8]
lea eax, [ebp + 0xf]
push 1
push eax
call fcn.6d6b63fb
jmp 0x6d6b6c1f
lea ecx, [ebp - 0x1c]
call fcn.6d6b5aa6
pop esi
pop ebx
leave
ret
Function at 0x6d6b7575
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe4
mov eax, dword [ecx + 0x18]
and dword [ebp - 0x18], 0
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x10], eax
push esi
lea eax, [ebp - 0x1c]
push edi
mov dword [ebp - 8], ecx
mov ecx, dword [ebx + 0x24]
push eax
mov dword [ebp - 0x1c], sym.jvm.dll_const_JNILocalsDumper::vftable
call fcn.6d6dc33e
cmp dword [ebx + 0xa8], 0
je 0x6d6b770a
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov esi, eax
lea ecx, [ebp - 0x3c]
push esi
call fcn.6d64bc19
push esi
lea ecx, [ebp - 0x60]
call fcn.6d6b5a73
push 1
push ebx
lea ecx, [ebp - 0xe4]
call fcn.6d6ac9f1
lea eax, [ebp - 0x48]
mov ecx, ebx
push eax
call fcn.6d67a6e6
sub esp, 0xc
mov esi, eax
mov edi, esp
lea eax, [ebp - 0x6c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
mov ecx, ebx
movsd dword es:[edi], dword [esi]
call fcn.6d75246d
mov esi, eax
lea edi, [ebp - 0x2c]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0xe4]
push ebx
movsd dword es:[edi], dword [esi]
push eax
lea eax, [ebp - 0x2c]
push eax
movsd dword es:[edi], dword [esi]
call fcn.6d761add
add esp, 0xc
mov esi, eax
test esi, esi
je 0x6d6b76fa
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
test eax, eax
je 0x6d6b76cf
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1c]
test byte [eax + 0x11], 1
jne 0x6d6b76ef
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x24]
and dword [ebp - 4], 0
mov edi, eax
mov eax, dword [edi]
cmp dword [eax], 0
jle 0x6d6b76ef
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 4]
mov eax, dword [eax + ecx*4]
cmp dword [eax], 0xc
jne 0x6d6b76c1
lea eax, [ebp - 0x20]
push ecx
push eax
mov ecx, edi
call fcn.6d73cf9e
mov eax, dword [eax]
test eax, eax
je 0x6d6b76c1
mov eax, dword [eax]
test eax, eax
mov dword [ebp - 0xc], eax
je 0x6d6b76c1
mov ebx, dword [ebp - 8]
lea eax, [ebp + 0xb]
push 1
push eax
mov ecx, dword [ebx + 0x18]
mov byte [ebp + 0xb], 3
call fcn.6d6b63fb
push dword [ebp - 0xc]
mov ecx, dword [ebx + 0x18]
call fcn.6d6b6522
push dword [ebp + 0xc]
mov ecx, dword [ebx + 0x18]
call fcn.6d6b64e3
mov ecx, dword [ebx + 0x18]
push 0xffffffffffffffff
call fcn.6d6b64e3
inc dword [ebp - 4]
mov eax, dword [edi]
mov ecx, dword [ebp - 4]
cmp ecx, dword [eax]
jl 0x6d6b7663
jmp 0x6d6b76ef
lea edi, [esi + 8]
mov ecx, edi
call fcn.6d6ad959
test eax, eax
je 0x6d6b76ef
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [edi + 8]
mov eax, dword [eax + 8]
mov ecx, dword [eax + 4]
call fcn.6d6dc33e
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
jmp 0x6d6b7621
lea ecx, [ebp - 0x60]
call fcn.6d6b5aa6
lea ecx, [ebp - 0x3c]
call fcn.6d6a63ec
pop edi
pop esi
pop ebx
leave
ret 8
Function at 0x6d6b7ba0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push esi
mov esi, ecx
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push eax
lea ecx, [ebp - 0x10]
call fcn.6d64bc19
mov eax, dword [esi + 4]
cmp dword [eax + 0x44], 0
je 0x6d6b7bd4
lea ecx, [eax + 8]
call fcn.6d7085ea
jmp 0x6d6b7d12
cmp eax, dword [0x6d7c1e48]
jne 0x6d6b7be6
mov eax, str._klassKlass_
jmp 0x6d6b7d12
cmp eax, dword [0x6d7c1e4c]
jne 0x6d6b7bf8
mov eax, str._arrayKlassKlass_
jmp 0x6d6b7d12
cmp eax, dword [0x6d7c1e50]
jne 0x6d6b7c0a
mov eax, str._objArrayKlassKlass_
jmp 0x6d6b7d12
cmp eax, dword [0x6d7c1e58]
jne 0x6d6b7c1c
mov eax, str._instanceKlassKlass_
jmp 0x6d6b7d12
cmp eax, dword [0x6d7c1e54]
jne 0x6d6b7c2e
mov eax, str._typeArrayKlassKlass_
jmp 0x6d6b7d12
cmp eax, dword [0x6d7c1e38]
jne 0x6d6b7c40
mov eax, str._symbolKlass_
jmp 0x6d6b7d12
cmp eax, dword [0x6d7c1ddc]
jne 0x6d6b7c52
mov eax, str._boolArrayKlass_
jmp 0x6d6b7d12
cmp eax, dword [0x6d7c1de4]
jne 0x6d6b7c64
mov eax, str._charArrayKlass_
jmp 0x6d6b7d12
cmp eax, dword [0x6d7c1df4]
jne 0x6d6b7c76
mov eax, str._singleArrayKlass_
jmp 0x6d6b7d12
cmp eax, dword [0x6d7c1df8]
jne 0x6d6b7c88
mov eax, str._doubleArrayKlass_
jmp 0x6d6b7d12
cmp eax, dword [0x6d7c1de0]
jne 0x6d6b7c97
mov eax, str._byteArrayKlass_
jmp 0x6d6b7d12
cmp eax, dword [0x6d7c1dec]
jne 0x6d6b7ca6
mov eax, str._shortArrayKlass_
jmp 0x6d6b7d12
cmp eax, dword [0x6d7c1de8]
jne 0x6d6b7cb5
mov eax, str._intArrayKlass_
jmp 0x6d6b7d12
cmp eax, dword [0x6d7c1df0]
jne 0x6d6b7cc4
mov eax, str._longArrayKlass_
jmp 0x6d6b7d12
cmp eax, dword [0x6d7c1e3c]
jne 0x6d6b7cd3
mov eax, str._methodKlass_
jmp 0x6d6b7d12
cmp eax, dword [0x6d7c1e44]
jne 0x6d6b7ce2
mov eax, str._methodDataKlass_
jmp 0x6d6b7d12
cmp eax, dword [0x6d7c1e5c]
jne 0x6d6b7cf1
mov eax, str._constantPoolKlass_
jmp 0x6d6b7d12
cmp eax, dword [0x6d7c1e60]
jne 0x6d6b7d00
mov eax, str._constantPoolCacheKlass_
jmp 0x6d6b7d12
cmp eax, dword [0x6d7c1e64]
mov eax, str._compiledICHolderKlass_
je 0x6d6b7d12
mov eax, str._no_name_
push eax
mov eax, dword [esi + 0xc]
shl eax, 2
push eax
push dword [esi + 8]
push str._9d____9d___s
push dword [ebp + 8]
call fcn.6d71fdc8
add esp, 0x14
lea ecx, [ebp - 0x10]
call fcn.6d6a63ec
pop esi
leave
ret 4
Function at 0x6d6b9700
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push esi
mov esi, dword [ebp + 8]
test esi, esi
push edi
jne 0x6d6b9713
xor eax, eax
jmp 0x6d6b9715
mov eax, dword [esi]
cmp dword [eax + 0x70], 0
mov edi, dword [ebp + 0x14]
jne 0x6d6b983c
cmp dword [ebp + 0xc], 0
je 0x6d6b972f
xor eax, eax
jmp 0x6d6b9867
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push eax
lea ecx, [ebp - 0x18]
call fcn.6d64bc19
mov ecx, dword [0x6d7bdbe0]
push edi
mov dword [ebp - 4], ecx
call fcn.6d714ab8
mov ecx, dword [0x6d7bdbf4]
push edi
mov dword [ebp + 0x14], ecx
call fcn.6d714ab8
test esi, esi
jne 0x6d6b976a
xor eax, eax
jmp 0x6d6b976c
mov eax, dword [esi]
cmp dword [eax + 0x70], 0
jne 0x6d6b9802
mov eax, dword [0x6d7c1e50]
add eax, 8
cmp dword [0x6d7c1ebc], 1
mov dword [ebp - 8], eax
jne 0x6d6b97b2
push 0x10
call fcn.6d735879
mov esi, eax
pop ecx
test esi, esi
je 0x6d6b97a7
push 1
push 1
mov ecx, esi
call fcn.6d6b55d1
mov eax, esi
jmp 0x6d6b97a9
xor eax, eax
mov esi, dword [ebp + 8]
mov dword [edi + 0x130], eax
mov ecx, dword [ebp - 8]
push edi
push esi
push 1
call fcn.6d7194e8
cmp dword [edi + 4], 0
je 0x6d6b97e1
mov ecx, dword [ebp + 0x14]
call fcn.6d715a3f
mov ecx, dword [ebp - 4]
call fcn.6d715a3f
lea ecx, [ebp - 0x18]
call fcn.6d6a63ec
jmp 0x6d6b9728
test esi, esi
jne 0x6d6b97e9
xor ecx, ecx
jmp 0x6d6b97eb
mov ecx, dword [esi]
add ecx, 0x70
cmp dword [0x6d7bdc58], 0
mov dword [ecx], eax
je 0x6d6b9802
push eax
push ecx
call fcn.6d645e38
pop ecx
pop ecx
mov ecx, dword [ebp + 0x14]
call fcn.6d715a3f
mov ecx, dword [ebp - 4]
call fcn.6d715a3f
mov eax, dword [edi + 0x130]
lea esi, [edi + 0x130]
test eax, eax
je 0x6d6b9831
cmp dword [eax], 0
jle 0x6d6b982e
push eax
call fcn.6d75a018
pop ecx
and dword [esi], 0
lea ecx, [ebp - 0x18]
call fcn.6d6a63ec
mov esi, dword [ebp + 8]
test esi, esi
jne 0x6d6b9844
xor eax, eax
jmp 0x6d6b9846
mov eax, dword [esi]
mov ecx, dword [eax + 0x70]
add ecx, 8
cmp dword [ebp + 0xc], 0
je 0x6d6b985c
push dword [ebp + 0x10]
call fcn.6d708541
jmp 0x6d6b9867
mov eax, dword [ecx]
push edi
push dword [ebp + 0x10]
push 0
call dword [eax + 0x40]
pop edi
pop esi
leave
ret