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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc
mov ecx, dword [0x101d2014]
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
xor ecx, ebp
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], eax
cmp dword [edi + 0x14], 0
je 0x10113644
mov eax, dword [edi + 8]
cmp dword [eax + 0x30], 0
je 0x10113677
mov eax, dword [edi + 0x10]
jmp 0x1011367a
mov ecx, dword [edi + 0x20]
cmp ecx, eax
jbe 0x1011365e
push ecx
call sym.nss3.dll_PORT_Alloc_Util
add esp, 4
mov esi, eax
test eax, eax
je 0x101136f7
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x10113672
push dword [edi + 0x20]
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x20]
jmp 0x101136de
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x18], eax
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x101136fb
mov esi, dword [ebp - 0x18]
mov ebx, eax
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov edx, dword [ebp + 0xc]
lea eax, [ebp - 0x14]
mov dword [esi + 8], ebx
mov ecx, edi
push eax
call fcn.10112ff0
add esp, 4
mov esi, eax
cmp dword [edi + 0x14], 0
mov eax, dword [edi + 8]
je 0x101136c8
cmp dword [eax + 0x30], 0
je 0x101136c8
add edi, 0x10
mov eax, edi
jmp 0x101136cb
add eax, 0x3c
push dword [eax]
call sym.nss3.dll_PR_Unlock
add esp, 4
test esi, esi
mov eax, esi
je 0x101136de
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10192ef0
mov eax, esi
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
xor esi, esi
jmp 0x101136e3
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x1011368d
Function at 0x10113710
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0x10]
cmp dword [esi + 0x14], 0
je 0x10113730
mov eax, dword [esi + 8]
cmp dword [eax + 0x30], 0
je 0x10113757
mov ebx, dword [esi + 0x10]
jmp 0x1011375a
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x10113740
cmp dword [esi + 0x20], edi
jae 0x1011380b
push 0
push 0xffffe001
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
dec edi
jmp 0x10113804
mov ebx, dword [eax + 0x3c]
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1011381f
mov edi, eax
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov ecx, esi
mov dword [ebx + 8], edi
call fcn.10113840
mov eax, dword [esi + 4]
test eax, eax
je 0x10113790
mov edi, dword [eax + 4]
jmp 0x10113792
xor edi, edi
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x101137cb
mov eax, dword [esi + 8]
mov ebx, dword [esi + 0xc]
mov esi, ecx
mov eax, dword [eax]
mov ecx, dword [eax + 0x46]
call dword [section..00cfg]
push 0
push edi
push dword [ebp + 0x10]
push esi
push ebx
call ecx
add esp, 0x14
test eax, eax
je 0x101137e0
push eax
call fcn.10115520
add esp, 4
mov esi, dword [ebp + 8]
jmp 0x101137d0
mov eax, 0xffffe001
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
dec edi
jmp 0x101137e5
mov esi, dword [ebp + 8]
xor edi, edi
cmp dword [esi + 0x14], 0
mov eax, dword [esi + 8]
je 0x101137f9
cmp dword [eax + 0x30], 0
je 0x101137f9
push dword [esi + 0x10]
jmp 0x101137fc
push dword [eax + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov eax, edi
pop esi
pop edi
pop ebx
pop ebp
ret
push edi
push dword [ebp + 0xc]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esi + 0x20], edi
xor edi, edi
jmp 0x10113804
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x1011376e
Function at 0x10113a30
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10
mov eax, dword [0x101d2014]
mov edi, dword [ebp + 8]
xor esi, esi
xor eax, ebp
mov dword [ebp - 0x10], eax
cmp dword [edi + 0x28], 1
je 0x10113ae2
cmp dword [edi + 0x14], 0
mov eax, dword [edi + 8]
je 0x10113a66
cmp dword [eax + 0x30], 0
je 0x10113a66
mov esi, dword [edi + 0x10]
jmp 0x10113a69
mov esi, dword [eax + 0x3c]
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x10113af6
mov ebx, eax
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov ecx, edi
mov dword [esi + 8], ebx
call fcn.10113840
mov eax, dword [edi + 0x2c]
lea edx, [ebp - 0x1c]
mov dword [edx], eax
mov eax, dword [edi + 0x24]
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, edi
mov eax, dword [eax + 8]
mov dword [edx + 8], eax
call fcn.10113b10
mov ebx, eax
cmp dword [edi + 0x14], 0
mov eax, dword [edi + 8]
je 0x10113ac3
cmp dword [eax + 0x30], 0
je 0x10113ac3
lea eax, [edi + 0x10]
jmp 0x10113ac6
add eax, 0x3c
push dword [eax]
call sym.nss3.dll_PR_Unlock
add esp, 4
test ebx, ebx
je 0x10113ad9
xor esi, esi
dec esi
jmp 0x10113ae2
xor esi, esi
mov dword [edi + 0x28], 1
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10192ef0
mov eax, esi
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x10113a79
Function at 0x10113f70
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
cmp dword [ebp + 0x10], 0
je 0x10113fa7
cmp dword [ebp + 0xc], 0
je 0x10114009
mov esi, dword [ebp + 8]
mov dword [esi + 0x28], 0
cmp dword [esi + 0x14], 0
mov eax, dword [esi + 8]
je 0x10113fae
cmp dword [eax + 0x30], 0
je 0x10113fae
mov ebx, dword [esi + 0x10]
jmp 0x10113fb1
xor edi, edi
jmp 0x10114146
mov ebx, dword [eax + 0x3c]
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x10114150
mov edi, eax
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], edi
cmp dword [esi + 0x14], 0
je 0x1011401d
mov ecx, dword [esi]
cmp ecx, 0x81000000
je 0x10114036
cmp ecx, 0x10a
je 0x10114046
mov eax, 0x91
cmp ecx, 0x108
jne 0x1011406a
mov eax, dword [esi + 8]
mov edi, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [eax + 0xb2]
jmp 0x10114054
push 0
push 0xffffe005
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x10114143
mov eax, dword [esi + 4]
mov edi, dword [esi + 0x20]
mov ebx, dword [esi + 0x1c]
test eax, eax
je 0x101140d5
mov eax, dword [eax + 4]
jmp 0x101140d7
mov eax, dword [esi + 8]
mov edi, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [eax + 0x9e]
jmp 0x10114054
mov eax, dword [esi + 8]
mov edi, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [eax + 0xca]
call dword [section..00cfg]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push edi
call ecx
add esp, 0xc
test eax, eax
je 0x10114083
push eax
call fcn.10115520
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
dec edi
jmp 0x10114085
xor edi, edi
cmp dword [esi + 0x14], 0
je 0x10114090
mov eax, dword [esi + 8]
jmp 0x101140bd
mov edx, dword [esi + 0x1c]
lea eax, [esi + 0x20]
mov ecx, esi
push eax
call fcn.10112ff0
add esp, 4
xor ecx, ecx
cmp eax, 1
mov dword [esi + 0x1c], eax
sbb ecx, ecx
or edi, ecx
mov ecx, esi
call fcn.10113840
cmp dword [esi + 0x14], 0
mov eax, dword [esi + 8]
je 0x101140c8
cmp dword [eax + 0x30], 0
je 0x101140c8
push dword [esi + 0x10]
jmp 0x101140cb
push dword [eax + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
jmp 0x10114146
xor eax, eax
test ebx, ebx
je 0x10114114
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [ebp - 0x14], edx
mov ecx, dword [eax + 0x46]
call dword [section..00cfg]
push 0
push dword [ebp - 0x10]
push edi
push ebx
push dword [ebp - 0x14]
call ecx
add esp, 0x14
test eax, eax
je 0x10113fda
push eax
call fcn.10115520
add esp, 4
jmp 0x10114119
mov eax, 0xffffe001
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
cmp dword [esi + 0x14], 0
mov eax, dword [esi + 8]
je 0x10114138
cmp dword [eax + 0x30], 0
je 0x10114138
push dword [esi + 0x10]
jmp 0x1011413b
push dword [eax + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
xor edi, edi
dec edi
mov eax, edi
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x10113fc5
Function at 0x10115490
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov esi, dword [ebp + 8]
cmp dword [esi + 0x14], 0
mov eax, dword [esi + 8]
je 0x101154ad
cmp dword [eax + 0x30], 0
je 0x101154ad
mov ebx, dword [esi + 0x10]
jmp 0x101154b0
mov ebx, dword [eax + 0x3c]
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x10115502
mov edi, eax
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov ecx, esi
mov dword [ebx + 8], edi
call fcn.10113840
mov edi, eax
cmp dword [esi + 0x14], 0
mov eax, dword [esi + 8]
je 0x101154ee
cmp dword [eax + 0x30], 0
je 0x101154ee
add esi, 0x10
mov eax, esi
jmp 0x101154f1
add eax, 0x3c
push dword [eax]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov eax, edi
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x101154c0

Function at 0x10117c20
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
pop ebp
jmp fcn.1013e010

Function at 0x10117c30
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
pop ebp
jmp fcn.1013e0d0

Function at 0x10127540
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov edi, dword [ebp + 8]
mov ebx, dword [edi + 0x3c]
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x10127598
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov eax, dword [edi]
mov esi, dword [edi + 0x38]
mov ecx, dword [eax + 0x5a]
call dword [section..00cfg]
push dword [ebp + 0xc]
push esi
call ecx
add esp, 8
mov esi, eax
push dword [edi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
neg esi
sbb eax, eax
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x1012755e
Function at 0x10127630
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10
mov ecx, dword [0x101d2014]
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
xor edi, edi
xor ecx, ebp
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], eax
mov ebx, dword [edx + 0x3c]
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x10127789
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov edi, dword [ebp + 8]
mov dword [ebx + 8], esi
mov eax, dword [edi]
mov esi, dword [edi + 0x38]
mov ecx, dword [eax + 0x62]
call dword [section..00cfg]
lea ebx, [ebp - 0x1c]
push 1
push ebx
push dword [ebp + 0xc]
push esi
call ecx
add esp, 0x10
test eax, eax
je 0x101276d7
mov esi, eax
push dword [edi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
push esi
call fcn.10115520
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor esi, esi
dec esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10192ef0
mov eax, esi
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x14]
test ecx, ecx
je 0x101276ed
push eax
push ecx
call sym.nss3.dll_PORT_ArenaAlloc_Util
add esp, 8
jmp 0x101276f6
push eax
call sym.nss3.dll_PORT_Alloc_Util
add esp, 4
test eax, eax
mov dword [ebp - 0x18], eax
je 0x10127763
mov eax, dword [edi]
mov esi, dword [edi + 0x38]
mov ecx, dword [eax + 0x62]
call dword [section..00cfg]
push 1
push ebx
push dword [ebp + 0xc]
push esi
call ecx
add esp, 0x10
mov esi, eax
push dword [edi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
test esi, esi
je 0x10127773
push esi
call fcn.10115520
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor esi, esi
dec esi
cmp dword [ebp + 0x14], 0
jne 0x101276c3
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x101276c3
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
jmp 0x101276c3
push dword [edi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
jmp 0x101276c0
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x18]
xor esi, esi
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x14]
mov dword [eax + 8], ecx
jmp 0x101276c3
push edi
push edi
push 1
push edi
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x1012766e
Function at 0x101277a0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x14
mov ecx, dword [0x101d2014]
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
lea edx, [ebp - 0x20]
xor ecx, ebp
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
mov dword [edx], 0xffffffff
mov dword [ebp - 0x14], 4
mov ebx, dword [edi + 0x3c]
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x1012784b
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov eax, dword [edi]
mov esi, dword [edi + 0x38]
mov ecx, dword [eax + 0x62]
call dword [section..00cfg]
lea eax, [ebp - 0x1c]
push 1
push eax
push dword [ebp + 0xc]
push esi
call ecx
add esp, 0x10
mov esi, eax
push dword [edi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
test esi, esi
je 0x10127834
push esi
call fcn.10115520
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10192ef0
mov eax, esi
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x101277e5

Function at 0x10127860
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x14
mov ecx, dword [0x101d2014]
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
lea edx, [ebp - 0x11]
xor ecx, ebp
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov byte [edx], 0
mov dword [ebp - 0x18], 1
mov ebx, dword [edi + 0x3c]
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x1012790c
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov eax, dword [edi]
mov esi, dword [edi + 0x38]
mov ecx, dword [eax + 0x62]
call dword [section..00cfg]
lea eax, [ebp - 0x20]
push 1
push eax
push dword [ebp + 0xc]
push esi
call ecx
add esp, 0x10
mov esi, eax
push dword [edi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
test esi, esi
je 0x101278f5
push esi
call fcn.10115520
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor ebx, ebx
jmp 0x101278f8
mov bl, byte [ebp - 0x11]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10192ef0
mov eax, ebx
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x101278a2
Function at 0x10127920
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push eax
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x38], 0
je 0x1012798d
mov edi, dword [ebp + 0x14]
mov ebx, dword [eax + 0x3c]
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x10127acd
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx]
mov esi, dword [ebx + 0x38]
mov ecx, dword [eax + 0x62]
call dword [section..00cfg]
push dword [ebp + 0x18]
push edi
push dword [ebp + 0x10]
push esi
call ecx
add esp, 0x10
test eax, eax
je 0x10127997
mov esi, eax
push dword [ebx + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
jmp 0x10127ac3
mov esi, 0xb3
jmp 0x10127ac3
mov eax, dword [ebp + 8]
test eax, eax
je 0x101279b0
push eax
call sym.nss3.dll_PORT_ArenaMark_Util
add esp, 4
test eax, eax
jne 0x101279b2
jmp 0x10127abe
xor eax, eax
mov ecx, dword [ebp + 0x18]
mov dword [ebp - 0x10], eax
test ecx, ecx
jle 0x10127a05
lea ebx, [edi + 4]
xor esi, esi
mov eax, dword [ebx + 4]
test eax, eax
je 0x101279fd
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x101279e7
push eax
push ecx
call sym.nss3.dll_PORT_ArenaAlloc_Util
add esp, 8
mov ecx, dword [ebp + 0x18]
test eax, eax
mov dword [ebx], eax
jne 0x101279fd
jmp 0x10127a79
push eax
call sym.nss3.dll_PORT_Alloc_Util
add esp, 4
mov ecx, dword [ebp + 0x18]
test eax, eax
mov dword [ebx], eax
je 0x10127a8b
inc esi
add ebx, 0xc
cmp ecx, esi
jne 0x101279c1
mov edx, dword [ebp + 0xc]
mov ebx, ecx
mov eax, dword [edx]
mov esi, dword [edx + 0x38]
mov ecx, dword [eax + 0x62]
call dword [section..00cfg]
push ebx
push edi
push dword [ebp + 0x10]
push esi
call ecx
add esp, 0x10
mov esi, eax
mov eax, dword [ebp + 0xc]
push dword [eax + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
test esi, esi
je 0x10127a4d
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x10127a51
mov edx, dword [ebp - 0x10]
push 0
call fcn.10146c70
jmp 0x10127985
xor esi, esi
jmp 0x10127ac3
mov ebx, dword [ebp + 0x18]
test ebx, ebx
jle 0x10127ac3
add edi, 4
mov eax, dword [edi]
test eax, eax
je 0x10127a6b
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov dword [edi], 0
add edi, 0xc
dec ebx
jne 0x10127a5b
jmp 0x10127ac3
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
push 0
call fcn.10146c70
add esp, 4
jmp 0x10127ab0
test esi, esi
je 0x10127ab0
mov ebx, dword [sym.imp.mozglue.dll_free]
add edi, 4
mov eax, dword [edi]
test eax, eax
je 0x10127aa4
push eax
call ebx
add esp, 4
mov dword [edi], 0
add edi, 0xc
dec esi
jne 0x10127a98
mov eax, dword [ebp + 0xc]
push dword [eax + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov esi, 2
mov eax, esi
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x1012794c
Function at 0x10127af0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x14
mov eax, dword [0x101d2014]
mov edi, dword [ebp + 8]
xor eax, ebp
xor ecx, ecx
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x11]
inc ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], eax
mov byte [eax], 0
mov dword [ebp - 0x18], ecx
mov ebx, dword [edi + 0x3c]
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x10127b98
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov eax, dword [edi]
mov esi, dword [edi + 0x38]
mov ecx, dword [eax + 0x62]
call dword [section..00cfg]
lea eax, [ebp - 0x20]
push 1
push eax
push dword [ebp + 0xc]
push esi
call ecx
add esp, 0x10
mov esi, eax
push dword [edi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
test esi, esi
je 0x10127b80
push esi
call fcn.10115520
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor esi, esi
jmp 0x10127b84
movzx esi, byte [ebp - 0x11]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10192ef0
mov eax, esi
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x10127b2d

Function at 0x10127d30
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
mov eax, dword [0x101d2014]
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebx], 1
cmp dword [edi + 0x30], 0
jne 0x10127d7a
mov ebx, dword [edi + 0x3c]
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x10127dd2
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov ebx, dword [ebp + 0xc]
mov eax, dword [edi]
mov esi, dword [edi + 0x40]
mov ecx, dword [eax + 0x32]
call dword [section..00cfg]
lea eax, [ebp - 0x14]
push eax
push sym.nss3.dll_PR_DuplicateEnvironment
push edi
push 4
push esi
call ecx
add esp, 0x14
test eax, eax
je 0x10127daa
mov dword [ebx], 0
mov eax, dword [edi + 0x38]
mov dword [ebp - 0x14], eax
cmp dword [edi + 0x30], 0
jne 0x10127dbb
push dword [edi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10192ef0
mov eax, esi
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x10127d6a
Function at 0x10127df0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
cmp dword [ebp + 0x10], 0
je 0x10127e4f
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
cmp dword [edi + 0x30], 0
jne 0x10127e2d
mov ebx, dword [edi + 0x3c]
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x10127e54
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], esi
mov esi, dword [ebp + 0xc]
mov eax, dword [edi]
mov ecx, dword [eax + 0x36]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
cmp dword [edi + 0x30], 0
jne 0x10127e4f
push dword [edi + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x10127e1d

Function at 0x10127e70
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
cmp dword [ebp + 0x18], 0
je 0x10127eab
push eax
call fcn.101363c0
add esp, 4
mov esi, eax
mov eax, dword [ebp + 8]
test esi, esi
jne 0x10127edb
push 0
push 0xffffe002
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
dec edi
jmp 0x10127f3d
test esi, esi
jne 0x10127edb
mov esi, dword [eax + 0x38]
test esi, esi
je 0x10127e94
mov ebx, dword [eax + 0x3c]
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov edi, eax
test eax, eax
je 0x10127f44
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [ebp + 8]
mov dword [ebx + 8], edi
mov eax, dword [eax]
mov edi, dword [ebp + 0x1c]
mov ebx, dword [ebp + 0x14]
mov ecx, dword [eax + 0x52]
call dword [section..00cfg]
push edi
push ebx
push dword [ebp + 0x10]
push esi
call ecx
add esp, 0x10
test eax, eax
je 0x10127f14
push eax
call fcn.10115520
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
dec edi
jmp 0x10127f16
xor edi, edi
mov eax, dword [ebp + 0x18]
test eax, eax
mov eax, dword [ebp + 8]
je 0x10127f2c
push esi
push eax
call fcn.101364f0
add esp, 8
jmp 0x10127f3d
cmp dword [ebp + 0xc], 0
jne 0x10127f3d
push dword [eax + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov eax, edi
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov edi, eax
jmp 0x10127ecb
Function at 0x10128460
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
mov eax, dword [0x101d2014]
mov ebx, dword [ebp + 8]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov edi, dword [ebx + 0x3c]
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov esi, eax
test eax, eax
je 0x101284f5
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [edi + 8], esi
mov eax, dword [ebx]
mov edi, dword [ebx + 0x38]
mov ecx, dword [eax + 0x56]
call dword [section..00cfg]
lea eax, [ebp - 0x14]
xor esi, esi
push eax
push esi
push esi
push dword [ebp + 0xc]
push edi
call ecx
add esp, 0x14
mov edi, eax
push dword [ebx + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
test edi, edi
je 0x101284de
push edi
call fcn.10115520
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x101284e1
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10192ef0
mov eax, esi
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov esi, eax
jmp 0x1012848b