Function at 0x10057aa0
Capabilities:
Get thread local storage value

Disassembly:
push ecx
push ebx
push ebp
mov ebp, dword [esp + 0x10]
test ebp, ebp
push esi
push edi
mov dword [esp + 0x10], 0
je 0x10057ac9
mov eax, dword [ebp + 0x1c]
test eax, eax
mov esi, dword [ebp + 0x18]
jne 0x10057ad9
push 0x11
push ebp
call fcn.10055ad0
jmp 0x10057ad9
mov eax, dword [0x1007eed0]
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov esi, eax
xor eax, eax
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push ebx
push eax
push esi
mov dword [ecx], 0
call fcn.10057960
mov edi, eax
test edi, edi
je 0x10057bc4
cmp ebx, 0x11
jne 0x10057b01
mov dword [edi + 0x1c], edi
mov eax, dword [edi + 0x1c]
test eax, eax
jne 0x10057b10
push 0x11
push edi
call fcn.10055ad0
mov ebx, dword [edi + 0x18]
mov dword [esp + 0x18], eax
mov ax, word [0x10074626]
xor esi, esi
test ax, ax
je 0x10057b96
movzx edx, ax
push edx
push ebx
call fcn.10069dc0
mov esi, eax
test esi, esi
je 0x10057b96
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov dword [esi + 0x1c], eax
mov dword [esi], fcn.100555e0
mov dword [esi + 4], fcn.10057850
mov dword [esi + 0x18], ebx
mov word [esi + 8], cx
mov dword [esi + 0x10], 0x1f
mov word [esi + 0x14], cx
mov dword [esi + 0x20], ecx
mov edx, dword [0x10074404]
mov dword [esi + 0x24], edx
mov eax, dword [0x1007449c]
mov dword [esi + 0x28], eax
mov eax, edx
cmp eax, ecx
je 0x10057b7d
mov dx, word [eax]
mov word [esi + 0x16], dx
mov eax, dword [0x10074534]
cmp eax, ecx
je 0x10057b96
push esi
call eax
test eax, eax
jne 0x10057b96
push esi
push ebx
call fcn.1006a020
xor esi, esi
test esi, esi
mov dword [edi + 0x34], esi
je 0x10057bbe
mov ecx, dword [esp + 0x20]
lea eax, [ecx - 1]
cmp eax, 0x1d
mov dword [esi + 0x34], edi
ja case.0x10057bb7.2
movzx eax, byte [eax + 0x10057e30]
jmp dword [eax*4 + 0x10057e00]
push edi
call fcn.10007380
push 1
push 0
push ebp
push 0xfffffc0d
call fcn.1005a550
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret 0xc
xor eax, eax
cmp ecx, 0xe
sete al
lea edx, [edi + 0xb8]
push edx
push edi
lea eax, [eax + eax + 0xd]
push eax
jmp 0x10057dc5
lea ecx, [edi + 0x8c]
push ecx
push edi
push 0x13
call fcn.10057a60
test eax, eax
je 0x10057dd2
lea edx, [edi + 0x90]
push edx
push edi
push 0x1d
call fcn.10057a60
test eax, eax
je 0x10057dd2
lea eax, [edi + 0x38]
push eax
push edi
push 0x21
call fcn.10057a60
test eax, eax
je 0x10057dd2
mov dword [edi + 0x3c], 0
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret 0xc
lea ecx, [edi + 0x100]
push ecx
push edi
push 0x14
call fcn.10057a60
test eax, eax
je 0x10057dd2
lea edx, [edi + 0x104]
push edx
push edi
push 0xd
call fcn.10057a60
test eax, eax
je 0x10057dd2
lea eax, [edi + 0x108]
push eax
push edi
push 0xf
jmp 0x10057dc5
lea ecx, [edi + 0x4bc]
push ecx
push edi
push 2
call fcn.10057a60
test eax, eax
je 0x10057dd2
lea edx, [edi + 0x4c0]
push edx
push edi
push 0x15
call fcn.10057a60
test eax, eax
je 0x10057dd2
lea eax, [edi + 0x4c4]
push eax
push edi
push 9
call fcn.10057a60
test eax, eax
je 0x10057dd2
lea ecx, [edi + 0x4d0]
push ecx
push edi
push 0x24
call fcn.10057a60
test eax, eax
je 0x10057dd2
lea edx, [edi + 0x4c8]
push edx
push edi
push 0x1b
call fcn.10057a60
test eax, eax
je 0x10057dd2
lea eax, [edi + 0x4cc]
push eax
push edi
push 0x1d
call fcn.10057a60
test eax, eax
je 0x10057dd2
lea ecx, [edi + 0x4d4]
push ecx
push edi
push 0x1d
jmp 0x10057dc5
lea edx, [edi + 0xfc]
push edx
push edi
push 5
call fcn.10057a60
test eax, eax
je 0x10057dd2
lea eax, [edi + 0xf8]
push eax
push edi
push 0x19
jmp 0x10057dc5
lea ecx, [edi + 0x11c]
push ecx
push edi
push 0x17
jmp 0x10057dc5
lea edx, [edi + 0xec]
push edx
push edi
push 5
call fcn.10057a60
test eax, eax
je 0x10057dd2
lea eax, [edi + 0xf0]
push eax
push edi
push 6
jmp 0x10057dc5
lea ecx, [edi + 0x300]
push ecx
push edi
push 5
call fcn.10057a60
test eax, eax
je 0x10057dd2
lea edx, [edi + 0x304]
push edx
push edi
push 6
jmp 0x10057dc5
lea eax, [edi + 0x300]
push eax
push edi
push 5
call fcn.10057a60
test eax, eax
je 0x10057dd2
lea ecx, [edi + 0x304]
push ecx
push edi
push 6
jmp 0x10057dc5
lea edx, [edi + 0x400]
push edx
jmp 0x10057dc2
lea eax, [edi + 0x15c]
push eax
push edi
push 5
call fcn.10057a60
test eax, eax
jne case.0x10057bb7.2
push 1
push 0
push ebp
push 0xfffffc0d
call fcn.1005a550
cmp eax, 7
mov dword [esp + 0x10], eax
jne case.0x10057bb7.2
push edi
call fcn.100573a0
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret 0xc