joyce8/EMBER2024-capa huggingface dataset:
Function at 0x6d7246ce
Capabilities:
Get session user name
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10c
push ebx
push edi
push str.USERNAME
call dword [sym.imp.MSVCRT.dll_getenv]
mov ebx, eax
pop ecx
test ebx, ebx
mov dword [ebp - 8], 0x101
je 0x6d724700
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x6d72471b
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
test eax, eax
je 0x6d72476b
lea ebx, [ebp - 0x10c]
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
push esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
inc esi
push esi
call fcn.6d71c250
test eax, eax
pop ecx
mov dword [ebp - 4], eax
jne 0x6d724746
push str.char_in_C:_BUILD_AREA_jdk1.5.0_13_hotspot_srcoswin32_vmperfMemory_win32.cpp
push esi
call fcn.6d6c65d4
pop ecx
pop ecx
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [ebp - 4]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x6d72476d
xor eax, eax
pop edi
pop ebx
leave
ret

Function at 0x6d72481c
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x210
push ebx
xor ebx, ebx
cmp dword [0x6d7b5c04], ebx
je 0x6d724835
push 1
pop eax
jmp 0x6d7248ae
push 0x3a
push dword [ebp + 8]
call dword [sym.imp.MSVCRT.dll_strchr]
pop ecx
cmp eax, ebx
pop ecx
jne 0x6d72484a
xor eax, eax
jmp 0x6d7248ae
sub eax, dword [ebp + 8]
push esi
mov esi, eax
lea eax, [esi + 1]
push eax
lea eax, [ebp - 0x10c]
push dword [ebp + 8]
push eax
call dword [sym.imp.MSVCRT.dll_strncpy]
add esp, 0xc
lea eax, [ebp - 0x210]
mov byte [ebp + esi - 0x10b], 0x5c
mov byte [ebp + esi - 0x10a], bl
push 0x104
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 8]
push eax
push ebx
push ebx
lea eax, [ebp - 0x10c]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
test eax, eax
pop esi
je 0x6d724846
mov eax, dword [ebp - 4]
test al, 8
je 0x6d724846
not eax
shr eax, 0xf
and eax, 1
pop ebx
leave
ret

Function at 0x6d724a37
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push dword [esp + 4]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x6d724a4e
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x6d724a53
test ah, 4
je 0x6d724a56
xor eax, eax
ret
movzx eax, al
shr eax, 4
and eax, 1
ret

Function at 0x6d724f89
Capabilities:
Create directory

Disassembly:
push esi
call fcn.6d724fcf
mov esi, eax
test esi, esi
je 0x6d724fbf
push esi
push dword [esp + 0xc]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x6d724fc3
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x6d724fbf
push dword [esp + 8]
call fcn.6d724a37
test eax, eax
pop ecx
jne 0x6d724fc3
xor eax, eax
pop esi
ret
push esi
call fcn.6d724c4d
pop ecx
push 1
pop eax
pop esi
ret
Function at 0x6d725e1b
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
push edi
and dword [esi + 4], 0
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [esp + 0xc]
mov dword [ecx], eax
mov dword [esi], eax
mov edi, dword [eax + 4]
test edi, edi
jne 0x6d725e42
xor eax, eax
jmp 0x6d725e53
mov eax, dword [ecx]
push 4
mov ecx, dword [eax + 0x90]
call fcn.6d645be3
mov dword [eax], edi
mov ecx, dword [esi]
mov dword [esi + 4], eax
call fcn.6d6ae503
mov eax, dword [esi]
pop edi
mov ecx, dword [eax + 0xc]
mov dword [esi + 8], ecx
mov eax, dword [eax + 8]
mov dword [esi + 0xc], eax
mov eax, esi
pop esi
ret 4
Function at 0x6d728a05
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
mov ebx, ecx
mov ecx, dword [ebp + 0x14]
xor eax, eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], ecx
mov dword [ebx], sym.jvm.dll_const_PSGenerationCounters::vftable
cmp dword [0x6d792124], eax
push esi
push edi
je 0x6d728bb1
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 0x6d728a92
push str.char_in_C:_BUILD_AREA_jdk1.5.0_13_hotspot_src_share_vmgc_implementationparallelScavengepsGenerationCounters.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 0x6d728ba1
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 0x6d728ba1
push str.minCapacity
push dword [ebx + 0xc]
call fcn.6d723d3f
mov ecx, dword [ebx + 0x10]
push dword [ebp + 0x14]
mov edx, dword [ecx + 0x14]
push esi
sub edx, dword [ecx + 0x10]
push edx
push 2
push eax
push edi
call fcn.6d723e50
mov eax, dword [ebp + 0x14]
add esp, 0x20
cmp dword [eax + 4], esi
jne 0x6d728ba1
push str.maxCapacity
push dword [ebx + 0xc]
call fcn.6d723d3f
mov ecx, dword [ebx + 0x10]
push dword [ebp + 0x14]
mov edx, dword [ecx + 0xc]
push esi
sub edx, dword [ecx + 8]
push edx
push 2
push eax
push edi
call fcn.6d723e50
mov eax, dword [ebp + 0x14]
add esp, 0x20
cmp dword [eax + 4], esi
jne 0x6d728ba1
push str.capacity
push dword [ebx + 0xc]
call fcn.6d723d3f
mov ecx, dword [ebx + 0x10]
push dword [ebp + 0x14]
mov edx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
sub ecx, edx
push esi
push ecx
push 2
push eax
push edi
call fcn.6d723f82
mov dword [ebx + 4], eax
mov eax, dword [ebp + 0x14]
add esp, 0x20
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 0x6d7315c7
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb8
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push dword [0x6d7a23c4]
call esi
push eax
lea ecx, [ebp - 0x10]
call fcn.6d64bc19
push dword [0x6d7a23c4]
xor edi, edi
call esi
cmp dword [eax + 0xa8], edi
je 0x6d7316ba
push edi
push eax
lea ecx, [ebp - 0xb8]
call fcn.6d7624bf
cmp dword [ebp - 0x28], 2
je 0x6d7316ba
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x44]
cmp eax, dword [0x6d7c2fd8]
jne 0x6d73163f
lea ecx, [ebp - 0xb8]
call fcn.6d7625ad
cmp dword [ebp - 0x28], 2
jne 0x6d731617
mov ecx, dword [ebp - 0x1c]
cmp dword [ebp - 0x28], 2
je 0x6d7316ba
mov eax, dword [ecx + 0xc]
push dword [ebp - 0x18]
mov esi, dword [eax + 0x14]
call fcn.6d713284
mov ebx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax + 0x98]
test ecx, ecx
je 0x6d73166f
call fcn.6d7415c5
mov edi, eax
test esi, esi
je 0x6d7316ba
lea ecx, [esi + 8]
call fcn.6d7085ea
mov esi, eax
mov eax, dword [ebp + 8]
lea ecx, [eax + 8]
call fcn.6d7085ea
test edi, edi
je 0x6d7316a5
push ebx
push edi
push eax
push esi
push str.RESOLVE__s__s__s:_d__reflection__n
push dword [0x6d7bf31c]
call fcn.6d71fd90
add esp, 0x18
jmp 0x6d7316ba
push eax
push esi
push str.RESOLVE__s__s__reflection__n
push dword [0x6d7bf31c]
call fcn.6d71fd90
add esp, 0x10
lea ecx, [ebp - 0x10]
call fcn.6d6a63ec
pop edi
pop esi
pop ebx
leave
ret

Function at 0x6d735897
Capabilities:
Get thread local storage value

Disassembly:
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push dword [esp + 0xc]
mov eax, dword [eax + 0x8c]
mov ecx, eax
push dword [esp + 0xc]
push dword [esp + 0xc]
call fcn.6d641b1e
ret

Function at 0x6d7358bd
Capabilities:
Get thread local storage value

Disassembly:
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
mov eax, dword [eax + 0x8c]
add edx, ecx
cmp edx, dword [eax + 8]
jne 0x6d7358e1
mov dword [eax + 8], ecx
ret
Function at 0x6d736230
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push 1
xor ebx, ebx
cmp dword [0x6d7b5ac4], ebx
pop edi
mov esi, edi
je 0x6d73626b
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
mov esi, eax
xor eax, eax
cmp esi, ebx
sete al
push eax
call fcn.6d6a08d8
pop ecx
mov ecx, dword [0x6d7bdbc8]
call fcn.6d714b1e
xor eax, eax
cmp esi, ebx
mov esi, dword [0x6d7c1d7c]
sete al
inc eax
mov dword [0x6d7bf5d0], eax
call fcn.6d736104
mov ecx, dword [0x6d7bdbc4]
mov dword [ebp - 0xc], ecx
call fcn.6d714b1e
mov dword [0x6d7bf5d4], esi
mov dword [ebp - 8], esi
mov dword [0x6d7bf5cc], edi
call fcn.6d71d118
test eax, eax
je 0x6d7362b9
lock add dword [esp], 0
cmp dword [0x6d791d78], ebx
jne 0x6d7362c6
call fcn.6d71c638
call fcn.6d6c15c8
cmp dword [0x6d791d84], ebx
je 0x6d7362d8
call fcn.6d71f41b
cmp esi, ebx
mov dword [ebp - 4], ebx
jle 0x6d736331
mov edi, dword [0x6d7c1d78]
cmp edi, ebx
je 0x6d73630e
mov esi, dword [edi + 0xec]
cmp dword [esi + 4], ebx
jne 0x6d736306
push dword [ebp - 4]
mov ecx, esi
call fcn.6d736799
cmp dword [esi + 4], ebx
je 0x6d736306
dec dword [ebp - 8]
mov edi, dword [edi + 0xa0]
jmp 0x6d7362e5
cmp dword [ebp - 8], ebx
jle 0x6d736331
mov eax, dword [ebp - 4]
cmp eax, dword [0x6d7b5bd0]
jae 0x6d736325
call fcn.6d71ed25
jmp 0x6d73632c
push eax
call fcn.6d71ed2e
pop ecx
inc dword [ebp - 4]
jmp 0x6d7362df
cmp dword [0x6d7bf5d4], ebx
jle 0x6d736349
mov ecx, dword [0x6d7bdbc4]
push ebx
push 1
call fcn.6d715ae1
jmp 0x6d736331
mov eax, dword [0x6d7bf5dc]
inc eax
mov dword [0x6d7bf5dc], eax
mov dword [0x6d7bf5cc], 2
call fcn.6d71d118
pop edi
pop esi
test eax, eax
pop ebx
je 0x6d73636f
lock add dword [esp], 0
call fcn.6d73614c
call fcn.6d73651a
mov ecx, dword [ebp - 0xc]
call fcn.6d715a3f
leave
ret
Function at 0x6d736383
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe0
xor eax, eax
cmp dword [0x6d7bf5d0], 1
push ebx
push esi
sete al
push edi
mov dword [ebp - 4], eax
mov eax, dword [0x6d7bf5dc]
inc eax
mov dword [0x6d7bf5dc], eax
mov ebx, dword [0x6d7c1d78]
xor edi, edi
cmp ebx, edi
je 0x6d736468
cmp dword [ebx + 4], edi
je 0x6d73645d
mov eax, dword [ebx + 0xec]
cmp dword [eax + 4], 3
jne 0x6d73645d
lea ecx, [ebp - 0x2c]
call fcn.6d641711
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push eax
lea ecx, [ebp - 0x5c]
call fcn.6d6b5a73
lea eax, [ebp - 0x44]
mov ecx, ebx
push eax
call fcn.6d67a6e6
sub esp, 0xc
mov esi, eax
mov edi, esp
lea eax, [ebp - 0x38]
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 - 0x10]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0
push ebx
lea ecx, [ebp - 0xe0]
movsd dword es:[edi], dword [esi]
call fcn.6d6ac9f1
lea eax, [ebp - 0xe0]
lea ecx, [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.6d6ad997
mov esi, eax
lea edi, [ebp - 0x1c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push dword [ebp - 0x1c]
push ebx
call fcn.6d6a6352
pop ecx
pop ecx
lea ecx, [ebp - 0x5c]
call fcn.6d6b5aa6
lea ecx, [ebp - 0x2c]
call fcn.6d6a63ec
xor edi, edi
mov ebx, dword [ebx + 0xa0]
jmp 0x6d7363b1
cmp dword [0x6d791d84], edi
je 0x6d736475
call fcn.6d71f45e
call fcn.6d6c15f1
mov ebx, dword [0x6d7bdbc4]
mov ecx, ebx
call fcn.6d714b1e
mov dword [0x6d7bf5cc], edi
call fcn.6d71d118
test eax, eax
je 0x6d73649b
lock add dword [esp], 0
mov esi, dword [0x6d7c1d78]
cmp esi, edi
je 0x6d7364cc
cmp dword [0x6d7b5bec], edi
je 0x6d7364b2
call fcn.6d6469c6
push esi
call fcn.6d7503db
pop ecx
mov ecx, dword [esi + 0xec]
call fcn.6d7369d0
mov esi, dword [esi + 0xa0]
jmp 0x6d7364a1
mov dword [0x6d7bf5d0], edi
call fcn.6d73616e
mov ecx, dword [0x6d7bdbc8]
call fcn.6d715a3f
call fcn.6d71d220
mov ecx, ebx
mov dword [0x6d7bf5d8], eax
call fcn.6d715a3f
cmp dword [0x6d7b5ac4], edi
je 0x6d73650a
xor eax, eax
cmp dword [ebp - 4], edi
sete al
push eax
call fcn.6d6a0983
pop ecx
pop edi
pop esi
pop ebx
leave
ret

Function at 0x6d73a3c2
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
push edi
and dword [esi + 4], 0
mov dword [esi], sym.jvm.dll_const_SignatureIterator::vftable
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, dword [esp + 0xc]
test edi, edi
jne 0x6d73a3e8
xor eax, eax
jmp 0x6d73a3f7
mov ecx, dword [eax + 0x90]
push 4
call fcn.6d645be3
mov dword [eax], edi
and dword [esi + 0xc], 0
mov dword [esi + 4], eax
mov eax, esi
pop edi
pop esi
ret 4
Function at 0x6d73a937
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
push edi
mov ecx, dword [esi]
test ecx, ecx
jne 0x6d73a945
xor edx, edx
jmp 0x6d73a947
mov edx, dword [ecx]
movzx edx, word [edx + 8]
mov eax, dword [esi + 8]
cmp eax, edx
je 0x6d73aab4
test ecx, ecx
mov dword [esi + 4], eax
jne 0x6d73a961
xor edx, edx
jmp 0x6d73a963
mov edx, dword [ecx]
movsx edx, byte [eax + edx + 0xa]
cmp edx, 0x4a
jg 0x6d73a9eb
je 0x6d73a9df
sub edx, 0x29
je 0x6d73a9c8
sub edx, 0x19
je 0x6d73a9bc
dec edx
je 0x6d73a9b0
dec edx
je 0x6d73a9a4
dec edx
dec edx
je 0x6d73a998
sub edx, 3
jne 0x6d73aa14
mov dword [esi + 0xc], 0xa
jmp 0x6d73aab4
mov dword [esi + 0xc], 6
jmp 0x6d73aab4
mov dword [esi + 0xc], 7
jmp 0x6d73aab4
mov dword [esi + 0xc], 5
jmp 0x6d73aab4
mov dword [esi + 0xc], 8
jmp 0x6d73aab4
inc eax
mov ecx, esi
mov dword [esi + 8], eax
call fcn.6d73a937
mov dword [esi + 0x10], 1
jmp 0x6d73ab0e
mov dword [esi + 0xc], 0xb
jmp 0x6d73aab4
sub edx, 0x4c
je 0x6d73aaed
sub edx, 7
je 0x6d73aae4
sub edx, 3
je 0x6d73aadb
push 4
pop edi
sub edx, edi
je 0x6d73aad6
dec edx
je 0x6d73aa2b
push 0x12f
push str.C:_BUILD_AREA_jdk1.5.0_13_hotspot_src_share_vm_runtime_signature.cpp
call fcn.6d6a37b4
pop ecx
pop ecx
int3
mov dword [esi + 0xc], 0xd
mov edx, dword [ecx]
mov al, byte [eax + edx + 0xa]
cmp al, 0x30
jl 0x6d73aa51
cmp al, 0x39
jg 0x6d73aa51
mov eax, dword [esi + 8]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov edx, dword [ecx]
mov al, byte [edx + eax + 0xa]
jmp 0x6d73aa38
mov eax, dword [esi + 8]
mov edx, dword [ecx]
cmp byte [eax + edx + 0xa], 0x5b
jne 0x6d73aa7f
inc eax
mov dword [esi + 8], eax
mov edx, dword [ecx]
mov dl, byte [eax + edx + 0xa]
cmp dl, 0x30
jl 0x6d73aa51
cmp dl, 0x39
jg 0x6d73aa51
mov edx, eax
inc eax
mov dword [esi + 8], eax
mov edi, dword [ecx]
mov dl, byte [edi + edx + 0xa]
jmp 0x6d73aa67
test ecx, ecx
jne 0x6d73aa87
xor edx, edx
jmp 0x6d73aa89
mov edx, dword [ecx]
mov eax, dword [esi + 8]
movsx edx, byte [eax + edx + 0xa]
cmp edx, 0x42
jl 0x6d73aaba
cmp edx, 0x44
jle 0x6d73aab4
cmp edx, 0x46
je 0x6d73aab4
cmp edx, 0x48
jle 0x6d73aaba
cmp edx, 0x4a
jle 0x6d73aab4
cmp edx, 0x53
je 0x6d73aab4
cmp edx, 0x5a
jne 0x6d73aaba
inc eax
mov dword [esi + 8], eax
jmp 0x6d73ab0e
mov eax, dword [esi + 8]
test ecx, ecx
lea edx, [eax + 1]
mov dword [esi + 8], edx
jne 0x6d73aacb
xor edx, edx
jmp 0x6d73aacd
mov edx, dword [ecx]
cmp byte [edx + eax + 0xa], 0x3b
jne 0x6d73aaba
jmp 0x6d73ab0e
mov dword [esi + 0xc], edi
jmp 0x6d73aab4
mov dword [esi + 0xc], 0xe
jmp 0x6d73aab4
mov dword [esi + 0xc], 9
jmp 0x6d73aab4
mov dword [esi + 0xc], 0xc
mov eax, dword [esi + 8]
test ecx, ecx
lea edx, [eax + 1]
mov dword [esi + 8], edx
jne 0x6d73ab05
xor edx, edx
jmp 0x6d73ab07
mov edx, dword [ecx]
cmp byte [edx + eax + 0xa], 0x3b
jne 0x6d73aaf4
pop edi
pop esi
ret
Function at 0x6d73c173
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [ebp + 0x14]
push ebx
mov ebx, ecx
push esi
push edi
mov dword [ebx + 8], eax
cmp dword [0x6d792124], 0
je 0x6d73c339
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 - 0x14]
call fcn.6d64bc19
mov eax, dword [ebp + 0x18]
push dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
push str.space
push eax
call fcn.6d723d85
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
mov dword [ebp + 0x18], 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, 0x10
test esi, esi
mov dword [ebp + 0xc], esi
jne 0x6d73c1f7
push str.char_in_C:_BUILD_AREA_jdk1.5.0_13_hotspot_src_share_vmgc_implementation_shared_spaceCounters.cpp
push edi
call fcn.6d6c65d4
pop ecx
pop ecx
mov edi, dword [ebp + 0x18]
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 + 0xc]
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 0x6d73c329
push str.maxCapacity
push dword [ebx + 0xc]
call fcn.6d723d3f
push dword [ebp + 0x14]
push esi
push dword [ebp + 0x10]
push 2
push eax
push edi
call fcn.6d723e50
mov eax, dword [ebp + 0x14]
add esp, 0x20
cmp dword [eax + 4], esi
jne 0x6d73c329
push str.capacity
push dword [ebx + 0xc]
call fcn.6d723d3f
mov ecx, dword [ebx + 8]
push dword [ebp + 0x14]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
sub ecx, edx
push esi
shr ecx, 2
shl ecx, 2
push ecx
push 2
push eax
push edi
call fcn.6d723f82
mov dword [ebx], eax
mov eax, dword [ebp + 0x14]
add esp, 0x20
cmp dword [eax + 4], esi
jne 0x6d73c329
push str.used
push dword [ebx + 0xc]
call fcn.6d723d3f
push 8
mov dword [ebp + 0x18], eax
call fcn.6d641742
add esp, 0xc
cmp eax, esi
je 0x6d73c2da
mov ecx, dword [ebx + 8]
mov dword [eax], sym.jvm.dll_const_MutableSpaceUsedHelper::vftable
mov dword [eax + 4], ecx
jmp 0x6d73c2dc
xor eax, eax
push dword [ebp + 0x14]
push eax
push 2
push dword [ebp + 0x18]
push edi
call fcn.6d724010
mov dword [ebx + 4], eax
mov eax, dword [ebp + 0x14]
add esp, 0x14
cmp dword [eax + 4], esi
jne 0x6d73c329
push str.initCapacity
push dword [ebx + 0xc]
call fcn.6d723d3f
mov ecx, dword [ebx + 8]
push dword [ebp + 0x14]
mov edx, dword [ecx + 8]
push esi
sub edx, dword [ecx + 4]
shr edx, 2
shl edx, 2
push edx
push 2
push eax
push edi
call fcn.6d723e50
mov eax, dword [ebp + 0x14]
add esp, 0x20
lea ecx, [ebp - 0x14]
call fcn.6d6a63ec
lea ecx, [ebp - 4]
call fcn.6d6a92d6
pop edi
mov eax, ebx
pop esi
pop ebx
leave
ret 0x14
Function at 0x6d741bb2
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov ecx, dword [0x6d7bdc2c]
push ebx
push esi
push edi
call fcn.6d714bb6
mov edi, dword [ebp + 8]
xor ebx, ebx
cmp dword [0x6d7b5a9c], ebx
je 0x6d741c23
mov eax, dword [edi + 4]
lea ecx, [eax + 8]
mov eax, dword [eax + 8]
call dword [eax + 0x78]
cmp eax, ebx
je 0x6d741c23
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push eax
lea ecx, [ebp - 0x18]
call fcn.6d64bc19
mov eax, dword [edi + 4]
mov esi, dword [edi]
lea ecx, [eax + 8]
call fcn.6d7085ea
push eax
push esi
push edi
push str.Inflating_object_0x_08x___mark_0x_08x___type__s
push dword [0x6d7bf31c]
call fcn.6d71fdc8
add esp, 0x14
lea ecx, [ebp - 0x18]
call fcn.6d6a63ec
inc dword [0x6d7bf798]
cmp dword [0x6d7bf790], ebx
jne 0x6d741cbe
push 0x804
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, ebx
pop ecx
je 0x6d741c65
push 0x40
lea esi, [eax + 4]
pop ecx
mov dword [ebp - 4], esi
mov dword [eax], ecx
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
call fcn.6d719b51
add dword [ebp - 4], 0x20
dec dword [ebp - 8]
jne 0x6d741c52
jmp 0x6d741c67
xor esi, esi
cmp esi, ebx
jne 0x6d741c83
push str.Out_of_memory_in_ObjectSynchronizer::inflate___
push 0x92
push str.C:_BUILD_AREA_jdk1.5.0_13_hotspot_src_share_vm_runtime_synchronizer.cpp
call fcn.6d6a372c
add esp, 0xc
int3
push 0x3e
lea eax, [esi + 0x2c]
pop ecx
lea edx, [eax + 0x14]
mov dword [eax], edx
add eax, 0x20
dec ecx
jne 0x6d741c89
mov dword [esi + 0x7ec], ebx
mov eax, dword [0x6d7bf78c]
mov dword [esi + 0xc], eax
mov dword [esi + 4], 0xffffffff
add dword [0x6d7bf794], 0x40
lea eax, [esi + 0x20]
mov dword [0x6d7bf790], eax
mov dword [0x6d7bf78c], esi
mov eax, 0
mov ecx, dword [ebp + 8]
xchg dword [ecx], eax
test al, 3
jne 0x6d741d00
mov esi, dword [0x6d7bf790]
mov ecx, dword [esi + 0xc]
mov dword [0x6d7bf790], ecx
mov ecx, eax
and ecx, 0xfffffffd
mov ecx, dword [ecx]
mov dword [esi + 0xc], ebx
mov dword [esi], ecx
mov dword [esi + 8], eax
mov dword [esi + 0x18], ebx
mov dword [esi + 0x10], 1
cmp eax, ebx
jne 0x6d741cfb
mov dword [esi + 0x10], ebx
mov dword [esi + 4], edi
jmp 0x6d741d32
mov ecx, eax
push 1
and ecx, 7
pop edx
cmp cl, dl
jne 0x6d741d2b
mov esi, dword [0x6d7bf790]
mov ecx, dword [esi + 0xc]
mov dword [0x6d7bf790], ecx
mov dword [esi + 0xc], ebx
mov dword [esi], eax
mov dword [esi + 8], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x10], edx
jmp 0x6d741cf8
xor eax, 2
mov esi, eax
mov eax, dword [esi]
mov eax, esi
or al, 2
mov dword [edi], eax
mov ecx, dword [0x6d7bdc2c]
call fcn.6d715a3f
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret