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

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
push edi
push dword [0x6d7a23c4]
mov edi, ecx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
and dword [ebp - 4], 0
mov esi, eax
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0xc]
test eax, eax
je 0x6d707c11
cmp dword [0x6d7bf5cc], 2
je 0x6d707c42
mov eax, dword [edi]
cmp esi, eax
je 0x6d707c42
lea ecx, [ebp - 4]
push ecx
push 0
push eax
call fcn.6d6fa98c
add esp, 0xc
test eax, eax
jne 0x6d707c42
push str.sanity_check
push 0xb2
push str.C:_BUILD_AREA_jdk1.5.0_13_hotspot_src_share_vmprimsjvmtiThreadState.cpp
call fcn.6d6a372c
add esp, 0xc
int3
mov dword [edi + 0x1c], 0xffffff9d
pop edi
pop esi
leave
ret

Function at 0x6d707c4d
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, dword [esi]
je 0x6d707c78
push str.must_be_current_thread
push 0xb8
push str.C:_BUILD_AREA_jdk1.5.0_13_hotspot_src_share_vmprimsjvmtiThreadState.cpp
call fcn.6d6a372c
add esp, 0xc
int3
mov eax, dword [esi]
push 0xffffffffffffff9d
pop ecx
cmp dword [eax + 0x158], 0
jne 0x6d707c89
mov dword [esi + 0x1c], ecx
mov eax, dword [esi + 0x1c]
cmp eax, ecx
je 0x6d707c94
inc eax
mov dword [esi + 0x1c], eax
pop esi
ret

Function at 0x6d707c96
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, dword [esi]
je 0x6d707cc1
push str.must_be_current_thread
push 0xc3
push str.C:_BUILD_AREA_jdk1.5.0_13_hotspot_src_share_vmprimsjvmtiThreadState.cpp
call fcn.6d6a372c
add esp, 0xc
int3
mov eax, dword [esi]
push 0xffffffffffffff9d
pop ecx
cmp dword [eax + 0x158], 0
jne 0x6d707cd2
mov dword [esi + 0x1c], ecx
mov eax, dword [esi + 0x1c]
cmp eax, ecx
je 0x6d707cdd
dec eax
mov dword [esi + 0x1c], eax
pop esi
ret

Function at 0x6d707cdf
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ecx
and dword [ebp - 4], 0
push esi
push dword [0x6d7a23c4]
mov esi, ecx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [esi]
cmp eax, ecx
je 0x6d707d27
lea eax, [ebp - 4]
push eax
push 0
push ecx
call fcn.6d6fa98c
add esp, 0xc
test eax, eax
jne 0x6d707d27
push str.must_be_current_thread_or_suspended
push 0xd2
push str.C:_BUILD_AREA_jdk1.5.0_13_hotspot_src_share_vmprimsjvmtiThreadState.cpp
call fcn.6d6a372c
add esp, 0xc
int3
mov eax, dword [esi]
cmp dword [eax + 0x158], 0
je 0x6d707d38
cmp dword [esi + 0x1c], 0xffffff9d
jne 0x6d707d42
mov ecx, esi
call fcn.6d707b79
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x1c]
pop esi
leave
ret
Function at 0x6d708d24
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push ebx
push esi
push edi
mov edi, ecx
push dword [0x6d7a23c4]
mov dword [ebp - 8], edi
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push eax
lea ecx, [ebp - 0x28]
call fcn.6d64bc19
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 4], 1
mov eax, dword [ebx + 0x10]
test al, 8
jne 0x6d708eb4
mov esi, dword [0x6d7c34b4]
mov ecx, ebx
call fcn.6d68355d
cmp eax, esi
je 0x6d708eb4
mov eax, dword [ebp + 8]
test byte [eax + 0x4c], 0x10
jne 0x6d708d80
test byte [ebx + 0x10], 0x10
je 0x6d708d84
and dword [ebp - 4], 0
cmp dword [eax + 0x38], 0
jne 0x6d708d92
mov esi, dword [ebp - 4]
jmp 0x6d708eb6
mov eax, dword [ebx + 0x10]
test al, 2
jne 0x6d708d8a
mov ecx, ebx
call fcn.6d68355d
mov ecx, ebx
mov dword [ebp - 0x14], eax
call fcn.6d68356c
xor ecx, ecx
mov dword [ebp - 0x18], eax
cmp dword [ebp + 0x10], ecx
mov dword [ebp + 0xc], ecx
jle 0x6d708d8a
jmp 0x6d708dbc
mov edi, dword [ebp - 8]
mov eax, dword [edi]
test eax, eax
je 0x6d708dc4
mov eax, dword [eax]
lea eax, [eax + ecx*4]
mov ecx, dword [edi + 4]
mov esi, dword [eax + ecx]
mov ecx, esi
call fcn.6d68355d
cmp eax, dword [ebp - 0x14]
jne 0x6d708e9f
mov ecx, esi
call fcn.6d68356c
cmp eax, dword [ebp - 0x18]
jne 0x6d708e9f
mov eax, dword [esi + 0xc]
and dword [ebp - 0x10], 0
and dword [ebp - 0xc], 0
mov edi, dword [eax + 0x14]
mov eax, dword [esi + 0x10]
add edi, 8
test al, 1
jne 0x6d708e37
test al, 4
jne 0x6d708e37
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x10], 1
push dword [ecx + 0x3c]
mov eax, dword [ecx]
call dword [eax + 0x38]
push eax
mov ecx, edi
call fcn.6d6bc078
mov ecx, esi
mov dword [ebp - 0xc], eax
call fcn.6d709fb2
test eax, eax
je 0x6d708e9f
cmp dword [ebp - 0xc], 0
je 0x6d708e9f
push dword [ebp + 0xc]
mov ecx, dword [ebp - 8]
call fcn.6d708cb4
push dword [ebp + 0xc]
mov ecx, dword [ebp - 8]
mov esi, eax
push ebx
call fcn.6d708ec7
cmp esi, 2
jne 0x6d708e60
mov eax, dword [ebx + 0x10]
test al, 1
jne 0x6d708e95
test al, 4
jne 0x6d708e95
cmp esi, 1
jne 0x6d708e9f
mov ecx, ebx
call fcn.6d709fb2
test eax, eax
je 0x6d708e9f
cmp dword [ebp - 0x10], 0
je 0x6d708e7e
cmp dword [ebp - 0xc], 0
jne 0x6d708e95
jmp 0x6d708e9f
mov ecx, dword [ebp + 8]
push dword [ecx + 0x3c]
mov eax, dword [ecx]
call dword [eax + 0x38]
push eax
mov ecx, edi
call fcn.6d6bc078
test eax, eax
je 0x6d708e9f
mov eax, dword [ebp + 0xc]
and dword [ebp - 4], 0
mov dword [ebx + 0x14], eax
mov ecx, dword [ebp + 0xc]
inc ecx
cmp ecx, dword [ebp + 0x10]
mov dword [ebp + 0xc], ecx
jl 0x6d708db9
jmp 0x6d708d8a
xor esi, esi
lea ecx, [ebp - 0x28]
call fcn.6d6a63ec
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret 0xc
Function at 0x6d709bac
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [eax + 0x74]
push dword [0x6d7a23c4]
mov esi, ecx
mov eax, dword [edi + 8]
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push eax
lea ecx, [ebp - 0x20]
call fcn.6d6b5a73
mov eax, dword [esi]
push 0xc
mov dword [ebp - 8], eax
call fcn.6d645c02
mov eax, dword [edi + eax*4]
mov ebx, dword [0x6d7c34b8]
pop ecx
mov ecx, eax
call fcn.6d68355d
mov esi, eax
sub esi, ebx
neg esi
sbb esi, esi
inc esi
cmp esi, dword [ebp - 4]
jge 0x6d709c6d
push 0xc
call fcn.6d645c02
add eax, esi
pop ecx
mov ebx, dword [edi + eax*4]
mov ecx, ebx
call fcn.6d68355d
mov ecx, ebx
mov dword [ebp + 8], eax
call fcn.6d68356c
mov ebx, eax
mov eax, dword [ebp - 8]
mov eax, dword [eax]
lea ecx, [eax + 8]
push ebx
push dword [ebp + 8]
mov eax, dword [ecx]
call dword [eax + 0x30]
test eax, eax
je 0x6d709c67
test byte [eax + 0x10], 8
je 0x6d709c4d
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x40]
test eax, eax
je 0x6d709c67
jmp 0x6d709c28
test eax, eax
je 0x6d709c67
mov ecx, dword [eax + 0x10]
test cl, 1
je 0x6d709c67
test ch, 4
jne 0x6d709c67
mov ecx, dword [ebp + 0xc]
push eax
call fcn.6d709747
add dword [ebp + 0xc], 4
jmp 0x6d709bfd
lea ecx, [ebp - 0x20]
call fcn.6d6b5aa6
pop edi
pop esi
pop ebx
leave
ret 8

Function at 0x6d712dfa
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test esi, esi
jne 0x6d712e11
xor eax, eax
jmp 0x6d712e20
mov ecx, dword [eax + 0x90]
push 4
call fcn.6d645be3
mov dword [eax], esi
push dword [esp + 0xc]
push dword [esp + 0xc]
push eax
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x14]
add ecx, 8
call fcn.6d6b991b
pop esi
ret 8

Function at 0x6d714b37
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
mov esi, ecx
push dword [0x6d7a23c4]
mov dword [ebp - 8], esi
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 0xc]
push 1
test eax, eax
pop ebx
je 0x6d714b86
cmp dword [0x6d7bf5cc], 2
jne 0x6d714b86
cmp dword [0x6d7bf5d0], ebx
jne 0x6d714b86
mov eax, dword [esi + 0xc]
cmp eax, dword [0x6d7bd950]
jne 0x6d714b86
mov dword [esi + 0xc], edi
mov dword [esi + 8], ebx
mov eax, ebx
jmp 0x6d714bb1
call fcn.6d71d118
mov dword [ebp - 4], eax
mov edx, dword [ebp - 8]
mov ecx, 0
mov eax, 0xffffffff
cmp dword [ebp - 4], 0
je 0x6d714ba2
lock cmpxchg dword [edx], ecx
cmpxchg dword [edx], ecx
cmp eax, 0xffffffff
jne 0x6d714baf
mov dword [esi + 0xc], edi
jmp 0x6d714b82
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret

Function at 0x6d714bb6
Capabilities:
Get thread local storage value

Disassembly:
push esi
push edi
push dword [0x6d7a23c4]
mov esi, ecx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
test eax, eax
je 0x6d714bda
mov ecx, esi
call fcn.6d7159a5
mov dword [esi + 0xc], edi
pop edi
pop esi
ret
Function at 0x6d714be0
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
test eax, eax
je 0x6d714bf5
mov ecx, esi
call fcn.6d7159a5
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov dword [esi + 0xc], eax
pop esi
ret

Function at 0x6d714c06
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
xor ecx, ecx
cmp dword [esi + 0xc], eax
sete cl
mov eax, ecx
pop esi
ret

Function at 0x6d715ae1
Capabilities:
Get thread local storage value

Disassembly:
sub esp, 0xc
push ebx
push ebp
push esi
push edi
push dword [0x6d7a23c4]
mov esi, ecx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ebx, eax
mov eax, dword [esp + 0x24]
xor edi, edi
cmp eax, edi
jne 0x6d715b09
or dword [esp + 0x24], 0xffffffff
jmp 0x6d715b0d
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x18]
inc dword [esi + 0x1c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], edi
mov ecx, esi
call fcn.6d715a3f
cmp dword [esp + 0x10], edi
je 0x6d715b31
push edi
call fcn.6d71ed2e
pop ecx
jmp 0x6d715b39
mov dword [esp + 0x10], 1
cmp dword [esp + 0x20], edi
je 0x6d715b59
push dword [esp + 0x24]
push dword [esi + 0x14]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, esi
mov dword [esp + 0x14], eax
call fcn.6d714bb6
jmp 0x6d715bbc
push 0xa
push 6
push ebx
call fcn.6d681d7e
mov edi, dword [ebx + 0x88]
add esp, 0xc
mov ebp, dword [edi + 8]
mov dword [edi + 8], 4
push dword [esp + 0x24]
mov dword [ebx + 0xf8], 1
push dword [esi + 0x14]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.6d715d80
test eax, eax
je 0x6d715ba3
mov ecx, ebx
call fcn.6d751ae3
mov dword [edi + 8], ebp
push 6
push 0xa
push ebx
call fcn.6d681d7e
add esp, 0xc
mov ecx, esi
call fcn.6d714b1e
xor edi, edi
cmp dword [esi + 0x20], edi
je 0x6d715bca
mov eax, dword [esp + 0x18]
cmp dword [esi + 0x18], eax
jne 0x6d715be0
cmp dword [esp + 0x14], 0x102
jne 0x6d715b1b
dec dword [esi + 0x1c]
push 1
pop eax
jmp 0x6d715bf3
dec dword [esi + 0x1c]
dec dword [esi + 0x20]
jne 0x6d715bf1
push dword [esi + 0x14]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
Function at 0x6d715c68
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov edi, dword [ebp + 0x10]
xor esi, esi
mov ebx, ecx
cmp edi, esi
jl 0x6d715d6f
jg 0x6d715c88
cmp dword [ebp + 0xc], esi
jb 0x6d715d6f
mov eax, dword [ebp + 0xc]
or eax, edi
jne 0x6d715c95
or dword [ebp + 0xc], 0xffffffff
jmp 0x6d715cd4
cmp dword [ebp + 8], esi
je 0x6d715cb7
call fcn.6d71d220
sub dword [ebp + 0xc], eax
sbb edi, edx
js 0x6d715d6f
jg 0x6d715cd7
cmp dword [ebp + 0xc], esi
jbe 0x6d715d6f
jmp 0x6d715cd7
push esi
push 0xf4240
push edi
push dword [ebp + 0xc]
call fcn.6d76db40
mov dword [ebp + 0xc], eax
or eax, edx
jne 0x6d715cd7
mov dword [ebp + 0xc], 1
mov dword [ebp + 0x10], esi
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
push esi
push edi
call fcn.6d75079b
pop ecx
test eax, eax
pop ecx
jne 0x6d715d66
push esi
push dword [ebx + 0x14]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x6d715d66
push 0xa
push 6
push edi
call fcn.6d681d7e
mov esi, dword [edi + 0x88]
add esp, 0xc
mov eax, dword [esi + 8]
mov dword [ebp + 8], eax
mov dword [esi + 8], 4
push dword [ebp + 0xc]
mov dword [edi + 0xf8], 1
push dword [ebx + 0x14]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [ebx + 0x14]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov ecx, edi
call fcn.6d715d80
test eax, eax
je 0x6d715d51
mov ecx, edi
call fcn.6d751ae3
mov eax, dword [ebp + 8]
mov dword [esi + 8], eax
push 6
push 0xa
push edi
call fcn.6d681d7e
add esp, 0xc
jmp 0x6d715d6f
push dword [ebx + 0x14]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
pop edi
pop esi
pop ebx
pop ebp
ret 0xc
Function at 0x6d717bf4
Capabilities:
Get thread local storage value

Disassembly:
sub esp, 0x10
push ebx
push ebp
push esi
push edi
push dword [0x6d7a23c4]
mov ebx, ecx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push eax
lea ecx, [esp + 0x14]
call fcn.6d64bc19
mov eax, dword [ebx + 0xa8]
test eax, eax
jne 0x6d717c2d
mov ecx, ebx
call fcn.6d716c83
push 1
mov ecx, ebx
call fcn.6d716e67
mov edi, dword [0x6d7b53a4]
push 0x64
call fcn.6d735879
test eax, eax
pop ecx
je 0x6d717c50
push 6
mov ecx, eax
push dword [esp + 0x28]
call fcn.6d69098e
mov ebp, eax
jmp 0x6d717c52
xor ebp, ebp
push 0x1c
call fcn.6d735879
mov esi, eax
pop ecx
test esi, esi
je 0x6d717c72
push ebp
mov ecx, esi
call fcn.6d646995
mov dword [esi], sym.jvm.dll_const_MacroAssembler::vftable
mov ecx, esi
jmp 0x6d717c74
xor ecx, ecx
mov eax, dword [edi + 0x2c]
push 0
add eax, dword [edi + 0x14]
add eax, edi
push eax
call fcn.6d6483fe
xor ebp, ebp
cmp dword [ebx + 0xa8], ebp
jne 0x6d717cdd
mov esi, dword [ebx + 0x3c]
push 0x64
add esi, ebx
call fcn.6d735879
cmp eax, ebp
pop ecx
je 0x6d717cab
push 6
push esi
mov ecx, eax
call fcn.6d69098e
mov ebp, eax
push 0x1c
call fcn.6d735879
mov esi, eax
pop ecx
test esi, esi
je 0x6d717ccb
push ebp
mov ecx, esi
call fcn.6d646995
mov dword [esi], sym.jvm.dll_const_MacroAssembler::vftable
mov ecx, esi
jmp 0x6d717ccd
xor ecx, ecx
mov eax, dword [edi + 0x30]
push 0
add eax, dword [edi + 0x14]
add eax, edi
push eax
call fcn.6d6484ad
mov dword [ebx + 0xa8], 1
lea ecx, [esp + 0x10]
call fcn.6d6a63ec
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
Function at 0x6d7180b5
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 0x6d7180c9
xor eax, eax
jmp 0x6d7180cb
mov eax, dword [ebx]
mov esi, dword [eax + 0x70]
cmp esi, dword [ebp + 0x10]
mov dword [ebp - 4], esi
jne 0x6d7180e8
test ebx, ebx
jne 0x6d7180e1
xor eax, eax
jmp 0x6d71829f
mov eax, dword [ebx]
jmp 0x6d71829f
test ebx, ebx
jne 0x6d7180f0
xor eax, eax
jmp 0x6d7180f2
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 0x6d718272
cmp dword [ebp + 0xc], eax
jne 0x6d7180da
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 0x6d71814c
xor eax, eax
jmp 0x6d71814e
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 0x6d718238
cmp dword [0x6d7c1ebc], 1
jne 0x6d71819c
push 0x10
call fcn.6d735879
mov esi, eax
pop ecx
test esi, esi
je 0x6d718191
mov eax, dword [ebp - 4]
push 1
inc eax
mov ecx, esi
push eax
call fcn.6d6b55d1
mov eax, esi
jmp 0x6d718193
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 0x6d7181d1
mov ecx, dword [ebp + 0x14]
call fcn.6d715a3f
mov ecx, dword [ebp - 8]
call fcn.6d715a3f
lea ecx, [ebp - 0x1c]
call fcn.6d6a63ec
jmp 0x6d7180da
push eax
push edi
lea ecx, [ebp - 0xc]
call fcn.6d645ee5
mov eax, dword [ebp - 0xc]
cmp eax, esi
mov dword [ebp + 8], eax
jne 0x6d7181e9
xor ecx, ecx
jmp 0x6d7181eb
mov ecx, dword [eax]
cmp ebx, esi
jne 0x6d7181f3
xor eax, eax
jmp 0x6d7181f5
mov eax, dword [ebx]
add eax, 0x74
cmp dword [0x6d7bdc58], esi
mov dword [eax], ecx
je 0x6d71820b
push ecx
push eax
call fcn.6d645e38
pop ecx
pop ecx
cmp ebx, esi
jne 0x6d718213
xor ecx, ecx
jmp 0x6d718215
mov ecx, dword [ebx]
mov eax, dword [ebp + 8]
cmp eax, esi
jne 0x6d718220
xor eax, eax
jmp 0x6d718222
mov eax, dword [eax]
add eax, 0x78
cmp dword [0x6d7bdc58], esi
mov dword [eax], ecx
je 0x6d718238
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 0x6d718267
cmp dword [eax], 0
jle 0x6d718264
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 0x6d71828b
test eax, eax
je 0x6d71827e
mov eax, dword [eax]
push dword [ebp + 0x10]
lea ecx, [eax + 8]
call fcn.6d708541
jmp 0x6d71829f
test eax, eax
je 0x6d718291
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 0x6d71b375
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1b0
push ebx
push esi
push edi
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push eax
lea ecx, [ebp - 0x28]
call fcn.6d64bc19
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
mov ecx, ebx
mov eax, dword [esi + 0x6c]
mov edx, dword [ebx]
push eax
call dword [edx + 0x6c]
mov edi, dword [ebp + 8]
and dword [ebp + 0x10], 0
mov dword [esi + 0x68], eax
xor edx, edx
mov eax, dword [edi]
mov ecx, dword [edi + 4]
cmp dword [esi + 0x74], eax
setne dl
push edx
push ecx
mov ecx, ebx
call fcn.6d68fd80
push 8
push eax
lea ecx, [ebp - 0x18]
call fcn.6d71ae24
xor ebx, ebx
cmp dword [ebp - 8], ebx
jne 0x6d71b3e6
lea ecx, [ebp - 0x18]
call fcn.6d71ae9b
cmp dword [ebp - 8], ebx
je 0x6d71b421
mov eax, dword [ebp + 0x10]
push esi
mov ebx, eax
mov ecx, edi
movsx eax, word [ebp - 2]
shl ebx, 2
mov dword [ebp + ebx - 0xec], eax
mov eax, dword [ebp - 4]
sar eax, 5
and eax, 0x7ff
push eax
call fcn.6d6ad524
inc dword [ebp + 0x10]
lea ecx, [ebp - 0x18]
mov dword [ebp + ebx - 0x1b0], eax
call fcn.6d71ae9b
jmp 0x6d71b3d2
cmp dword [ebp + 0x10], ebx
jle 0x6d71b462
mov ecx, dword [ebp + ebx*4 - 0xec]
push 0x40
mov eax, ecx
pop edi
cdq
idiv edi
mov edx, dword [ebp + ebx*4 - 0x1b0]
push 0x40
mov dword [esi + ecx*4], edx
lea edi, [esi + eax*8 + 0x60]
mov eax, ecx
cdq
pop ecx
idiv ecx
push 1
pop eax
mov ecx, edx
xor edx, edx
call fcn.6d76db20
or dword [edi], eax
or dword [edi + 4], edx
inc ebx
cmp ebx, dword [ebp + 0x10]
jl 0x6d71b426
lea ecx, [ebp - 0x28]
call fcn.6d6a63ec
pop edi
pop esi
pop ebx
leave
ret

Function at 0x6d71c0f8
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x520
cmp dword [0x6d7bdc84], 0
push esi
push edi
jne 0x6d71c203
mov eax, dword [0x6d7b2afc]
push str.verify
mov edi, 0x104
push dword [eax + 4]
lea eax, [ebp - 0x120]
push edi
push eax
call fcn.6d68f159
mov esi, 0x400
lea eax, [ebp - 0x520]
push esi
push eax
lea eax, [ebp - 0x120]
push eax
call fcn.6d68f174
mov eax, dword [0x6d7b2afc]
push str.java
push dword [eax + 4]
lea eax, [ebp - 0x120]
push edi
push eax
call fcn.6d68f159
lea eax, [ebp - 0x520]
push esi
push eax
lea eax, [ebp - 0x120]
push eax
call fcn.6d68f174
add esp, 0x38
mov dword [0x6d7bdc84], eax
test eax, eax
jne 0x6d71c195
lea eax, [ebp - 0x520]
push eax
push str.Unable_to_load_native_library
call fcn.6d6c65ac
pop ecx
pop ecx
push str._JNI_OnLoad_8
push dword [0x6d7bdc84]
call fcn.6d68f189
mov edi, eax
pop ecx
test edi, edi
pop ecx
je 0x6d71c203
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov esi, eax
lea ecx, [ebp - 4]
push esi
call fcn.6d68f19c
push esi
lea ecx, [ebp - 0x1c]
call fcn.6d6b5a73
push 0
push 0x6d797c38
call edi
push eax
call fcn.6d75359b
test al, al
pop ecx
jne 0x6d71c1ef
push 0
push str.Unsupported_JNI_version
call fcn.6d6c65ac
pop ecx
pop ecx
lea ecx, [ebp - 0x1c]
call fcn.6d6b5aa6
push 6
push dword [ebp - 4]
call fcn.6d681e40
pop ecx
pop ecx
mov eax, dword [0x6d7bdc84]
pop edi
pop esi
leave
ret
Function at 0x6d71c87d
Capabilities:
Query environment variable

Disassembly:
push dword [esp + 0xc]
push dword [esp + 0xc]
push dword [esp + 0xc]
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
jle 0x6d71c89d
cmp eax, dword [esp + 0xc]
jge 0x6d71c89d
push 1
pop eax
ret
xor eax, eax
ret
Function at 0x6d71ce71
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
push 0x20
call fcn.6d641742
xor ebx, ebx
pop ecx
cmp eax, ebx
je 0x6d71ce94
push ebx
push ebx
mov ecx, eax
call fcn.6d71c752
mov esi, eax
jmp 0x6d71ce96
xor esi, esi
cmp esi, ebx
je 0x6d71cf51
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0x18]
cmp ecx, ebx
mov dword [ebp + 8], ecx
je 0x6d71ceb3
call fcn.6d714bb6
mov ecx, dword [ebp + 8]
mov dword [esi + 8], ebx
cmp ecx, ebx
je 0x6d71cebf
call fcn.6d715a3f
push ebx
push ebx
push 1
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventA]
cmp eax, ebx
je 0x6d71cf43
mov dword [esi + 0x18], eax
mov dword [esi + 0xc], ebx
mov eax, dword [0x6d7be308]
cmp eax, dword [0x6d7be304]
jle 0x6d71ceff
push ebx
push 0x1400000
call fcn.6d71f95e
pop ecx
cmp eax, ebx
pop ecx
je 0x6d71cf43
push 0x1400000
push eax
call fcn.6d71eabc
pop ecx
pop ecx
mov dword [edi + 0x88], esi
mov eax, dword [0x6d7b5a00]
neg eax
sbb eax, eax
lea ecx, [ebp - 4]
not eax
and eax, dword [0x6d7c1d88]
push ecx
push 4
push edi
push 0x6d71cf9f
push eax
push ebx
call dword [sym.imp.MSVCRT.dll__beginthreadex]
add esp, 0x18
cmp eax, ebx
mov dword [ebp - 8], eax
jne 0x6d71cf55
push dword [esi + 0x18]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [edi + 0x88], ebx
mov ecx, esi
call fcn.6d71c771
push esi
call fcn.6d641767
pop ecx
xor eax, eax
jmp 0x6d71cf9a
call fcn.6d71d118
mov dword [ebp + 8], eax
mov edx, 0x6d7be308
cmp dword [ebp + 8], 0
je 0x6d71cf69
lock inc dword [edx]
inc dword [edx]
mov eax, dword [ebp - 8]
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 4]
mov dword [esi + 0x14], eax
mov edi, dword [edi + 0x18]
cmp edi, ebx
je 0x6d71cf85
mov ecx, edi
call fcn.6d714bb6
mov dword [esi + 8], 1
cmp edi, ebx
je 0x6d71cf97
mov ecx, edi
call fcn.6d715a3f
push 1
pop eax
pop edi
pop esi
pop ebx
leave
ret

Function at 0x6d71d32b
Capabilities:
Check if file exists
Terminate process

Disassembly:
call fcn.6d71d315
push 1
call dword [sym.imp.MSVCRT.dll_exit]