Function at 0x1001ba5f
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9c
push ebx
push esi
push edi
push 4
pop eax
mov dword [ebp - 0x40], eax
mov edi, edx
mov dword [ebp - 0x3c], eax
xor edx, edx
mov dword [ebp - 0x38], eax
push 3
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x40], edx
pop ebx
jmp 0x1001bade
mov dword [ebp - 0x10], 9
mov dword [ebp - 4], edx
jmp 0x1001baa3
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x8c], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jl 0x1001ba92
mov dword [ebp - 0x10], 2
cmp dword [ebp - 0x10], edx
jl 0x1001badb
mov dword [ebp - 4], 0x1449c9fb
mov dword [ebp - 4], edx
jmp 0x1001bad1
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x8c], 0xb04800fa
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jl 0x1001bac0
dec dword [ebp - 0x10]
jns 0x1001bab4
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0xffffffe5
jl 0x1001ba86
xor esi, esi
inc esi
test cl, cl
je 0x1001bcaa
mov dword [ebp - 4], edx
jmp 0x1001bb02
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x24], 0xfffffff9
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x1001baf4
mov ebx, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [ebp - 0x24], 0xb
jmp 0x1001bb4d
mov dword [ebp - 4], 0x47dc4b4e
mov dword [ebp - 4], 0xfffffff0
jmp 0x1001bb3f
mov byte [ebp - 9], dl
cmp byte [ebp - 9], 0
je 0x1001bb3c
push edx
push edx
push 0x866
push edx
push edx
call ebx
xor edx, edx
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x18
jne 0x1001bb26
cmp dword [ebp - 0x24], edx
jne 0x1001bb53
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xa
jne 0x1001bb16
cmp byte [edi], 0
je 0x1001beda
mov dword [ebp - 0x18], 0x5c68ec0a
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x1c], 0x1fadacd7
mov dword [ebp - 0x1c], 0x7779a7b4
mov dword [ebp - 0x1c], 0xfffffffc
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x1c], 9
mov dword [ebp - 0x20], 0x9f41af53
mov dword [ebp - 4], edx
jmp 0x1001bba3
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x80], 0xfffffffd
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x1001bb95
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], 0xf
jg 0x1001bc82
push 8
pop edi
mov dword [ebp - 0x14], 6
mov dword [ebp - 0x10], 0xfffffff8
mov dword [ebp - 0x1c], 0x1ece3051
mov dword [ebp - 0x1c], 0x75cb5542
mov dword [ebp - 0x1c], 7
mov dword [ebp - 8], 0x67dbf129
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x30], 0x716
mov dword [ebp - 4], edx
jmp 0x1001bc09
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x58], 0xb6eab3cf
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x1001bbfb
cmp dword [ebp - 0x44], 0xb631
jl 0x1001bc25
mov eax, dword [ebp - 0x74]
mov ecx, edx
mov dword [ebp - 0x58], eax
cmp eax, 0xfffffff7
jbe 0x1001bc27
mov ecx, esi
dec dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
sub eax, ecx
je 0x1001bc38
mov eax, esi
cmp dword [ebp - 0x4c], edx
jne 0x1001bc3a
mov eax, edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x10], eax
jg 0x1001bc4c
cmp dword [ebp - 0x54], edx
je 0x1001bc4c
mov edx, esi
mov eax, dword [ebp - 8]
xor ecx, ecx
cmp edx, eax
sete cl
xor eax, eax
cmp ecx, esi
setg al
sub eax, dword [ebp - 0x1c]
jne 0x1001bc65
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 8], 0xc717898a
dec dword [ebp - 0x30]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xf
push 0
pop edx
jle 0x1001bbb9
mov dword [ebp - 4], edx
jmp 0x1001bc94
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x80]
mov dword [ebp - 0x1c], eax
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jle 0x1001bc87
push edx
push edx
push 0x866
push edx
push edx
call ebx
jmp 0x1001beda
mov dword [ebp - 4], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 4], edx
jmp 0x1001bcc3
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x2c], 0xfffffff6
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x1001bcb5
mov dword [ebp - 4], esi
cmp dword [ebp - 4], edx
jl 0x1001bed2
push 8
pop edi
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], 0x8461e707
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], edx
jl 0x1001bec3
mov dword [ebp - 8], 6
mov dword [ebp - 0x10], esi
mov dword [ebp - 8], esi
cmp dword [ebp - 8], edx
jl 0x1001bd91
mov dword [ebp - 0x1c], 4
mov byte [ebp - 9], dl
cmp byte [ebp - 9], 0
je 0x1001bd21
push 0x231f
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
xor edx, edx
mov eax, dword [ebp - 8]
cmp dword [ebp + eax*4 - 0x2c], edx
jne 0x1001bd7f
cmp dword [ebp - 0x28], edx
je 0x1001bd7b
mov edx, dword [ebp - 0x1c]
xor ecx, ecx
imul edx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
cmp edx, eax
setg cl
imul eax, ecx, 0x6bde
add eax, dword [ebp - 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
dec ecx
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 0x4886255d
setge al
xor edx, edx
cmp eax, dword [ebp - 8]
jge 0x1001bd7f
mov ecx, edx
jmp 0x1001bd81
mov ecx, esi
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x2c], ecx
dec dword [ebp - 8]
jns 0x1001bd04
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x2c]
cmp eax, dword [ebp - 4]
je 0x1001be1e
mov dword [ebp - 0x10], edx
jmp 0x1001bdb5
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x64], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1001bdab
mov byte [ebp - 9], dl
cmp byte [ebp - 9], 0
je 0x1001bdc9
call dword [sym.imp.USER32.dll_GetCapture]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x1001bde0
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov dword [ebp + eax*4 - 0x2c], edi
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x2c]
test eax, eax
mov eax, dword [ebp - 8]
setne cl
xor edx, edx
add eax, ecx
imul eax, dword [ebp - 8]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setle dl
mov dword [ebp - 0x10], edx
xor edx, edx
jmp 0x1001beba
mov dword [ebp - 8], edx
jmp 0x1001be2d
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x70], edx
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x1001be23
mov dword [ebp - 8], edx
jmp 0x1001be48
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x9c], 0xfffd
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x1001be37
mov eax, dword [ebp - 4]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x14], edx
jne 0x1001be75
cmp dword [ebp - 0x68], edx
je 0x1001be6c
cmp dword [ebp - 0x20], edx
jne 0x1001be6e
mov eax, edx
neg eax
cmp eax, dword [ebp - 0x6c]
jle 0x1001be77
mov edx, esi
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
cmp ecx, 0x57afc499
setg dl
xor eax, eax
cmp edx, 0x7f51
setl al
xor edx, edx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edx
jne 0x1001bea4
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x9c]
add eax, 0xd476fc60
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 8], eax
dec dword [ebp - 0x14]
jns 0x1001bcee
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
dec dword [ebp - 4]
jns 0x1001bcd8
push edx
push edx
call dword [sym.imp.GDI32.dll_GetRgnBox]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret