Function at 0x101072d0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10
mov edi, dword [ebp + 8]
mov eax, dword [0x101db014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [edi + 0xc4]
call fcn.100fc630
test eax, eax
je 0x1010734c
mov esi, dword [ebp + 0xc]
test byte [edi + 0x1d], 4
jne 0x1010730c
push dword [edi + 0x170]
call sym.nss3.dll_PR_EnterMonitor
add esp, 4
add esi, 0xffffffec
cmp esi, 6
ja case.0x1010731b.23
mov ebx, dword [ebp + 0x1c]
jmp dword [esi*4 + 0x101b0c00]
mov eax, dword [edi + 0x450]
cmp eax, 6
je 0x10107470
cmp dword [edi + 0x9f8], 1
jne 0x10107470
mov dword [ebx + 4], 0
xor esi, esi
jmp 0x1010776a
push 0
push 0xffffd053
call sym.nss3.dll_PR_SetError
add esp, 8
xor esi, esi
dec esi
jmp 0x1010777e
cmp dword [ebx + 4], 2
jne 0x10107496
mov eax, dword [ebx]
mov dh, byte [eax]
mov dl, byte [eax + 1]
mov dword [ebx + 4], 0
mov ecx, dword [edi + 0xf4]
test ecx, ecx
je 0x101073b7
lea eax, [ebp - 0x14]
mov byte [eax], dh
mov byte [eax + 1], dl
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0xf8]
mov ebx, edx
mov bh, dh
call dword [section..00cfg]
lea eax, [ebp - 0x14]
push eax
push esi
push edi
mov edi, dword [ebp + 8]
call ecx
mov dh, bh
mov dl, bl
add esp, 0xc
cmp dl, 0x45
jg 0x101076d2
mov eax, edx
add al, 0xec
cmp al, 0x28
ja case.default.0x101073cf
movzx eax, al
jmp dword [eax*4 + 0x101b0c1c]
mov esi, 0xffffd010
jmp 0x1010799a
cmp dword [edi + 0x9f8], 1
jne 0x101074d8
movzx eax, word [ebp + 0x10]
movzx eax, ax
push ebx
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push eax
push edi
call fcn.100f85b0
add esp, 0x14
jmp 0x10107427
cmp dword [edi + 0x9f8], 1
jne case.0x1010731b.23
push edi
call fcn.10126500
add esp, 4
test eax, eax
je case.0x1010731b.23
push ebx
push edi
call fcn.100f8280
add esp, 8
mov esi, eax
jmp 0x1010776a
xor esi, esi
push esi
push 0xffffd037
call sym.nss3.dll_PR_SetError
add esp, 8
movzx eax, word [edi + 0x58]
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx*2 + 0x2f]
push eax
push 2
push edi
call fcn.100fa900
add esp, 0xc
xor eax, eax
cmp dword [edi + 0x60], esi
sete al
or eax, 0xffffd006
push esi
push eax
jmp 0x1010775f
cmp dword [edi + 0x4a8], 0
je 0x10107652
push 0xa
push 2
push edi
call fcn.100fa900
add esp, 0xc
push 0
push 0xffffd033
jmp 0x1010775f
movzx eax, word [edi + 0x58]
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx*2 + 0x2f]
push eax
push 2
push edi
call fcn.100fa900
add esp, 0xc
xor esi, esi
xor eax, eax
cmp dword [edi + 0x60], esi
sete al
or eax, 0xffffd006
push esi
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
push esi
push 0xffffd026
jmp 0x1010775f
mov ebx, dword [ebx + 4]
test ebx, ebx
je 0x1010763e
mov eax, dword [ebp + 0x1c]
mov esi, dword [eax]
mov eax, dword [ebp + 8]
lea ecx, [eax + 0x498]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [eax + 0x4a8]
cmp ecx, 3
ja 0x1010755c
movzx edx, byte [esi]
inc esi
dec ebx
lea eax, [ecx + 1]
mov edi, dword [ebp + 8]
mov dword [edi + 0x4a8], eax
test ecx, ecx
je 0x10107537
mov dword [ebp - 0x18], esi
mov esi, edi
mov edi, dword [edi + 0x4b0]
shl edi, 8
or edi, edx
mov dword [esi + 0x4b0], edi
cmp ecx, 3
jae 0x10107545
mov esi, dword [ebp - 0x18]
jmp 0x10107634
mov dword [edi + 0x4ac], edx
xor eax, eax
inc eax
jmp 0x10107634
cmp edi, 0x20000
jae 0x1010780e
test edi, edi
mov esi, dword [ebp - 0x18]
jne 0x10107634
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0x49c]
mov eax, dword [edi + 0x4b0]
test ecx, ecx
jne 0x101075a2
cmp ebx, eax
jb 0x101075a2
sete cl
movzx ecx, cl
push ecx
push eax
push esi
push edi
call fcn.10103310
add esp, 0x10
mov ecx, edi
mov edi, dword [edi + 0x4b0]
sub ebx, edi
xor edx, edx
mov dword [ecx + 0x4b0], edx
mov dword [ecx + 0x4a8], edx
jmp 0x10107628
mov edi, eax
sub edi, ecx
cmp ebx, edi
cmovb edi, ebx
push eax
push dword [ebp - 0x1c]
call fcn.10111390
add esp, 8
test eax, eax
jne 0x10107858
mov eax, dword [ebp + 8]
mov dword [ebp - 0x18], esi
mov esi, eax
mov eax, dword [eax + 0x498]
add eax, dword [esi + 0x49c]
push edi
push dword [ebp - 0x18]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x49c]
add eax, edi
mov dword [esi + 0x49c], eax
cmp eax, dword [esi + 0x4b0]
jne 0x1010763e
xor ecx, ecx
sub ebx, edi
sete cl
push ecx
push eax
mov esi, dword [ebp + 8]
push dword [esi + 0x498]
push esi
call fcn.10103310
add esp, 0x10
xor ecx, ecx
mov dword [esi + 0x49c], ecx
mov dword [esi + 0x4b0], ecx
mov dword [esi + 0x4a8], ecx
mov esi, dword [ebp - 0x18]
test eax, eax
jne 0x10107858
add esi, edi
xor eax, eax
mov ecx, eax
test ebx, ebx
jne 0x101074fa
mov eax, dword [ebp + 0x1c]
mov dword [eax + 4], 0
xor esi, esi
mov edi, dword [ebp + 8]
jmp 0x1010776a
cmp dword [ebx + 4], 1
jne 0x101076f7
mov ecx, dword [ebx]
cmp byte [ecx], 1
jne 0x10107733
mov dword [ebx + 4], 0
cmp eax, 6
jne 0x10107792
test byte [edi + 0x1d], 4
jne 0x1010768b
push dword [edi + 0x174]
call fcn.100dab60
add esp, 4
push dword [edi + 0x3b0]
call fcn.1011f740
add esp, 4
mov eax, dword [edi + 0x3b4]
mov dword [edi + 0x3b0], eax
mov dword [edi + 0x3b4], 0
test byte [edi + 0x1d], 4
jne 0x101076c3
push dword [edi + 0x174]
call fcn.100dac50
add esp, 4
mov dword [edi + 0x450], 7
jmp 0x10107345
cmp dl, 0x55
jle 0x1010770e
mov eax, edx
add al, 0x9c
cmp al, 0x15
ja case.default.0x101076e6
movzx eax, al
jmp dword [eax*4 + 0x101b0cc0]
mov esi, 0xffffd066
jmp 0x1010799a
movzx eax, word [edi + 0x58]
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx*2]
add eax, 0x2f
push eax
jmp 0x10107735
cmp dl, 0x46
je 0x101077fa
cmp dl, 0x47
je 0x10107804
cmp dl, 0x50
jne case.0x101076e6.155
mov esi, 0xffffd064
jmp 0x1010799a
push 0x2f
push 2
push edi
call fcn.100fa900
add esp, 0xc
xor esi, esi
xor eax, eax
cmp dword [edi + 0x60], esi
sete al
or eax, 0xffffd006
push esi
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
push esi
push 0xffffd025
call sym.nss3.dll_PR_SetError
add esp, 8
xor esi, esi
dec esi
test byte [edi + 0x1d], 4
jne 0x1010777e
push dword [edi + 0x170]
call sym.nss3.dll_PR_ExitMonitor
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1014dc80
mov eax, esi
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
cmp eax, 1
je 0x1010796a
cmp eax, 8
jne 0x1010747d
movzx eax, word [edi + 0x58]
cmp eax, 0x304
jb 0x1010747d
xor esi, esi
cmp dword [edi + 0x614], 0
jne 0x1010776a
jmp 0x1010747d
test dl, dl
je 0x10107924
mov esi, 0xffffd03b
cmp dl, 0xa
je 0x1010799a
jmp case.0x101076e6.155
cmp dl, 0x56
je 0x10107995
cmp dl, 0x5a
jne case.0x101076e6.155
mov esi, 0xffffd065
jmp 0x1010799a
mov esi, 0xffffd062
jmp 0x1010799a
mov esi, 0xffffd063
jmp 0x1010799a
mov eax, dword [ebp + 8]
mov edi, eax
movzx eax, word [eax + 0x58]
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx*2 + 0x2f]
push eax
push 2
push edi
call fcn.100fa900
add esp, 0xc
xor esi, esi
xor eax, eax
cmp dword [edi + 0x60], esi
sete al
or eax, 0xffffd006
push esi
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
push esi
push 0xffffd027
call sym.nss3.dll_PR_SetError
add esp, 8
mov edi, dword [ebp + 0x1c]
mov eax, dword [edi + 4]
xor esi, esi
dec esi
sub eax, ebx
je 0x1010764a
mov ecx, dword [edi]
add eax, ecx
push ebx
push eax
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov dword [edi + 4], ebx
jmp 0x1010764a
mov esi, 0xffffd039
jmp 0x1010799a
mov esi, 0xffffd05b
jmp 0x1010799a
mov esi, 0xffffd05c
jmp 0x1010799a
mov esi, 0xffffd03c
jmp 0x1010799a
mov esi, 0xffffd03d
jmp 0x1010799a
mov esi, 0xffffd003
jmp 0x1010799a
mov esi, 0xffffd011
jmp 0x1010799a
mov esi, 0xffffd03f
jmp 0x1010799a
mov esi, 0xffffd012
jmp 0x1010799a
mov esi, 0xffffd013
jmp 0x1010799a
mov esi, 0xffffd040
jmp 0x1010799a
mov esi, 0xffffd03e
jmp 0x1010799a
mov esi, 0xffffd05d
jmp 0x1010799a
mov esi, 0xffffd05e
jmp 0x1010799a
mov esi, 0xffffd05f
jmp 0x1010799a
mov esi, 0xffffd060
jmp 0x1010799a
mov esi, 0xffffd061
jmp 0x1010799a
mov dword [edi + 0x48], 1
mov esi, 0xffffd03a
jmp 0x1010799a
mov esi, 0xffffd08f
jmp 0x1010799a
mov esi, 0xffffd068
jmp 0x1010799a
mov esi, 0xffffd069
jmp 0x1010799a
mov esi, 0xffffd06a
jmp 0x1010799a
mov esi, 0xffffd06b
jmp 0x1010799a
mov esi, 0xffffd06c
jmp 0x1010799a
mov esi, 0xffffd0b5
jmp 0x1010799a
mov esi, 0xffffd0bf
jmp 0x1010799a
movzx eax, word [edi + 0x26]
cmp eax, 0x304
jb 0x1010747d
cmp dword [edi + 0x618], 0
jne 0x1010747d
mov dword [edi + 0x618], 1
jmp 0x10107345
mov esi, 0xffffd083
movzx eax, word [edi + 0x58]
cmp eax, 0x304
jb 0x101079b7
cmp dword [edi + 0x450], 8
je 0x101079b7
cmp dl, 0x5a
je 0x101079b7
test dl, dl
jne 0x101079bc
cmp dh, 2
jne 0x101079e3
push edi
mov ebx, edx
call fcn.101141d0
add esp, 4
cmp dword [edi + 0x450], 8
mov eax, 0xffffd002
cmovne eax, esi
cmp bl, 0x28
cmovne eax, esi
push 0
jmp 0x1010746a
xor esi, esi
cmp dl, 0x29
jne 0x1010776a
cmp dword [edi + 0x450], 3
jne 0x1010776a
mov dword [edi + 0x450], 4
push edi
call fcn.100fc9d0
add esp, 4
jmp 0x10107427