Function at 0x1000c913
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
push ebx
push esi
push edi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
jmp 0x1000c72a
mov ecx, dword [ebp - 0x10]
sub ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp + 8]
sub edx, 6
cmp dword [ebp - 0x10], edx
jbe 0x1000c7e5
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
sub ecx, 0x2f
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 0x16
ja case.0x1000c75c.3
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx + 0x1000ccd0]
jmp dword [eax*4 + 0x1000ccb4]
jne case.0x1000c9e1.3
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0xc]
mov dword [ebp + 8], 0
call fcn.1000bc30
push dword [0x1001c1e0]
lea ecx, [ebp - 0xc]
push ecx
mov dword [ebp - 0xc], 0x1001b35c
jmp case.0x1000c75c.3
mov ecx, dword [ebp + 8]
sub esp, 0xc
xor eax, eax
test ecx, ecx
je case.0x1000c90c.4
cmp ecx, 0xfffffff
jmp case.0x1000c75c.3
sub esp, 0x14
push esi
mov esi, dword [ebp + 8]
push esi
jmp case.0x1000c75c.3
call fcn.1000b030
test al, al
jne 0x1000cc73
mov eax, 0x80004005
jmp case.0x1000c75c.3
jmp 0x1000c883
ja case.0x1000c90c.10
shl ecx, 4
push ecx
call fcn.1000ab10
add esp, 4
test eax, eax
jmp 0x1000c721
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x18], ecx
jmp 0x1000c7f9
mov edx, dword [ebp - 0x18]
add edx, 0x579
mov dword [ebp - 0x18], edx
mov eax, dword [ebp + 8]
add eax, 0x20d6
cmp dword [ebp - 0x18], eax
jae 0x1000c8c9
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], 0x5aa
ja 0x1000c83d
cmp dword [ebp - 4], 0x5aa
je 0x1000c8aa
cmp dword [ebp - 4], 0x31
je 0x1000c898
cmp dword [ebp - 4], 0x3b
je 0x1000c858
cmp dword [ebp - 4], 0x45
je 0x1000c851
jmp 0x1000c8c4
cmp dword [ebp - 4], 0x5b4
je 0x1000c883
cmp dword [ebp - 4], 0xb23
je 0x1000c86b
jmp 0x1000c8c4
call fcn.100135d0
jmp 0x1000c8c4
push esi
mov esi, dword [esp + 8]
mov dl, byte [esi]
xor eax, eax
test dl, dl
je 0x1000cca5
jmp 0x1000c8c4
test edx, ebx
fsub st(2)
xchg esi, eax
jmp case.0x1000c90c.1
push ebx
push edi
mov edi, dword [esp + 0x14]
movzx ebx, dl
cmp byte [ebx + ecx], 0
je 0x1000cc60
jmp 0x1000c8c4
mov eax, dword [esi + 0x49d8]
cmp dword [eax + 0x74], 1
je case.0x1000c90c.12
jmp 0x1000c8c4
push es
sbb eax, 0x832a71c2
js 0x1000c926
cmp dword [eax + 0x74], 2
je 0x1000c959
add cl, byte [edi]
test byte [eax + 0x68000000], ah
outsd dx, dword [esi]
xor ah, byte [edx + 0x39]
push 0x3962326f
call dword [0x1001b0d4]
jmp 0x1000c7ed
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], edx
jmp 0x1000c8da
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp + 8]
add ecx, 0xa
cmp dword [ebp - 0x1c], ecx
jae 0x1000c9a9
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
sub eax, 0x31
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x14
ja case.0x1000c90c.6
mov ecx, dword [ebp - 0x20]
movzx edx, byte [ecx + 0x1000cd14]
jmp dword [edx*4 + 0x1000cce8]
movsx edx, dl
cmp edx, edi
jne case.0x1000c9e1.4
mov eax, esi
inc esi
mov dl, byte [esi]
test dl, dl
jmp case.0x1000c90c.6
jge 0x1000c937
je 0x1000cb13
test dh, ah
add dword [eax], eax
add byte [ebx + 0xf00fc7d], al
mov cs, word [ebx + 3]
add byte [eax], al
cmp dword [ebp - 4], 0
jle 0x1000cc82
jmp case.0x1000c90c.6
mov esp, ebp
pop ebp
ret
movzx eax, bh
push eax
push dword [ebp + 0xc]
push esi
call fcn.1000acb0
jmp case.0x1000c90c.6
push esi
mov byte [ebp - 8], bl
jmp case.0x1000c90c.6
rol byte [ebp + 0x50ef7b56], cl
push eax
push 0x19
push 0x54
push dword [ebp + 0xc]
xor bl, bl
jmp case.0x1000c90c.6
call fcn.1000ec90
test eax, eax
jmp case.0x1000c90c.6
jne case.0x1000c9e1.1
pop edi
pop ebx
pop esi
ret 8
inc bl
mov byte [ebp - 8], bl
push edi
mov edi, dword [esi + 0x24]
push esi
call fcn.1000b780
mov eax, dword [esi + 0x49d8]
cmp dword [eax + 0x74], 1
push dword [ebp - 8]
sete bh
push 1
jmp case.0x1000c90c.6
add esi, 2
jmp case.0x1000c90c.10
jmp 0x1000c8d1
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
jmp 0x1000c9ba
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp + 8]
add edx, 6
cmp dword [ebp - 0x24], edx
jae 0x1000ca5a
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
sub ecx, 0x31
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], 5
ja case.default.0x1000c9e1
add eax, 0x558b7777
fdivr st(7)
jmp dword [edx*4 + 0x1000cd2c]
mov edx, dword [ebp - 0x28]
jmp dword [edx*4 + 0x1000cd2c]
test eax, eax
js case.0x1000cb83.4
push esi
jmp case.default.0x1000c9e1
jg 0x1000c9db
jp case.0x1000c90c.6
or dword [ebp + 0x268504], 0
add byte [eax - 1], dl
jbe 0x1000ca2f
call fcn.1000b780
mov dword [ebp - 8], eax
test eax, eax
jmp case.default.0x1000c9e1
push dword [ebp + 8]
mov eax, dword [ebp - 4]
push esi
call fcn.10017d40
jmp case.default.0x1000c9e1
call fcn.1000b780
test eax, eax
jns case.0x1000c9e1.4
push 0x39623270
call dword [0x1001b0d4]
add dword [eax], edx
jmp case.default.0x1000c9e1
jmp 0x1000cc73
test eax, eax
js 0x1000c8af
test bl, bl
je 0x1000cbaf
jmp 0x1000c9b1
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2c], eax
jmp 0x1000ca6e
mov ecx, dword [ebp - 0x2c]
add ecx, 0x30d
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp + 8]
add edx, 0x124e
cmp dword [ebp - 0x2c], edx
jae 0x1000cb4b
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x958
ja 0x1000cab9
cmp dword [ebp - 8], 0x958
je 0x1000cb00
cmp dword [ebp - 8], 0x31
je 0x1000cb34
cmp dword [ebp - 8], 0x33e
je 0x1000cb13
cmp dword [ebp - 8], 0x64b
je 0x1000cacd
jmp 0x1000cb46
cmp dword [ebp - 8], 0xc65
je 0x1000cae8
cmp dword [ebp - 8], 0xf72
je 0x1000cb17
jmp 0x1000cb46
call fcn.10010340
mov eax, dword [esi + 0x940]
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 0x2c]
mov eax, dword [eax + 0x6ce]
test bh, bh
jmp 0x1000cb46
mov edi, dword [eax + 0x1df0]
push dword [0x1001d160]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push eax
lea eax, [ebp - 0x14]
jmp 0x1000cb46
je case.0x1000c75c.22
mov edi, dword [eax + 0x1de8]
jmp case.0x1000c90c.5
push edi
push eax
jmp 0x1000cb46
push eax
push dword [ebp + 0xc]
push edi
call fcn.10013960
push 0
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push dword [ebp - 0xc]
push esi
call fcn.1000d5e0
jmp 0x1000cb46
jne case.0x1000cb83.4
push 0xa
pop eax
mov dword [ebp - 8], eax
push dword [esi + 0x24]
mov edx, dword [esi + 0x2c]
jmp 0x1000ca62
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x30], ecx
jmp 0x1000cb5c
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
mov eax, dword [ebp + 8]
add eax, 6
cmp dword [ebp - 0x30], eax
jae 0x1000cbed
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x34]
sub edx, 0x31
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x34], 5
ja case.default.0x1000cb83
mov eax, dword [ebp - 0x34]
jmp dword [eax*4 + 0x1000cd44]
mov eax, dword [esi + 0xc]
or dword [esi + 8], 0x1000
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x93c], eax
mov eax, dword [esi + 0x24]
mov dword [ebp + 0xc], eax
test bl, bl
jmp case.default.0x1000cb83
jecxz 0x1000cbd5
mov ebx, 0x2ce8799f
or al, byte [eax]
add cl, ch
invalid
call fcn.1000d5e0
jmp case.0x1000c9e1.3
je case.0x1000cb83.0
push dword [ebp + 8]
mov eax, dword [ebp - 4]
push esi
jmp case.default.0x1000cb83
call fcn.1000bc30
jmp case.default.0x1000cb83
test eax, eax
jne case.0x1000c90c.12
mov eax, 0x80004005
jmp 0x1000c8af
push 1
push 1
push 2
push esi
jmp 0x1000cb53
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x38], ecx
jmp 0x1000cc01
mov edx, dword [ebp - 0x38]
add edx, 0x247
mov dword [ebp - 0x38], edx
mov eax, dword [ebp + 8]
add eax, 0xdaa
cmp dword [ebp - 0x38], eax
jae 0x1000ccad
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], 0x706
ja 0x1000cc44
cmp dword [ebp - 0xc], 0x706
je 0x1000cc60
cmp dword [ebp - 0xc], 0x31
je 0x1000cc77
cmp dword [ebp - 0xc], 0x278
je 0x1000cc73
cmp dword [ebp - 0xc], 0x4bf
je 0x1000cc7d
jmp 0x1000cca8
cmp dword [ebp - 0xc], 0x94d
je 0x1000cc58
cmp dword [ebp - 0xc], 0xb94
je 0x1000cca5
jmp 0x1000cca8
mov eax, edi
pop edi
pop ebx
pop esi
leave
jmp 0x1000cca8
mov ecx, dword [esi + 0x49d8]
push dword [esi + 0x24]
add ecx, 0x74
call fcn.1000a520
jmp 0x1000cca8
jns 0x1000cc60
jmp 0x1000cca8
mov edi, eax
test edi, edi
jmp 0x1000cca8
frstor dword [esi + 0x68746a89]
jno 0x1000ccb7
push 0x39623271
bound edi, qword [ecx]
call dword [0x1001b0d4]
jmp 0x1000cb17
ret 8
jmp 0x1000cbf5
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
adc byte [ecx - 0x58efff39], dh
mov dword [eax], 0xc76310
adc ah, cl
mov dword [eax], 0xc78f10
adc al, ah
mov dword [eax], 0x2010010
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
add eax, dword [eax + 13194384]
adc byte [esi - 55], cl
add byte [eax], dl
leave
add byte [eax], dl
daa
leave
add byte [eax], dl
jl 0x1000ccc3
add byte [eax], dl
aas
leave
add byte [eax], dl
lahf
leave
add byte [eax], dl
adc ecx, ecx
add byte [eax], dl
outsb dx, byte [esi]
leave
add byte [eax], dl
cmp ecx, ecx
add byte [eax], dl
movsb byte es:[edi], byte [esi]
leave
add byte [eax], dl
add byte [ecx], al
add al, byte [ebx]
add al, 5
or cl, byte [edx]
or cl, byte [edx]
push es
pop es
or byte [edx], cl
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or dword [edi], ecx
pop ds
add byte [ebp - 0x36], al
add byte [eax], dl
bswap edx
add byte [eax], dl
call 0x2d10ce02
retf 4096