Function at 0x100081a5
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push ebx
push esi
push edi
mov eax, dword [ebp + 0x14]
mov dword [ebp - 4], eax
jmp 0x100080da
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
mov edx, dword [ebp + 0x14]
add edx, 5
cmp dword [ebp - 4], edx
jae 0x1000815c
mov eax, dword [ebp - 4]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
sub ecx, 0x131
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0xe
add byte [ecx + 0x7d83f84d], cl
clc
push cs
ja case.0x10008107.2
mov edx, dword [ebp - 8]
movzx eax, byte [edx + 0x10008bd0]
jmp dword [eax*4 + 0x10008bb8]
call fcn.10008cb0
jmp case.0x10008107.2
js 0x100080f3
mov al, 0x4d
mov esi, 0xc458b51
and dword [ebp - 4], 0
push esi
mov esi, dword [ebp + 8]
push edi
and eax, 0xffffff
lea edi, [esi + 8]
push eax
mov ecx, edi
jmp case.0x10008107.2
add esp, 0xfffffff0
call fcn.1000fe90
mov ebx, edx
mov esi, eax
xor edx, edx
mov eax, esi
jmp case.0x10008107.2
push ebx
push esi
test dl, dl
je case.0x100082c6.2
jmp case.0x10008107.2
call fcn.1000e360
jmp 0x100080d1
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0xc], ecx
jmp 0x1000816d
mov edx, dword [ebp - 0xc]
add edx, 1
mov dword [ebp - 0xc], edx
mov eax, dword [ebp + 0x14]
add eax, 5
cmp dword [ebp - 0xc], eax
jae 0x10008205
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
sub edx, 0x131
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0xd
ja case.0x1000819e.2
mov eax, dword [ebp - 0x10]
movzx ecx, byte [eax + 0x10008bf8]
jmp dword [ecx*4 + 0x10008be0]
pop es
cli
adc edx, esi
lahf
sub esp, 0x1c
push dword [0x1001d160]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov eax, dword [eax + 4]
cmp eax, dword [0x1001d0fc]
mov eax, dword [ebp + 8]
jne case.0x100082c6.2
jmp case.0x1000819e.2
les esi, [edx + 0x58]
clc
cmc
test eax, eax
jne case.0x10008242.2
jmp case.0x1000819e.2
or edx, eax
jae 0x10008241
xor edi, eax
inc ebp
cld
xor byte [ecx], dl
adc eax, dword [eax + 0x14eb5feb]
mov eax, esi
call fcn.10015e90
mov eax, esi
test bl, bl
je case.0x10008242.2
jmp case.0x1000819e.2
call fcn.10009280
jmp 0x10008164
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0x14], edx
jmp 0x10008216
mov eax, dword [ebp - 0x14]
sub eax, 1
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp + 0x14]
sub ecx, 5
cmp dword [ebp - 0x14], ecx
jbe 0x10008287
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
sub eax, 0x12e
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xf
ja case.0x10008242.4
mov ecx, dword [ebp - 0x18]
movzx edx, byte [ecx + 0x10008c20]
jmp dword [edx*4 + 0x10008c08]
adc bh, bh
and al, 0x95
or byte [eax + eax - 0x74afacf0], cl
push ebx
push eax
mov ecx, edi
push ebx
push eax
mov ecx, edi
call fcn.100080c0
jmp case.0x10008242.4
call fcn.1000bc30
jmp case.0x10008242.4
pop dword fs:[0]
add esp, 0xc
mov eax, esi
pop esi
pop ebx
ret
push ebx
mov ecx, edi
mov esi, eax
jmp case.0x10008242.4
mov ebx, eax
mov eax, dword [esi + 0x18c]
add eax, 3
push eax
push ebx
call fcn.1000cd60
jmp 0x1000820d
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x1c], eax
jmp 0x10008298
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp + 0x14]
add edx, 6
cmp dword [ebp - 0x1c], edx
jae 0x10008357
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
sub ecx, 0x131
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], 8
ja case.0x100082c6.3
mov edx, dword [ebp - 0x20]
jmp dword [edx*4 + 0x10008c30]
mov ebx, eax
jmp case.0x10008107.14
push dword [ebp + 0xc]
push eax
call dword [ecx + 0x2c]
jmp case.0x10008242.1
and dword [ebp - 4], 0
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 8], eax
lea eax, [ebp - 0x1c]
push eax
push 0x10008411
adc al, ch
leave
push edx
add byte [eax], al
jmp case.0x100082c6.3
push dword [ebp + 0x1c]
mov ecx, dword [eax]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
jmp case.0x100082c6.3
aaa
pop ebx
ret
mov ecx, dword [ebp + 0x10]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne case.0x1000819e.13
test dl, dl
je case.0x10008107.14
jmp 0x1000828f
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x24], eax
jmp 0x10008368
mov ecx, dword [ebp - 0x24]
sub ecx, 1
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp + 0x14]
sub edx, 5
cmp dword [ebp - 0x24], edx
jbe 0x10008bb0
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
sub ecx, 0x12e
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], 9
ja case.0x10008396.4
mov edx, dword [ebp - 0x28]
jmp dword [edx*4 + 0x10008c54]
adc al, 0xc8
add al, 0x43
and eax, 0xd883c01b
inc dword [ebp + 0x461c74c0]
cmp esi, ebx
jmp case.0x10008396.4
or byte [ebx + 0xf7c5b26], ah
test dword [eax - 3], edx
invalid
jb case.0x10008242.15
mov dword [ebp - 4], 0x80131130
pop ebx
mov eax, dword [ebp - 4]
pop edi
pop esi
leave
ret 0x10
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne case.0x100082c6.2
inc eax
inc eax
inc ecx
inc ecx
test dl, dl
jmp case.0x10008396.4
mov eax, dword [ebp - 4]
leave
ret 0x18
jmp 0x1000835f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret