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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc
mov ecx, dword [ebp + 0x10]
test ecx, ecx
mov eax, 0x101cc833
cmove ecx, eax
mov edi, dword [ebp + 0xc]
test edi, edi
cmove edi, eax
mov dword [ebp - 0x18], ecx
push ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov dword [ebp - 0x14], eax
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov esi, eax
push dword [ebp + 8]
call fcn.100d2250
add esp, 4
test eax, eax
je 0x100ab24a
mov ebx, eax
mov ecx, dword [ebp + 8]
mov eax, ecx
cmp dword [ecx + 0x12c], 0
je 0x100ab14d
mov dword [ebp - 0x18], 0
xor edi, edi
mov dword [ebp - 0x14], 0
xor esi, esi
mov eax, dword [eax]
mov ecx, dword [eax + 0x4a]
call dword [section..00cfg]
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
push edi
push ebx
call ecx
add esp, 0x10
mov dword [esi + 0x134], edi
test eax, eax
jne 0x100ab18f
mov eax, dword [esi]
mov ecx, dword [eax + 0x2a]
call dword [section..00cfg]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push ebx
call ecx
add esp, 0xc
test eax, eax
je 0x100ab270
push eax
call fcn.100b1140
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
dec edi
mov dword [ebp - 0x10], 0
mov eax, dword [esi]
mov ecx, dword [eax + 0x4e]
call dword [section..00cfg]
push ebx
call ecx
add esp, 4
mov dword [esi + 0x134], 0
push ebx
push esi
call fcn.100d2380
add esp, 8
cmp byte [ebp - 0x10], 0
je 0x100ab266
push 1
push esi
call fcn.100d3c80
add esp, 8
cmp dword [esi + 0x24], 0
je 0x100ab266
mov dword [ebp - 0x10], edi
mov edi, dword [esi + 0x3c]
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
mov ebx, esi
mov esi, eax
test eax, eax
je 0x100ab27a
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [edi + 8], esi
mov eax, dword [ebx]
mov esi, dword [ebx + 0x38]
mov ecx, dword [eax + 0x4a]
call dword [section..00cfg]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push 1
push esi
call ecx
add esp, 0x10
mov dword [ebx + 0x134], 0
push dword [ebx + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov edi, dword [ebp - 0x10]
jmp 0x100ab266
xor esi, esi
push esi
push 0xffffe002
call sym.nss3.dll_PR_SetError
add esp, 8
mov eax, dword [ebp + 8]
mov dword [eax + 0x134], esi
xor edi, edi
dec edi
mov eax, edi
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
mov al, 1
mov dword [ebp - 0x10], eax
jmp 0x100ab1ad
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
mov esi, eax
jmp 0x100ab207
Function at 0x100ab390
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x20
mov eax, dword [0x101df008]
test eax, eax
je 0x100ab48c
mov dword [ebp - 0x10], eax
mov dword [esp], eax
call fcn.100da9f0
mov ecx, dword [0x101df014]
test ecx, ecx
je 0x100ab481
mov eax, dword [ecx + 4]
cmp dword [eax + 0x2c], 0
jle 0x100ab47a
xor edi, edi
mov dword [ebp - 0x14], ecx
mov eax, dword [eax + 0x28]
mov ebx, dword [eax + edi*4]
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x100ab465
mov dword [ebp - 0x18], eax
mov esi, dword [ebp - 0x1c]
lea eax, [esi + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov eax, dword [ebp - 0x18]
mov dword [esi + 8], eax
mov eax, dword [ebx]
mov esi, dword [ebx + 0x38]
mov ecx, dword [eax + 0x4e]
call dword [section..00cfg]
mov dword [esp], esi
call ecx
mov esi, eax
mov dword [ebx + 0x134], 0
mov eax, dword [ebx + 0x3c]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
test esi, esi
je 0x100ab453
mov dword [esp], esi
call fcn.100b1140
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.nss3.dll_PR_SetError
inc edi
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
cmp edi, dword [eax + 0x2c]
jl 0x100ab3d1
jmp 0x100ab47a
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
jmp 0x100ab3f2
mov ecx, dword [ecx]
jmp 0x100ab3b7
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call fcn.100daad0
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x100abd00
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov eax, dword [0x101db014]
xor eax, ebp
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x14]
mov dword [eax], 0
push eax
call fcn.100adaa0
add esp, 4
test eax, eax
je 0x100abdc3
mov edi, eax
mov esi, dword [ebp - 0x14]
cmp dword [esi + 0x24], 0
je 0x100abd9e
push dword [ebp + 0xc]
push esi
call sym.nss3.dll_PK11_IsLoggedIn
add esp, 8
mov ebx, eax
push 3
push edi
push esi
call fcn.100c72a0
add esp, 0xc
or ebx, eax
jne 0x100abdaa
cmp dword [0x101de200], 0
je 0x100abe07
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100abdec
mov eax, dword [eax + 0x28]
xor ebx, ebx
cmp eax, 0xffffe09b
je 0x100abd8c
cmp eax, 0xffffd003
jne 0x100abdc9
push dword [ebp + 0xc]
push 1
push esi
call sym.nss3.dll_PK11_Authenticate
add esp, 0xc
test eax, eax
jne 0x100abdc9
push 3
push edi
push esi
call fcn.100c72a0
add esp, 0xc
test eax, eax
je 0x100abdc7
push dword [ebp + 0xc]
push eax
push 1
push 0
push esi
call fcn.100a8740
add esp, 0x14
mov ebx, eax
jmp 0x100abdc9
xor ebx, ebx
jmp 0x100abdd8
xor ebx, ebx
lock dec dword [esi + 0x48]
jne 0x100abdd8
push esi
call fcn.100d1c70
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1014dc80
mov eax, ebx
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x100abd79
call fcn.100745e0
jmp 0x100abd69
Function at 0x100acce0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov edi, dword [ebp + 0x10]
mov ebx, dword [ebp + 8]
push edi
push dword [ebp + 0xc]
push ebx
call sym.nss3.dll_PK11_FindCertInSlot
add esp, 0xc
test eax, eax
je 0x100acd83
mov esi, eax
cmp dword [ebx + 0x24], 0
je 0x100acd62
push edi
push ebx
call sym.nss3.dll_PK11_IsLoggedIn
add esp, 8
mov edi, eax
push 3
push esi
push ebx
call fcn.100c72a0
add esp, 0xc
or edi, eax
mov edi, dword [ebp + 0x10]
jne 0x100acd6e
cmp dword [0x101de200], 0
je 0x100acda2
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100acd8a
mov eax, dword [eax + 0x28]
cmp eax, 0xffffe09b
je 0x100acd52
cmp eax, 0xffffd003
jne 0x100acd83
push edi
push 1
push ebx
call sym.nss3.dll_PK11_Authenticate
add esp, 0xc
test eax, eax
jne 0x100acd83
push 3
push esi
push ebx
call fcn.100c72a0
add esp, 0xc
test eax, eax
je 0x100acd83
push edi
push eax
push 1
push 0
push ebx
call fcn.100a8740
add esp, 0x14
jmp 0x100acd85
xor eax, eax
pop esi
pop edi
pop ebx
pop ebp
ret
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x100acd41
call fcn.100745e0
jmp 0x100acd31
Function at 0x100acef0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push eax
push dword [ebp + 8]
call fcn.100ac8b0
add esp, 4
test eax, eax
je 0x100acf20
mov edi, eax
push eax
call sym.nss3.dll_PK11_MakeIDFromPubKey
add esp, 4
mov esi, eax
push 1
push edi
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
jmp 0x100acf22
xor esi, esi
push dword [ebp + 0x10]
push 1
push 0
push 0xffffffffffffffff
call sym.nss3.dll_PK11_GetAllTokens
add esp, 0x10
mov edi, eax
test esi, esi
je 0x100acffa
test edi, edi
je 0x100acffa
mov dword [ebp - 0x10], edi
mov edi, dword [edi]
test edi, edi
je 0x100ad011
mov eax, dword [edi + 8]
cmp dword [eax + 0x24], 0
je 0x100acf73
push dword [ebp + 0x10]
push eax
call sym.nss3.dll_PK11_IsLoggedIn
add esp, 8
xor ebx, ebx
test eax, eax
sete bl
mov eax, dword [edi + 8]
jmp 0x100acf75
xor ebx, ebx
push esi
push eax
call fcn.100aa460
add esp, 8
test ebx, ebx
je 0x100acfd1
test eax, eax
jne 0x100acfd1
cmp dword [0x101de200], 0
je 0x100acff3
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100acfdb
mov eax, dword [eax + 0x28]
cmp eax, 0xffffe09b
je 0x100acfb1
cmp eax, 0xffffd003
jne 0x100acf48
push dword [ebp + 0x10]
push 1
push dword [edi + 8]
call sym.nss3.dll_PK11_Authenticate
add esp, 0xc
test eax, eax
jne 0x100acf48
push esi
push dword [edi + 8]
call fcn.100aa460
add esp, 8
test eax, eax
je 0x100acf48
jmp 0x100ad034
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x100acfa0
call fcn.100745e0
jmp 0x100acf90
test esi, esi
je 0x100ad009
push 1
push esi
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
xor ebx, ebx
test edi, edi
jne 0x100ad021
jmp 0x100ad02a
xor ebx, ebx
mov edi, dword [ebp - 0x10]
push 1
push esi
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
push edi
call sym.nss3.dll_PK11_FreeSlotList
add esp, 4
mov eax, ebx
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, dword [edi + 8]
lock inc dword [ebx + 0x48]
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x100ad013
mov dword [ecx], eax
jmp 0x100ad013
Function at 0x100ae240
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push eax
xor ebx, ebx
test ecx, ecx
je 0x100ae30e
test edx, edx
je 0x100ae30e
mov esi, ecx
push edx
call fcn.100ac8b0
add esp, 4
test eax, eax
je 0x100ae30e
mov edi, eax
push eax
call sym.nss3.dll_PK11_MakeIDFromPubKey
add esp, 4
push 1
push edi
mov edi, eax
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
test edi, edi
je 0x100ae30e
cmp dword [esi + 0x24], 0
je 0x100ae2f7
push dword [ebp + 8]
push esi
call sym.nss3.dll_PK11_IsLoggedIn
add esp, 8
mov dword [ebp - 0x10], edi
mov edi, eax
push dword [ebp - 0x10]
push esi
call fcn.100aa460
add esp, 8
mov ebx, eax
or edi, eax
mov edi, dword [ebp - 0x10]
jne 0x100ae303
cmp dword [0x101de200], 0
je 0x100ae330
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100ae318
mov eax, dword [eax + 0x28]
xor ebx, ebx
cmp eax, 0xffffe09b
mov ecx, dword [ebp + 8]
je 0x100ae2e7
cmp eax, 0xffffd003
jne 0x100ae303
push ecx
push 1
push esi
call sym.nss3.dll_PK11_Authenticate
add esp, 0xc
test eax, eax
jne 0x100ae303
push edi
push esi
call fcn.100aa460
add esp, 8
mov ebx, eax
push 1
push edi
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
mov eax, ebx
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x100ae2d1
call fcn.100745e0
jmp 0x100ae2c1
Function at 0x100aee20
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1c
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov ecx, dword [0x101db014]
xor ecx, ebp
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], eax
cmp dword [edi + 0x18], 0
je 0x100aee54
mov eax, dword [edi + 0xc]
cmp dword [eax + 0x30], 0
je 0x100aee8c
mov eax, dword [edi + 0x14]
jmp 0x100aee8f
mov ecx, dword [edi + 0x24]
cmp ecx, eax
jbe 0x100aee6d
mov dword [esp], ecx
call sym.nss3.dll_PORT_Alloc_Util
mov esi, eax
test eax, eax
je 0x100aef15
mov eax, dword [edi + 0x20]
test eax, eax
je 0x100aee87
mov ecx, dword [edi + 0x24]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], esi
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [edi + 0x24]
jmp 0x100aeefc
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x18], eax
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x100aef19
mov ebx, eax
mov esi, dword [ebp - 0x18]
lea eax, [esi + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [esi + 8], ebx
lea eax, [ebp - 0x14]
mov dword [esp], eax
mov ecx, edi
mov edx, dword [ebp + 0xc]
call fcn.100ae860
mov esi, eax
cmp dword [edi + 0x18], 0
mov eax, dword [edi + 0xc]
je 0x100aeee6
cmp dword [eax + 0x30], 0
je 0x100aeee6
add edi, 0x14
mov eax, edi
jmp 0x100aeee9
add eax, 0x3c
mov eax, dword [eax]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
mov eax, esi
test esi, esi
je 0x100aeefc
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1014dc80
mov eax, esi
add esp, 0x1c
pop esi
pop edi
pop ebx
pop ebp
ret
xor esi, esi
jmp 0x100aef01
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
jmp 0x100aeea7
Function at 0x100aef30
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
cmp dword [esi + 0x18], 0
je 0x100aef50
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x30], 0
je 0x100aef77
mov ebx, dword [esi + 0x14]
jmp 0x100aef7a
mov eax, dword [esi + 0x20]
test eax, eax
je 0x100aef60
cmp dword [esi + 0x24], edi
jae 0x100af01a
push 0
push 0xffffe001
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
dec edi
jmp 0x100af013
mov ebx, dword [eax + 0x3c]
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100af02e
mov edi, eax
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], edi
mov ecx, esi
call fcn.100af050
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x100aefdd
mov edi, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [eax + 0x46]
mov ebx, dword [esi + 0x10]
call dword [section..00cfg]
push 0
push edi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call ecx
add esp, 0x14
test eax, eax
je 0x100aeff2
push eax
call fcn.100b1140
add esp, 4
jmp 0x100aefe2
mov eax, 0xffffe001
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
dec edi
jmp 0x100aeff4
xor edi, edi
cmp dword [esi + 0x18], 0
mov eax, dword [esi + 0xc]
je 0x100af008
cmp dword [eax + 0x30], 0
je 0x100af008
push dword [esi + 0x14]
jmp 0x100af00b
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 + 0x24], edi
xor edi, edi
jmp 0x100af013
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x100aef8e
Function at 0x100af050
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10c
mov eax, dword [0x101db014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x114], 0
cmp dword [ecx + 0x18], 0
je 0x100af1d2
xor esi, esi
mov dword [ebp - 0x118], ecx
mov eax, dword [ecx]
mov ebx, 0x91
lea edx, [eax + 0x7dfffefc]
cmp edx, 6
jbe switch.0x100af0b9
lea edx, [eax - 0x104]
cmp edx, 6
ja case.default.0x100af09f
jmp dword [edx*4 + 0x101a7d88]
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0x82]
jmp 0x100af14b
jmp dword [edx*4 + 0x101a7d6c]
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0x132]
jmp 0x100af119
cmp eax, 0x81000000
jne case.0x100af0b9.2113928954
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0xa6]
jmp 0x100af14b
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0x146]
jmp 0x100af119
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0x15a]
jmp 0x100af119
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0x16e]
call dword [section..00cfg]
push edi
call ecx
mov ecx, dword [ebp - 0x118]
add esp, 4
jmp 0x100af182
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0x92]
jmp 0x100af14b
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0xb6]
call dword [section..00cfg]
lea eax, [ebp - 0x114]
push eax
jmp 0x100af175
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0xce]
mov ebx, dword [ebp - 0x114]
call dword [section..00cfg]
push ebx
push esi
push edi
call ecx
mov ecx, dword [ebp - 0x118]
add esp, 0xc
mov ebx, eax
test eax, eax
jne case.0x100af0b9.2113928954
movzx eax, byte [ecx + 3]
shl eax, 0x18
xor edi, edi
cmp eax, 0x82000000
je 0x100af225
test esi, esi
jne 0x100af211
mov eax, dword [ebp - 0x114]
lea esi, [ebp - 0x110]
cmp eax, 0x101
jb 0x100af082
push eax
call sym.nss3.dll_PORT_Alloc_Util
mov ecx, dword [ebp - 0x118]
add esp, 4
mov esi, eax
test eax, eax
jne 0x100af082
jmp 0x100af20c
xor edi, edi
jmp 0x100af225
lea eax, [ebp - 0x110]
cmp esi, eax
je 0x100af1ee
test esi, esi
je 0x100af1ee
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
xor edi, edi
cmp ebx, 0x91
je 0x100af225
push ebx
call fcn.100b1140
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
dec edi
jmp 0x100af225
lea eax, [ebp - 0x110]
cmp esi, eax
je 0x100af225
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1014dc80
mov eax, edi
add esp, 0x10c
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x100af240
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x20
mov edi, dword [ebp + 8]
mov eax, dword [0x101db014]
xor eax, ebp
mov dword [ebp - 0x10], eax
xor esi, esi
cmp dword [edi + 0x2c], 1
je 0x100af2fe
cmp dword [edi + 0x18], 0
mov eax, dword [edi + 0xc]
je 0x100af276
cmp dword [eax + 0x30], 0
je 0x100af276
mov esi, dword [edi + 0x14]
jmp 0x100af279
mov esi, dword [eax + 0x3c]
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x100af312
mov ebx, eax
lea eax, [esi + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [esi + 8], ebx
mov ecx, edi
call fcn.100af050
cmp dword [edi + 0x18], 0
mov eax, dword [edi + 0xc]
je 0x100af2c1
cmp dword [eax + 0x30], 0
je 0x100af2c1
lea eax, [edi + 0x14]
jmp 0x100af2c4
add eax, 0x3c
xor esi, esi
mov eax, dword [eax]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
mov eax, dword [edi + 0x30]
lea edx, [ebp - 0x1c]
mov dword [edx], eax
mov eax, dword [edi + 0x28]
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov eax, dword [eax + 8]
mov dword [edx + 8], eax
mov ecx, edi
call fcn.100af330
test eax, eax
je 0x100af2f7
xor esi, esi
dec esi
jmp 0x100af2fe
mov dword [edi + 0x2c], 1
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1014dc80
mov eax, esi
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
jmp 0x100af292
Function at 0x100afbb0
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 0x100afbe7
cmp dword [ebp + 0xc], 0
je 0x100afc55
mov esi, dword [ebp + 8]
mov dword [esi + 0x2c], 0
cmp dword [esi + 0x18], 0
mov eax, dword [esi + 0xc]
je 0x100afbee
cmp dword [eax + 0x30], 0
je 0x100afbee
mov ebx, dword [esi + 0x14]
jmp 0x100afbf1
xor edi, edi
jmp 0x100afd85
mov ebx, dword [eax + 0x3c]
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x100afd8f
mov edi, eax
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [ebx + 8], edi
cmp dword [esi + 0x18], 0
je 0x100afc69
mov ecx, dword [esi]
cmp ecx, 0x81000000
je 0x100afcb6
cmp ecx, 0x10a
je 0x100afcc6
mov eax, 0x91
cmp ecx, 0x108
jne 0x100afcea
mov eax, dword [esi + 0xc]
mov edi, dword [esi + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0xb2]
jmp 0x100afcd4
push 0
push 0xffffe005
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x100afd72
mov edi, dword [esi + 0x20]
test edi, edi
je 0x100afd43
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [eax + 0x46]
mov ebx, dword [esi + 0x10]
call dword [section..00cfg]
push 0
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push edi
push ebx
call ecx
add esp, 0x14
test eax, eax
je 0x100afc1a
push eax
call fcn.100b1140
add esp, 4
jmp 0x100afd48
mov eax, dword [esi + 0xc]
mov edi, dword [esi + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0x9e]
jmp 0x100afcd4
mov eax, dword [esi + 0xc]
mov edi, dword [esi + 0x10]
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 0x100afd03
push eax
call fcn.100b1140
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
dec edi
jmp 0x100afd05
xor edi, edi
cmp dword [esi + 0x18], 0
jne 0x100afd35
lea eax, [esi + 0x24]
mov edx, dword [esi + 0x20]
mov ecx, esi
push eax
call fcn.100ae860
add esp, 4
mov dword [esi + 0x20], eax
xor ecx, ecx
cmp eax, 1
sbb ecx, ecx
or edi, ecx
mov ecx, esi
call fcn.100af050
cmp dword [esi + 0x18], 0
je 0x100afd77
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x30], 0
je 0x100afd7a
push dword [esi + 0x14]
jmp 0x100afd7d
mov eax, 0xffffe001
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
cmp dword [esi + 0x18], 0
mov eax, dword [esi + 0xc]
je 0x100afd67
cmp dword [eax + 0x30], 0
je 0x100afd67
push dword [esi + 0x14]
jmp 0x100afd6a
push dword [eax + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
xor edi, edi
dec edi
jmp 0x100afd85
mov eax, dword [esi + 0xc]
push dword [eax + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov eax, edi
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x100afc05
Function at 0x100b1070
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10
mov esi, dword [ebp + 8]
cmp dword [esi + 0x18], 0
mov eax, dword [esi + 0xc]
je 0x100b1090
cmp dword [eax + 0x30], 0
je 0x100b1090
mov ebx, dword [esi + 0x14]
jmp 0x100b1093
mov ebx, dword [eax + 0x3c]
mov eax, dword [0x101de1f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
sub esp, 4
test eax, eax
je 0x100b10f2
mov edi, eax
lea eax, [ebx + 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
sub esp, 4
mov dword [ebx + 8], edi
mov ecx, esi
call fcn.100af050
mov edi, eax
cmp dword [esi + 0x18], 0
mov eax, dword [esi + 0xc]
je 0x100b10db
cmp dword [eax + 0x30], 0
je 0x100b10db
add esi, 0x14
mov eax, esi
jmp 0x100b10de
add eax, 0x3c
mov eax, dword [eax]
mov dword [esp], eax
call sym.nss3.dll_PR_Unlock
mov eax, edi
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
jmp 0x100b10a8

Function at 0x100b3860
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
pop ebp
jmp fcn.100da9f0

Function at 0x100b3870
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
pop ebp
jmp fcn.100daad0