Function at 0x1016b980
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 eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [edi + 0xc4]
call fcn.10160fa0
test eax, eax
je 0x1016b9fc
mov esi, dword [ebp + 0xc]
test byte [edi + 0x1d], 4
jne 0x1016b9bc
push dword [edi + 0x170]
call sym.nss3.dll_PR_EnterMonitor
add esp, 4
add esi, 0xffffffec
cmp esi, 6
ja case.0x1016b9cb.23
mov ebx, dword [ebp + 0x1c]
jmp dword [esi*4 + 0x101a83a0]
mov eax, dword [edi + 0x450]
cmp eax, 6
je 0x1016bb20
cmp dword [edi + 0x9f8], 1
jne 0x1016bb20
mov dword [ebx + 4], 0
xor esi, esi
jmp 0x1016be23
push 0
push 0xffffd053
call sym.nss3.dll_PR_SetError
add esp, 8
xor esi, esi
dec esi
jmp 0x1016be37
cmp dword [ebx + 4], 2
jne 0x1016bb46
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 0x1016ba67
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x14]
mov ebx, edx
mov bh, dh
mov byte [eax], dh
mov byte [eax + 1], dl
mov edi, dword [edi]
mov esi, dword [esi + 0xf8]
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 0x1016bd8d
mov eax, edx
add al, 0xec
cmp al, 0x28
ja case.default.0x1016ba7f
movzx eax, al
jmp dword [eax*4 + 0x101a83bc]
mov esi, 0xffffd010
jmp 0x1016c053
cmp dword [edi + 0x9f8], 1
jne 0x1016bb88
movzx eax, word [ebp + 0x10]
movzx eax, ax
push ebx
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push eax
push edi
call fcn.1015cfb0
add esp, 0x14
jmp 0x1016bad7
cmp dword [edi + 0x9f8], 1
jne case.0x1016b9cb.23
push edi
call fcn.1018a560
add esp, 4
test eax, eax
je case.0x1016b9cb.23
push ebx
push edi
call fcn.1015cc80
add esp, 8
mov esi, eax
jmp 0x1016be23
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.1015f2c0
add esp, 0xc
xor eax, eax
cmp dword [edi + 0x60], esi
sete al
or eax, 0xffffd006
push esi
push eax
jmp 0x1016be18
cmp dword [edi + 0x4a8], 0
je 0x1016bd0d
push 0xa
push 2
push edi
call fcn.1015f2c0
add esp, 0xc
push 0
push 0xffffd033
jmp 0x1016be18
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.1015f2c0
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 0x1016be18
mov ebx, dword [ebx + 4]
test ebx, ebx
je 0x1016bcf9
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx + 0x498]
mov esi, dword [eax]
mov dword [ebp - 0x18], ecx
mov ecx, dword [edx + 0x4a8]
cmp ecx, 4
jae 0x1016bc03
movzx edx, byte [esi]
mov edi, dword [ebp + 8]
lea eax, [ecx + 1]
inc esi
dec ebx
test ecx, ecx
mov dword [edi + 0x4a8], eax
je 0x1016bce6
mov edi, dword [ebp + 8]
mov edi, dword [edi + 0x4b0]
shl edi, 8
or edi, edx
mov edx, dword [ebp + 8]
cmp ecx, 3
mov dword [edx + 0x4b0], edi
jb 0x1016bcef
cmp edi, 0x20000
jae 0x1016bec7
test edi, edi
jne 0x1016bcef
mov edi, dword [ebp + 8]
xor eax, eax
jmp 0x1016bc0c
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x4b0]
mov ecx, dword [edi + 0x49c]
cmp ebx, eax
jb 0x1016bc52
test ecx, ecx
jne 0x1016bc52
xor ecx, ecx
cmp ebx, eax
sete cl
push ecx
push eax
push esi
push edi
call fcn.10167bb0
add esp, 0x10
mov ecx, edi
mov edi, dword [edi + 0x4b0]
xor edx, edx
mov dword [ecx + 0x4b0], edx
mov dword [ecx + 0x4a8], edx
sub ebx, edi
test eax, eax
je 0x1016bce0
jmp 0x1016bf11
mov edi, eax
sub edi, ecx
cmp ebx, edi
cmovb edi, ebx
push eax
push dword [ebp - 0x18]
call fcn.10175a30
add esp, 8
test eax, eax
jne 0x1016bf11
mov eax, dword [ebp + 8]
mov ecx, esi
mov esi, eax
mov eax, dword [eax + 0x498]
add eax, dword [esi + 0x49c]
push edi
mov dword [ebp - 0x1c], ecx
push ecx
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 0x1016bcf9
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.10167bb0
add esp, 0x10
xor ecx, ecx
test eax, eax
mov dword [esi + 0x49c], ecx
mov dword [esi + 0x4b0], ecx
mov dword [esi + 0x4a8], ecx
mov esi, dword [ebp - 0x1c]
jne 0x1016bf11
add esi, edi
xor eax, eax
jmp 0x1016bcef
xor eax, eax
mov dword [edi + 0x4ac], edx
inc eax
test ebx, ebx
mov ecx, eax
jne 0x1016bbaa
mov eax, dword [ebp + 0x1c]
xor esi, esi
mov dword [eax + 4], 0
mov edi, dword [ebp + 8]
jmp 0x1016be23
cmp dword [ebx + 4], 1
jne 0x1016bdb2
mov ecx, dword [ebx]
cmp byte [ecx], 1
jne 0x1016bdec
cmp eax, 6
mov dword [ebx + 4], 0
jne 0x1016be4b
test byte [edi + 0x1d], 4
jne 0x1016bd46
push dword [edi + 0x174]
call fcn.1013e140
add esp, 4
push dword [edi + 0x3b0]
call fcn.10183970
add esp, 4
mov eax, dword [edi + 0x3b4]
mov dword [edi + 0x3b0], eax
mov dword [edi + 0x3b4], 0
test byte [edi + 0x1d], 4
jne 0x1016bd7e
push dword [edi + 0x174]
call fcn.1013e210
add esp, 4
mov dword [edi + 0x450], 7
jmp 0x1016b9f5
cmp dl, 0x55
jle 0x1016bdc7
mov eax, edx
add al, 0x9c
cmp al, 0x15
ja case.default.0x1016bda1
movzx eax, al
jmp dword [eax*4 + 0x101a8460]
mov esi, 0xffffd066
jmp 0x1016c053
movzx eax, word [edi + 0x58]
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx*2 + 0x2f]
push eax
jmp 0x1016bdee
cmp dl, 0x46
je 0x1016beb3
cmp dl, 0x47
je 0x1016bebd
cmp dl, 0x50
jne case.0x1016bda1.155
mov esi, 0xffffd064
jmp 0x1016c053
push 0x2f
push 2
push edi
call fcn.1015f2c0
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 0x1016be37
push dword [edi + 0x170]
call sym.nss3.dll_PR_ExitMonitor
add esp, 4
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
cmp eax, 1
je 0x1016c023
cmp eax, 8
jne 0x1016bb2d
movzx eax, word [edi + 0x58]
cmp eax, 0x304
jb 0x1016bb2d
xor esi, esi
cmp dword [edi + 0x614], 0
jne 0x1016be23
jmp 0x1016bb2d
test dl, dl
je 0x1016bfdd
mov esi, 0xffffd03b
cmp dl, 0xa
je 0x1016c053
jmp case.0x1016bda1.155
cmp dl, 0x56
je 0x1016c04e
cmp dl, 0x5a
jne case.0x1016bda1.155
mov esi, 0xffffd065
jmp 0x1016c053
mov esi, 0xffffd062
jmp 0x1016c053
mov esi, 0xffffd063
jmp 0x1016c053
mov eax, dword [ebp + 8]
xor ecx, ecx
mov edi, eax
movzx eax, word [eax + 0x58]
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx*2 + 0x2f]
push eax
push 2
push edi
call fcn.1015f2c0
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]
xor esi, esi
dec esi
mov eax, dword [edi + 4]
sub eax, ebx
je 0x1016bd05
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 0x1016bd05
mov esi, 0xffffd039
jmp 0x1016c053
mov esi, 0xffffd05b
jmp 0x1016c053
mov esi, 0xffffd05c
jmp 0x1016c053
mov esi, 0xffffd03c
jmp 0x1016c053
mov esi, 0xffffd03d
jmp 0x1016c053
mov esi, 0xffffd003
jmp 0x1016c053
mov esi, 0xffffd011
jmp 0x1016c053
mov esi, 0xffffd03f
jmp 0x1016c053
mov esi, 0xffffd012
jmp 0x1016c053
mov esi, 0xffffd013
jmp 0x1016c053
mov esi, 0xffffd040
jmp 0x1016c053
mov esi, 0xffffd03e
jmp 0x1016c053
mov esi, 0xffffd05d
jmp 0x1016c053
mov esi, 0xffffd05e
jmp 0x1016c053
mov esi, 0xffffd05f
jmp 0x1016c053
mov esi, 0xffffd060
jmp 0x1016c053
mov esi, 0xffffd061
jmp 0x1016c053
mov dword [edi + 0x48], 1
mov esi, 0xffffd03a
jmp 0x1016c053
mov esi, 0xffffd08f
jmp 0x1016c053
mov esi, 0xffffd068
jmp 0x1016c053
mov esi, 0xffffd069
jmp 0x1016c053
mov esi, 0xffffd06a
jmp 0x1016c053
mov esi, 0xffffd06b
jmp 0x1016c053
mov esi, 0xffffd06c
jmp 0x1016c053
mov esi, 0xffffd0b5
jmp 0x1016c053
mov esi, 0xffffd0bf
jmp 0x1016c053
movzx eax, word [edi + 0x26]
cmp eax, 0x304
jb 0x1016bb2d
cmp dword [edi + 0x618], 0
jne 0x1016bb2d
mov dword [edi + 0x618], 1
jmp 0x1016b9f5
mov esi, 0xffffd083
movzx eax, word [edi + 0x58]
cmp eax, 0x304
jb 0x1016c070
cmp dword [edi + 0x450], 8
je 0x1016c070
cmp dl, 0x5a
je 0x1016c070
test dl, dl
jne 0x1016c075
cmp dh, 2
jne 0x1016c09c
push edi
mov ebx, edx
call fcn.10178740
add esp, 4
cmp dword [edi + 0x450], 8
mov eax, 0xffffd002
cmovne eax, esi
cmp bl, 0x28
cmovne eax, esi
push 0
jmp 0x1016bb1a
xor esi, esi
cmp dl, 0x29
jne 0x1016be23
cmp dword [edi + 0x450], 3
jne 0x1016be23
mov dword [edi + 0x450], 4
push edi
call fcn.10161340
add esp, 4
jmp 0x1016bad7