Function at 0x10192960
Capabilities:
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push ecx
push ebx
push esi
push edi
call fcn.10222b20
mov edi, eax
test edi, edi
je 0x10192993
mov ecx, edi
nop word [eax + eax]
cmp dword [ecx + 8], 0x10192750
je 0x10192a36
mov ecx, dword [ecx]
test ecx, ecx
jne 0x10192980
push 0x10
call fcn.102af9f4
add esp, 4
mov esi, eax
push esi
push dword [0x10372ad0]
mov dword [esi], edi
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
push 4
call fcn.102af9f4
add esp, 4
mov dword [esi + 4], eax
mov dword [esi + 8], 0x10192750
mov dword [esi + 0xc], 0x10192770
mov ebx, dword [ebp + 8]
mov dword [eax], ebx
call fcn.10222b20
mov edi, eax
test edi, edi
je 0x101929ef
mov ecx, edi
nop dword [eax + eax]
cmp dword [ecx + 8], 0x101927e0
je 0x10192a3b
mov ecx, dword [ecx]
test ecx, ecx
jne 0x101929e0
push 0x10
call fcn.102af9f4
add esp, 4
mov esi, eax
push esi
push dword [0x10372ad0]
mov dword [esi], edi
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
push 0x800
call fcn.102affa2
mov edi, eax
mov dword [esi + 8], 0x101927e0
add esp, 4
mov dword [esi + 4], edi
mov dword [esi + 0xc], 0x101927f0
cmp ebx, 6
ja case.default.0x10192a2f
jmp dword [ebx*4 + 0x10192bc8]
mov eax, dword [ecx + 4]
jmp 0x101929c9
mov edi, dword [ecx + 4]
jmp 0x10192a2a
mov eax, str.No_Error
jmp 0x10192a76
mov eax, str.Invalid_Argument
jmp 0x10192a76
mov eax, str.Invalid_Operation
jmp 0x10192a76
mov eax, str.Invalid_Handle
jmp 0x10192a76
mov eax, str.Invalid_Paint
jmp 0x10192a76
mov eax, str.Out_Of_Memory
jmp 0x10192a76
mov eax, str.Parse_Error
jmp 0x10192a76
mov eax, str.Unknown_error
push eax
push str._s:
push edi
call fcn.10192710
mov ecx, edi
add esp, 0xc
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10192a90
sub ecx, edx
mov edx, 0x800
sub edx, ecx
mov ecx, edi
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10192aa5
lea eax, [ebp + 0x10]
sub ecx, esi
push eax
push 0
push dword [ebp + 0xc]
add edi, ecx
push edx
push edi
call fcn.10011550
mov ecx, dword [eax]
push dword [eax + 4]
or ecx, 2
push ecx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___stdio_common_vsprintf]
add esp, 0x1c
call fcn.10222b20
mov edi, eax
test edi, edi
je 0x10192af3
mov ecx, edi
nop
cmp dword [ecx + 8], 0x10192780
je 0x10192bac
mov ecx, dword [ecx]
test ecx, ecx
jne 0x10192ae0
push 0x10
call fcn.102af9f4
add esp, 4
mov esi, eax
push esi
push dword [0x10372ad0]
mov dword [esi], edi
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
push 4
call fcn.102af9f4
add esp, 4
mov dword [eax], 0x10192870
mov dword [esi + 4], eax
mov dword [esi + 8], 0x10192780
mov dword [esi + 0xc], 0x101927a0
mov eax, dword [eax]
mov dword [esp + 0xc], eax
test eax, eax
je 0x10192ba5
test ebx, ebx
je 0x10192ba5
call fcn.10222b20
mov edi, eax
test edi, edi
je 0x10192b5f
mov ecx, edi
nop word [eax + eax]
cmp dword [ecx + 8], 0x101927b0
je 0x10192bb4
mov ecx, dword [ecx]
test ecx, ecx
jne 0x10192b50
push 0x10
call fcn.102af9f4
add esp, 4
mov esi, eax
push esi
push dword [0x10372ad0]
mov dword [esi], edi
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
push 4
call fcn.102af9f4
add esp, 4
mov dword [eax], 0
mov dword [esi + 4], eax
mov dword [esi + 8], 0x101927b0
mov dword [esi + 0xc], 0x101927d0
push dword [eax]
push ebx
call dword [esp + 0x14]
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ecx + 4]
jmp 0x10192b2f
mov eax, dword [ecx + 4]
push dword [eax]
push ebx
call dword [esp + 0x14]
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret