Function at 0x6d6fb2bd
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x74
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push eax
lea ecx, [ebp - 0x5c]
call fcn.6d6b5a73
mov esi, dword [0x6d7bf5cc]
push 2
mov eax, dword [ebp + 0xc]
pop ebx
sub esi, ebx
neg esi
sbb esi, esi
xor edi, edi
inc esi
cmp eax, edi
je 0x6d6fb30a
mov eax, dword [eax]
cmp eax, edi
je 0x6d6fb304
cmp eax, 0xfefefefe
jne 0x6d6fb306
xor eax, eax
cmp eax, edi
jne 0x6d6fb312
push 0x14
pop esi
jmp 0x6d6fb7cc
cmp dword [ebp + 0x10], edi
jne 0x6d6fb31b
push 0x64
jmp 0x6d6fb30c
push eax
lea ecx, [ebp - 0x18]
call fcn.6d6819e5
mov eax, dword [eax]
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x14], eax
mov dword [ebp + 0xc], edi
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x1c], edi
cmp dword [0x6d7bf5cc], ebx
jne 0x6d6fb355
push eax
call fcn.6d64bb5a
pop ecx
jmp 0x6d6fb362
push dword [ebp + 8]
push edi
push eax
call fcn.6d64b2b4
add esp, 0xc
mov eax, dword [ebp - 0x14]
cmp eax, edi
jne 0x6d6fb36d
xor eax, eax
jmp 0x6d6fb36f
mov eax, dword [eax]
mov eax, dword [eax]
test bl, al
jne 0x6d6fb381
test al, 3
jne 0x6d6fb479
mov edi, eax
jmp 0x6d6fb389
xor eax, ebx
mov dword [ebp + 0xc], eax
mov edi, dword [eax + 8]
test edi, edi
je 0x6d6fb452
xor eax, eax
test esi, esi
sete al
push eax
push edi
call fcn.6d753a2e
mov ebx, eax
pop ecx
test ebx, ebx
pop ecx
mov dword [ebp - 0x10], ebx
je 0x6d6fb452
test esi, esi
jne 0x6d6fb3c9
lea eax, [ebp - 0x1c]
push eax
push 1
push ebx
call fcn.6d6fa98c
add esp, 0xc
test eax, eax
je 0x6d6fb70f
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push eax
lea ecx, [ebp - 0x74]
call fcn.6d6b5a73
push dword [ebx + 0xa4]
lea ecx, [ebp - 0x18]
call fcn.6d6819e5
mov eax, dword [ebp - 4]
cmp dword [eax + 0xa0], 0
je 0x6d6fb404
push 1
push dword [ebp - 0x18]
call fcn.6d6dc05b
jmp 0x6d6fb416
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x6d6fb40d
mov eax, dword [eax]
push eax
push dword [ebp + 8]
call fcn.6d6dc01d
pop ecx
mov dword [ebp - 0x44], eax
pop ecx
lea ecx, [ebp - 0x74]
call fcn.6d6b5aa6
cmp ebx, edi
jne 0x6d6fb433
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x18]
inc eax
mov dword [ebp - 0x40], eax
jmp 0x6d6fb452
lea ecx, [ebp - 0x2c]
call fcn.6d641711
push dword [ebp - 0x14]
mov ecx, dword [ebp - 4]
push ebx
call fcn.6d6faccb
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x40], eax
call fcn.6d6a63ec
cmp dword [ebp + 0xc], 0
je 0x6d6fb479
mov ecx, dword [ebp + 0xc]
xor eax, eax
cmp dword [ecx + 0x10], eax
jle 0x6d6fb466
mov eax, dword [ecx + 0x10]
dec eax
mov dword [ebp - 8], eax
mov ebx, dword [ecx + 0x14]
add eax, ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], ebx
jmp 0x6d6fb484
mov ebx, dword [ebp - 0xc]
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x38]
push ecx
mov ecx, dword [ebp - 4]
shl eax, 2
push 0
push eax
call fcn.6d6f68f9
test eax, eax
je 0x6d6fb4a1
mov esi, eax
jmp 0x6d6fb7cc
mov ecx, dword [ebp - 4]
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x34]
shl eax, 2
push 0
push eax
call fcn.6d6f68f9
mov edi, eax
test edi, edi
je 0x6d6fb4e8
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xa0], 0
je 0x6d6fb4d2
push dword [ebp - 0x38]
call fcn.6d6faa60
jmp 0x6d6fb4e1
cmp dword [ebp - 0x38], 0
je 0x6d6fb4e1
push dword [ebp - 0x38]
call fcn.6d71c29c
pop ecx
mov esi, edi
jmp 0x6d6fb7cc
cmp dword [ebp + 0xc], 0
je 0x6d6fb7a7
mov ecx, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x38]
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x30]
rep stosd dword es:[edi], eax
cmp dword [ebp - 0x3c], eax
jle 0x6d6fb79c
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push eax
lea ecx, [ebp - 0x74]
call fcn.6d6b5a73
cmp dword [ebp - 8], 0
jle 0x6d6fb5dc
lea ecx, [ebp - 0x2c]
call fcn.6d641711
xor eax, eax
test esi, esi
sete al
push eax
mov dword [ebp - 0x18], eax
push dword [ebp + 0xc]
push dword [ebp - 8]
call fcn.6d753994
mov edi, eax
add esp, 0xc
mov eax, dword [edi]
cmp eax, dword [ebp - 8]
jge 0x6d6fb559
mov dword [ebp - 8], eax
xor ebx, ebx
cmp dword [ebp - 8], ebx
jle 0x6d6fb5d1
mov eax, dword [edi + 8]
cmp dword [ebp - 0x10], 0
mov esi, dword [eax + ebx*4]
jne 0x6d6fb58b
lea eax, [ebp - 0x1c]
push eax
push 1
push esi
call fcn.6d6fa98c
mov ecx, dword [ebp - 0x18]
add esp, 0xc
neg eax
sbb eax, eax
inc eax
test ecx, eax
jne 0x6d6fb65e
push dword [esi + 0xa4]
lea ecx, [ebp - 0x14]
call fcn.6d6819e5
mov eax, dword [ebp - 4]
cmp dword [eax + 0xa0], 0
je 0x6d6fb5b1
push 1
push dword [ebp - 0x14]
call fcn.6d6dc05b
jmp 0x6d6fb5c3
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x6d6fb5ba
mov eax, dword [eax]
push eax
push dword [ebp + 8]
call fcn.6d6dc01d
pop ecx
pop ecx
mov ecx, dword [ebp - 0x38]
mov dword [ecx + ebx*4], eax
inc ebx
cmp ebx, dword [ebp - 8]
jl 0x6d6fb560
lea ecx, [ebp - 0x2c]
call fcn.6d6a63ec
mov ebx, dword [ebp - 0xc]
test ebx, ebx
jle 0x6d6fb794
mov ecx, dword [ebp + 0xc]
call fcn.6d64c14b
and dword [ebp - 0x18], 0
and dword [ebp - 0x10], 0
test ebx, ebx
mov edi, eax
jle 0x6d6fb794
mov eax, dword [ebp - 8]
shl eax, 2
mov dword [ebp - 0x14], eax
test edi, edi
je 0x6d6fb791
mov ecx, dword [ebp + 0xc]
push edi
call fcn.6d719b47
mov esi, eax
test esi, esi
je 0x6d6fb778
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
test eax, eax
je 0x6d6fb778
push dword [esi + 0xa4]
lea ecx, [ebp - 0xc]
call fcn.6d6819e5
mov eax, dword [ebp - 4]
cmp dword [eax + 0xa0], 0
je 0x6d6fb71f
push 1
push dword [ebp - 0xc]
call fcn.6d6dc05b
jmp 0x6d6fb731
mov eax, dword [ebp - 0x44]
mov edi, dword [ebp - 4]
test eax, eax
je 0x6d6fb685
cmp dword [edi + 0xa0], 0
je 0x6d6fb67d
push 1
push eax
call fcn.6d6dc0fc
pop ecx
pop ecx
jmp 0x6d6fb685
mov ecx, dword [0x6d7bd3b0]
mov dword [eax], ecx
xor esi, esi
test ebx, ebx
jle 0x6d6fb6b7
mov eax, dword [ebp - 0x38]
cmp dword [edi + 0xa0], 0
mov eax, dword [eax + esi*4]
je 0x6d6fb6a6
push 1
push eax
call fcn.6d6dc0fc
pop ecx
pop ecx
jmp 0x6d6fb6b2
test eax, eax
je 0x6d6fb6b2
mov ecx, dword [0x6d7bd3b0]
mov dword [eax], ecx
inc esi
cmp esi, ebx
jl 0x6d6fb68b
cmp dword [edi + 0xa0], 0
je 0x6d6fb6cc
push dword [ebp - 0x38]
mov ecx, edi
call fcn.6d6faa60
jmp 0x6d6fb6db
cmp dword [ebp - 0x38], 0
je 0x6d6fb6db
push dword [ebp - 0x38]
call fcn.6d71c29c
pop ecx
cmp dword [edi + 0xa0], 0
je 0x6d6fb6f0
push dword [ebp - 0x30]
mov ecx, edi
call fcn.6d6faa60
jmp 0x6d6fb6ff
cmp dword [ebp - 0x30], 0
je 0x6d6fb6ff
push dword [ebp - 0x30]
call fcn.6d71c29c
pop ecx
lea ecx, [ebp - 0x2c]
call fcn.6d6a63ec
lea ecx, [ebp - 0x74]
call fcn.6d6b5aa6
lea ecx, [ebp - 0x5c]
call fcn.6d6b5aa6
push 0xd
pop eax
jmp 0x6d6fb7d6
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x6d6fb728
mov eax, dword [eax]
push eax
push dword [ebp + 8]
call fcn.6d6dc01d
mov edx, dword [ebp - 0x14]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x38]
mov dword [edx + ecx], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0xa0], 0
je 0x6d6fb754
push 1
push dword [ebp - 0xc]
call fcn.6d6dc05b
jmp 0x6d6fb766
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x6d6fb75d
mov eax, dword [eax]
push eax
push dword [ebp + 8]
call fcn.6d6dc01d
mov edx, dword [ebp - 0x10]
inc dword [ebp - 0x10]
add dword [ebp - 0x14], 4
pop ecx
pop ecx
mov ecx, dword [ebp - 0x30]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp + 0xc]
push edi
call fcn.6d719b3e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
mov edi, eax
jl 0x6d6fb607
jmp 0x6d6fb794
mov ebx, dword [ebp - 0x10]
lea ecx, [ebp - 0x74]
call fcn.6d6b5aa6
mov eax, dword [ebp - 8]
mov dword [ebp - 0x34], ebx
add eax, ebx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0xa0], 0
je 0x6d6fb7bf
mov edi, dword [ebp + 0x10]
lea esi, [ebp - 0x44]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x6d6fb7ca
mov edi, dword [ebp + 0x10]
push 6
pop ecx
lea esi, [ebp - 0x44]
rep movsd dword es:[edi], dword [esi]
xor esi, esi
lea ecx, [ebp - 0x5c]
call fcn.6d6b5aa6
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret 0xc