Function at 0x10102bf0
Capabilities:
Get thread local storage value
Resolve function by parsing pe exports

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xcc
mov eax, dword [0x101f0098]
xor eax, esp
mov dword [esp + 0xc8], eax
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x18]
push ebx
push esi
mov esi, ecx
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x30], eax
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 8]
mov dword [esp + 0xa8], eax
mov dword [esp + 0x64], eax
xor eax, eax
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x50], eax
mov dword [esp + 0x70], eax
mov byte [esp + 0x1b], al
mov eax, edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x38], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x30], ecx
mov dword [esp + 0xb0], 2
mov dword [esp + 0xa8], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0x6c], 2
mov dword [esp + 0x64], 0
mov dword [esp + 0x10], edx
call fcn.10141f60
fldz
mov ebx, dword [ebp + 0x24]
or ebx, eax
mov eax, edx
and eax, 0xfff00000
mov dword [esp + 0x24], ebx
mov dword [ebp + 0x24], ebx
cmp eax, 0x20400000
jne 0x10102d4f
test bl, 2
je 0x10102d4f
mov edi, edx
and edi, 0xfffff
mov esi, 0
jbe 0x10102d26
mov ebx, dword [esp + 0x34]
fld1
sub ebx, ecx
mov eax, dword [ecx]
cmp eax, dword [ebx + ecx]
jne 0x10102d18
mov edx, eax
mov eax, dword [edx + 0x50]
and eax, 0x200000
or eax, 0
je 0x10102d18
fxch st(1)
fcom qword [edx + 0xd8]
fnstsw ax
test ah, 0x41
jp 0x10102d4b
fxch st(1)
fcom qword [edx + 0xe0]
fnstsw ax
test ah, 1
jne 0x10102d18
inc esi
add ecx, 4
cmp esi, edi
jb 0x10102cdc
fstp st(0)
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
cmp esi, edi
fstp st(0)
mov esi, dword [esp + 0x14]
jne 0x10102d45
mov edx, edi
and edx, 0xfffff
or edx, 0x10000000
mov dword [esp + 0x10], edx
mov dword [ebp + 0xc], edx
mov edi, dword [esp + 0x1c]
jmp 0x10102d51
fstp st(1)
jmp 0x10102d1a
fstp st(0)
cmp edx, 0x50000001
jne 0x10102dd7
mov edx, 0x20400001
mov dword [esp + 0x10], edx
mov dword [ebp + 0xc], edx
mov eax, edx
and eax, 0xfff00000
cmp eax, 0x10000000
je 0x10102d9a
cmp eax, 0x10200000
je 0x10102d9a
cmp eax, 0x10600000
je 0x10102d9a
cmp eax, 0x10400000
je 0x10102d9a
cmp eax, 0x30100000
je 0x10102d9a
cmp eax, 0x80100000
jne 0x10102f17
mov edx, 1
mov ecx, 0x10100000
mov esi, edx
cmp eax, 0x30100000
ja 0x10102ec7
je 0x10102eb8
cmp eax, 0x10200000
je 0x10102eb1
cmp eax, 0x10400000
jne 0x10102ed5
mov ecx, 0x10500000
jmp 0x10102ed5
cmp edx, 0x50000002
jne 0x10102d65
mov eax, dword [esi + 8]
test byte [eax + 0xb0a8], 0x80
jne 0x10102d65
push 0x11
mov esi, ebx
mov ebx, dword [ebp + 0x1c]
and esi, 0xc0
push esi
push 0
and ebx, 2
push ebx
push dword [esp + 0x44]
lea eax, [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x2c]
push eax
push 0x20400001
push edi
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x50], 0xffffffff
call fcn.101019a0
mov edi, eax
test edi, edi
js 0x101049ed
mov eax, dword [esp + 0x34]
push 0x11
push esi
mov esi, dword [esp + 0x24]
push 0
push ebx
mov ebx, dword [esp + 0x24]
add eax, 4
push eax
mov eax, dword [esp + 0x4c]
add eax, 4
push eax
lea eax, [esp + 0x44]
push eax
push 0x20400001
push esi
mov ecx, ebx
call fcn.101019a0
mov edi, eax
test edi, edi
js 0x101049ed
push dword [ebp + 0x28]
lea eax, [esp + 0x30]
push dword [esp + 0x28]
mov ecx, ebx
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push eax
lea eax, [esp + 0x3c]
push eax
push dword [esp + 0x58]
push 0x20000001
push esi
call fcn.101019a0
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov edi, eax
test edi, edi
js 0x101049f7
xor edi, edi
jmp 0x101049f9
mov ecx, 0x10300000
jmp 0x10102ed5
mov edx, 3
mov ecx, 0x30200000
lea esi, [edx + 3]
jmp 0x10102ed5
cmp eax, 0x80100000
jne 0x10102ed5
mov ecx, eax
mov edx, 2
lea eax, [ebp + 0xc]
push eax
push dword [ebp + 0x28]
push ebx
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [esp + 0x48]
push dword [esp + 0x50]
push dword [esp + 0x5c]
push esi
push edx
push ecx
push dword [esp + 0x3c]
push edi
push dword [esp + 0x48]
call fcn.101019a0
mov edx, dword [ebp + 0xc]
mov edi, eax
test edi, edi
js 0x10103639
je 0x101049db
mov dword [esp + 0x10], edx
mov eax, edx
and eax, 0xfff00000
cmp eax, 0x10400000
jne 0x10102f33
and edx, 0xfffff
or edx, 0x10000000
jmp 0x10102f46
cmp eax, 0x10500000
jne 0x10102f4f
and edx, 0xfffff
or edx, 0x10100000
mov dword [esp + 0x10], edx
mov byte [esp + 0x1b], 1
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 8]
test byte [eax + 0xb0b0], 4
mov esi, edx
mov dword [esp + 0x54], esi
mov dword [esp + 0x74], 0x11
mov dword [esp + 0x3c], 0x11
mov dword [esp + 0x24], 0x11
je 0x1010322f
mov eax, edx
and eax, 0xfff00000
cmp eax, 0x10000000
je 0x1010322f
cmp eax, 0x10100000
je 0x1010322f
cmp eax, 0x30100000
je 0x1010322f
cmp eax, 0x30200000
je 0x1010322f
cmp eax, 0x10200000
je 0x1010322f
cmp eax, 0x23300000
je 0x1010322f
cmp eax, 0x12c00000
je 0x1010322f
cmp eax, 0x13100000
je 0x1010322f
cmp eax, 0x13300000
je 0x1010322f
cmp eax, 0x12a00000
je 0x1010322f
cmp eax, 0x23600000
je 0x1010322f
cmp eax, 0x12d00000
je 0x1010322f
cmp eax, 0x23700000
je 0x1010322f
cmp eax, 0x13400000
je 0x1010322f
cmp eax, 0x23d00000
je 0x1010322f
cmp eax, 0x23e00000
je 0x1010322f
cmp eax, 0x23f00000
je 0x1010322f
cmp eax, 0x51500000
je 0x1010322f
cmp eax, 0x51600000
je 0x1010322f
cmp eax, 0x52600000
je 0x1010322f
cmp eax, 0x52700000
je 0x1010322f
mov ecx, edx
shr ecx, 0x1c
cmp ecx, 6
je 0x1010322f
cmp ecx, 8
je 0x1010322f
cmp ecx, 0xa
je 0x1010322f
cmp eax, 0x52b00000
je 0x1010322f
cmp eax, 0x52c00000
je 0x1010322f
cmp eax, 0x50700000
ja 0x101030c4
je 0x1010322f
cmp eax, 0x50500000
je 0x1010322f
cmp eax, 0x50600000
jmp 0x101030d4
cmp eax, 0x50800000
je 0x1010322f
cmp eax, 0x50900000
je 0x1010322f
push edx
call fcn.101019a0
test al, al
jne 0x1010322b
push dword [esp + 0x10]
call fcn.101019a0
test al, al
jne 0x1010322b
mov esi, dword [esp + 0x10]
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x78]
push eax
push dword [esp + 0x3c]
push dword [esp + 0x44]
push esi
push edi
call fcn.101019a0
mov edi, eax
test edi, edi
js 0x101049ed
and esi, 0xfffff
push esi
lea eax, [esp + 0xac]
call fcn.101019a0
mov edi, eax
test edi, edi
js 0x101049ed
push esi
lea eax, [esp + 0x68]
call fcn.101019a0
mov edi, eax
test edi, edi
js 0x10103642
mov eax, dword [esp + 0x74]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x44]
push eax
push dword [esp + 0x68]
lea eax, [esp + 0x28]
push dword [esp + 0xb0]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x68]
push eax
push dword [esp + 0x54]
push dword [esp + 0x2c]
push dword [esp + 0x3c]
push dword [esp + 0x38]
call fcn.101019a0
mov edx, dword [esp + 0x10]
mov edi, eax
test edi, edi
js 0x10103621
mov esi, dword [esp + 0x54]
cmp esi, edx
je 0x101035fc
mov edi, ebx
and edi, 0x20000002
cmp edi, 0x20000002
je 0x101031c9
and ebx, 0x20000004
cmp ebx, 0x20000004
jne 0x101035fc
push esi
call fcn.101019a0
test al, al
jne 0x101031e1
push esi
call fcn.101019a0
test al, al
je 0x101035f8
push esi
xor ebx, ebx
call fcn.101019a0
test al, al
je 0x10103208
cmp edi, 0x20000002
jne 0x101031fa
mov ebx, 0x40000002
cmp edi, 0x20000004
jne 0x10103208
or ebx, 0x40000004
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x44]
mov dword [ebp + 0x24], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
and esi, 0xfff00000
cmp esi, 0x20900000
jne 0x1010364f
mov ecx, dword [ebx + 8]
test byte [ecx + 0xb0a8], 0x40
jne 0x1010364f
lea eax, [esp + 0xc4]
push eax
mov esi, edx
lea eax, [esp + 0xbc]
push eax
and esi, 0xfffff
lea eax, [esi + esi*2]
add eax, eax
add eax, eax
push eax
mov dword [esp + 0xc8], ecx
push ecx
mov ecx, 4
lea eax, [ecx - 2]
mov dword [esp + 0x70], esi
mov dword [esp + 0xd0], 2
mov dword [esp + 0xc8], 0
mov dword [esp + 0xd4], 0
call fcn.101019a0
mov edi, eax
test edi, edi
js 0x101049e1
mov eax, dword [ebx + 8]
push 0
push 0
push 0
push 0x80000000
push dword [eax + 0xb17c]
lea ecx, [esp + 0x6c]
push ecx
push eax
mov eax, 0xc
call fcn.101019a0
mov edi, eax
test edi, edi
js 0x101049e1
mov ecx, dword [esp + 0xb8]
xor eax, eax
lea edx, [esi*4]
mov dword [esp + eax*4 + 0x78], ecx
inc eax
add ecx, edx
cmp eax, 0xc
jb 0x101032f7
mov ebx, dword [esp + 0x7c]
mov byte [esp + 0x1b], 1
test esi, esi
je 0x10103392
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x34]
sub eax, ebx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x80]
sub eax, ebx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x38]
sub eax, ebx
mov ecx, ebx
sub edx, ebx
mov edi, esi
mov esi, dword [esp + 0x24]
mov dword [esp + 0x28], eax
mov ebx, eax
mov eax, dword [ebx + ecx]
mov dword [esi + ecx], eax
mov eax, dword [edx + ecx]
mov esi, dword [esp + 0x58]
mov dword [ecx], eax
mov eax, dword [esp + 0x48]
mov dword [eax + ecx], esi
mov eax, dword [ebx + ecx]
mov eax, dword [eax + 0x50]
mov esi, dword [esp + 0x24]
and eax, 0x1000000
or eax, 0
je 0x1010337f
mov eax, dword [edx + ecx]
mov eax, dword [eax + 0x50]
and eax, 0x1000000
or eax, 0
jne 0x10103384
mov byte [esp + 0x1b], 0
add ecx, 4
dec edi
jne 0x10103345
mov esi, dword [esp + 0x60]
mov ebx, dword [esp + 0x7c]
mov edx, dword [esp + 0x84]
lea ecx, [esi + esi*8]
test ecx, ecx
je 0x101033a7
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x78]
push 0x11
push 0
push 0
push 0
push 0
push ecx
mov ecx, dword [esp + 0x2c]
and esi, 0xfffff
mov eax, esi
or eax, 0x13500000
push edx
push eax
push dword [esp + 0x3c]
mov dword [esp + 0x48], eax
call fcn.101019a0
mov edi, eax
test edi, edi
js 0x101049e1
mov ecx, dword [esp + 0x14]
push 0x11
push 0
push 0
push 0
push 0
push ebx
push dword [esp + 0xa0]
push dword [esp + 0x40]
push dword [esp + 0x3c]
call fcn.101019a0
mov edi, eax
test edi, edi
js 0x101049e1
mov ecx, dword [esp + 0x14]
push 0x11
push 0
push 0
push 0
push ebx
push dword [esp + 0x8c]
mov eax, esi
push dword [esp + 0xa4]
or eax, 0x22f00000
push eax
push dword [esp + 0x3c]
call fcn.101019a0
mov edi, eax
test edi, edi
js 0x101049e1
mov ecx, dword [esp + 0x78]
push 0xc
push 0
push 0
push 0
push ecx
push dword [esp + 0x98]
mov ecx, dword [esp + 0x2c]
push dword [esp + 0xa8]
mov eax, esi
or eax, 0x21500000
push eax
push dword [esp + 0x3c]
mov dword [esp + 0x4c], eax
call fcn.101019a0
mov edi, eax
test edi, edi
js 0x101049e1
mov ecx, dword [esp + 0x14]
push 0xc
push 0
push 0
push 0
push ebx
push dword [esp + 0x9c]
mov ebx, dword [esp + 0xac]
push ebx
push dword [esp + 0x44]
push dword [esp + 0x3c]
call fcn.101019a0
mov edi, eax
test edi, edi
js 0x101049e1
mov ecx, dword [esp + 0x14]
push 0x11
push 0
push 0
push 0
push ebx
push dword [esp + 0xa4]
mov ebx, dword [esp + 0xb4]
push ebx
mov eax, esi
or eax, 0x20b00000
push eax
push dword [esp + 0x3c]
call fcn.101019a0
mov edi, eax
test edi, edi
js 0x101049e1
mov ecx, dword [esp + 0x14]
push 0x11
push 0
push 0
push 0
push 0
push ebx
push dword [esp + 0xb0]
push dword [esp + 0x40]
push dword [esp + 0x3c]
call fcn.101019a0
mov edi, eax
test edi, edi
js 0x101049e1
mov ebx, dword [esp + 0xa0]
mov ecx, dword [esp + 0x14]
push 0x11
push 0
push 0
push 0
push dword [esp + 0x90]
mov eax, esi
push dword [esp + 0xa0]
or eax, 0x22d00000
push ebx
push eax
push dword [esp + 0x3c]
call fcn.101019a0
mov edi, eax
test edi, edi
js 0x101049e1
mov ecx, dword [esp + 0x14]
push 0x11
push 0
push 0
push 0
push 0
push ebx
mov ebx, dword [esp + 0xbc]
push ebx
mov eax, esi
or eax, 0x14300000
push eax
push dword [esp + 0x3c]
call fcn.101019a0
mov edi, eax
test edi, edi
js 0x101049e1
push 0xb
push 0
push 0
push 0
push dword [esp + 0xa8]
or esi, 0x30100000
push ebx
push dword [esp + 0x58]
mov ebx, dword [esp + 0x30]
push esi
mov esi, dword [esp + 0x3c]
push esi
mov ecx, ebx
call fcn.101019a0
mov edi, eax
test edi, edi
js 0x101049e1
cmp byte [esp + 0x1b], 0
jne 0x101035dd
push 0x10042f40
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x24], eax
jmp 0x1010322f
mov eax, dword [esp + 0x30]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x50], eax
mov esi, dword [esp + 0xc]
jmp 0x101049f5
mov eax, dword [esp + 0x70]
mov dword [esp + 0x50], eax
jmp 0x101049ed
cmp esi, 0x20d00000
jne 0x101039bc
invalid
mov ecx, dword [ebx + 8]
test byte [ecx + 0xb0a8], 0x40
mov esi, dword [esp + 0xc]
jmp 0x101049f9