Function at 0x10003c70
Capabilities:
Get thread local storage value

Disassembly:
push ebx
mov eax, dword [0x1002b150]
push esi
push edi
push ebp
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
lea ecx, [eax + 0x4b0]
mov esi, eax
push ecx
lea eax, [esi + 0x4b4]
mov dword [esi + 0x49c], 2
lea edx, [esi + 0x49c]
mov dword [esi + 0x4a0], eax
mov dword [esi + 0x4b0], 2
push edx
mov eax, dword [esi + 0x4a0]
push 0xffffffffffffffff
push eax
call fcn.1000e960
add esp, 0x10
mov dword [esi + 0x5d84], eax
test eax, eax
jne 0x10003f14
cmp dword [esi + 0x49c], 2
je 0x10003ce2
mov eax, 0xfffffff7
pop ebp
pop edi
pop esi
pop ebx
ret
mov eax, dword [esi + 0x4a0]
xor ecx, ecx
xor ebx, ebx
mov cl, byte [eax]
mov dword [esi + 0x4a8], ecx
mov eax, dword [esi + 0x4a0]
inc eax
mov dword [esi + 0x4a0], eax
mov bl, byte [eax]
mov eax, dword [esi + 0x4a8]
shl eax, 8
or ebx, eax
sub ebx, 2
mov dword [esi + 0x4a8], ebx
mov dword [esi + 0x49c], ebx
cmp dword [esi + 0x4a8], 0x1a1
jbe 0x10003d33
mov eax, 0xfffffff7
pop ebp
pop edi
pop esi
pop ebx
ret
test ebx, ebx
jle 0x10003f12
lea eax, [esi + 0x4b4]
lea ecx, [esi + 0x4b0]
push ecx
lea edx, [esi + 0x49c]
mov dword [esi + 0x49c], 0x11
push edx
mov dword [esi + 0x4a0], eax
mov dword [esi + 0x4b0], 2
push 0xffffffffffffffff
mov eax, dword [esi + 0x4a0]
push eax
call fcn.1000e960
add esp, 0x10
mov dword [esi + 0x5d84], eax
test eax, eax
jne 0x10003ebe
sub ebx, dword [esi + 0x49c]
mov eax, dword [esi + 0x4a0]
lea ecx, [eax + 1]
mov dword [esi + 0x4a0], ecx
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0x13
ja case.0x10003db2.8
xor eax, eax
mov al, byte [ecx + 0x10003f40]
jmp dword [eax*4 + 0x10003f1c]
lea ecx, [esi + 0x62a8]
lea edi, [esi + 0x62b8]
jmp 0x10003e27
lea ecx, [esi + 0x62c9]
lea edi, [esi + 0x62d9]
jmp 0x10003e27
lea ecx, [esi + 0x62ea]
lea edi, [esi + 0x62fa]
jmp 0x10003e27
lea ecx, [esi + 0x630b]
lea edi, [esi + 0x631b]
jmp 0x10003e27
lea ecx, [esi + 0x632c]
lea edi, [esi + 0x633c]
jmp 0x10003e27
lea ecx, [esi + 0x643c]
lea edi, [esi + 0x644c]
jmp 0x10003e27
lea ecx, [esi + 0x654c]
lea edi, [esi + 0x655c]
jmp 0x10003e27
lea ecx, [esi + 0x665c]
lea edi, [esi + 0x666c]
mov dword [esi + 0x49c], 0
xor edx, edx
mov eax, dword [esi + 0x4a0]
inc edx
mov al, byte [eax]
mov byte [ecx + edx - 1], al
xor eax, eax
mov ebp, dword [esi + 0x4a0]
mov al, byte [ebp]
add dword [esi + 0x49c], eax
inc dword [esi + 0x4a0]
cmp edx, 0x10
jb 0x10003e33
lea ecx, [esi + 0x4b0]
lea eax, [esi + 0x49c]
mov dword [esi + 0x4b0], 2
push ecx
push eax
push 0xffffffffffffffff
push edi
call fcn.1000e960
add esp, 0x10
mov dword [esi + 0x5d84], eax
test eax, eax
jne 0x10003ed3
mov eax, dword [esi + 0x49c]
cmp eax, 0x255
jae 0x10003ea9
push eax
push 0xff
push edi
call fcn.100267a8
add esp, 0xc
test eax, eax
jne 0x10003ede
sub ebx, dword [esi + 0x49c]
test ebx, ebx
jg 0x10003d3b
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
ret
mov eax, dword [esi + 0x5d84]
pop ebp
pop edi
pop esi
pop ebx
ret
mov eax, 0xfffffff7
pop ebp
pop edi
pop esi
pop ebx
ret
mov eax, dword [esi + 0x5d84]
pop ebp
pop edi
pop esi
pop ebx
ret
sub eax, edi
lea ecx, [esi + 0x4b0]
sub eax, dword [esi + 0x49c]
push ecx
mov dword [esi + 0x4b0], 3
lea edx, [esi + 0x49c]
push edx
push eax
push edi
call fcn.1000e960
add esp, 0x10
mov dword [esi + 0x5d84], eax
test eax, eax
jne 0x10003f14
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
ret