Function at 0x63235990
Capabilities:
Get thread local storage value

Disassembly:
sub esp, 0x20
mov eax, dword [0x6325fbe0]
push ebx
push ebp
push esi
push edi
xor esi, esi
xor edi, edi
push eax
xor ebx, ebx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x14], edi
mov dword [esp + 0x24], 1
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ebp, eax
cmp ebp, esi
je 0x63235e05
mov ecx, dword [ebp + 0x4558]
mov edx, dword [ebp + 0x455c]
mov dword [esp + 0x28], ecx
xor ecx, ecx
mov cx, word [ebp + 0x45d4]
lea eax, [ebp + 0x8f7c]
dec ecx
mov dword [esp + 0x2c], edx
mov dword [ebp + 0x16830], eax
mov dword [ebp + 0x16934], ecx
call fcn.63235e20
cmp dword [esp + 0x2c], esi
jl 0x63235dfb
jg 0x63235a16
cmp dword [esp + 0x28], esi
jbe 0x63235dfb
cmp dword [ebp], esi
jne 0x63235dfb
mov al, byte [ebx + ebp + 0x16834]
test al, al
mov eax, dword [ebp + 0x14fa0]
jne 0x63235a7a
cmp eax, 8
jge 0x63235a3e
push ebp
call fcn.63231440
add esp, 4
mov eax, dword [0x63258398]
mov ecx, dword [ebp + 0x14f9c]
xor edx, edx
and eax, 0xffff
mov dx, word [ebp + 0x14f9c]
and edx, eax
mov eax, dword [ebp + 0x14fa0]
shr ecx, 8
add eax, 0xfffffff8
mov dword [esp + 0x14], edx
mov dword [ebp + 0x14f9c], ecx
mov dword [ebp + 0x14fa0], eax
jmp 0x63235b70
cmp eax, 1
jge 0x63235a88
push ebp
call fcn.63231440
add esp, 4
mov edx, dword [ebp + 0x14f9c]
xor eax, eax
mov ax, word [ebp + 0x14f9c]
xor ecx, ecx
mov cx, word [0x6325838a]
and eax, ecx
mov ecx, dword [ebp + 0x14fa0]
shr edx, 1
dec ecx
cmp eax, esi
mov dword [ebp + 0x14f9c], edx
mov dword [ebp + 0x14fa0], ecx
je 0x63235b08
cmp ecx, 8
jge 0x63235ac9
push ebp
call fcn.63231440
add esp, 4
mov edx, dword [0x63258398]
mov ecx, dword [ebp + 0x14f9c]
xor eax, eax
and edx, 0xffff
mov ax, word [ebp + 0x14f9c]
and eax, edx
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x14fa0]
mov edx, dword [esp + 0x14]
shr ecx, 8
add eax, 0xfffffff8
mov dword [ebp + 0x14f9c], ecx
mov dword [ebp + 0x14fa0], eax
jmp 0x63235b70
xor eax, eax
mov al, byte [ebx + ebp + 0x16834]
mov esi, dword [eax*4 + 0x6325883c]
cmp esi, ecx
jle 0x63235b25
push ebp
call fcn.63231440
add esp, 4
mov edx, dword [ebp + 0x14f9c]
xor eax, eax
mov ax, word [esi*2 + 0x63258388]
xor ecx, ecx
mov cx, word [ebp + 0x14f9c]
and eax, ecx
mov ecx, esi
shr edx, cl
mov ecx, dword [ebp + 0x14fa0]
sub ecx, esi
mov dword [ebp + 0x14fa0], ecx
mov ecx, dword [ebp + 0x16830]
shl ebx, 6
add ebx, ecx
xor ecx, ecx
mov dword [ebp + 0x14f9c], edx
xor esi, esi
mov cl, byte [ebx + eax]
mov dword [esp + 0x14], ecx
mov edx, ecx
mov eax, dword [esp + 0x18]
cmp eax, 3
ja case.default.0x63235b7d
jmp dword [eax*4 + 0x63235e10]
cmp edx, 0x90
je 0x63235bf4
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
or eax, 0xffffffff
add ebx, eax
adc ecx, eax
mov eax, dword [ebp + 0x54]
cmp eax, esi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ecx
je 0x63235bbf
cmp dword [ebp + 0x5c], esi
je 0x63235bbf
cmp dword [ebp + 0x14f98], esi
ja 0x63235bbf
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov byte [edi + ebp + 0x4f7c], dl
inc edi
cmp edi, 0x4000
mov dword [esp + 0x10], edi
jne case.default.0x63235b7d
push ebp
push edi
call fcn.63233030
mov edx, dword [esp + 0x1c]
add esp, 8
mov dword [esp + 0x20], esi
mov dword [esp + 0x10], esi
mov edi, esi
jmp case.default.0x63235b7d
mov dword [esp + 0x18], 1
jmp case.default.0x63235b7d
cmp edx, esi
je 0x63235c31
mov eax, dword [ebp + 0x16934]
xor ecx, ecx
mov dword [esp + 0x24], edx
mov esi, dword [eax*4 + 0x63258800]
mov eax, esi
and eax, edx
cmp eax, esi
mov dword [esp + 0x1c], eax
setne cl
add ecx, 2
mov dword [esp + 0x18], ecx
jmp 0x63235ddf
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
or eax, 0xffffffff
add ebx, eax
adc ecx, eax
mov eax, dword [ebp + 0x54]
cmp eax, esi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ecx
je 0x63235c64
cmp dword [ebp + 0x5c], esi
je 0x63235c64
cmp dword [ebp + 0x14f98], esi
ja 0x63235c64
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov byte [edi + ebp + 0x4f7c], 0x90
inc edi
cmp edi, 0x4000
mov dword [esp + 0x10], edi
jne 0x63235c91
push ebp
push edi
call fcn.63233030
mov edx, dword [esp + 0x1c]
add esp, 8
mov dword [esp + 0x20], esi
mov dword [esp + 0x10], esi
mov edi, esi
mov dword [esp + 0x18], esi
jmp case.default.0x63235b7d
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], 3
add eax, edx
mov dword [esp + 0x1c], eax
jmp case.default.0x63235b7d
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
lea esi, [eax + 3]
mov eax, dword [ebp + 0x16934]
shl eax, 2
mov ecx, dword [eax + 0x63258814]
sar ebx, cl
mov ecx, dword [eax + 0x63258828]
mov eax, dword [esp + 0x28]
and ebx, ecx
shl ebx, 8
mov ecx, ebx
mov ebx, edi
sub ebx, ecx
mov ecx, 0
sub ebx, edx
mov edx, dword [esp + 0x2c]
dec ebx
sub eax, esi
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x54]
sbb edx, ecx
cmp eax, ecx
mov dword [esp + 0x2c], edx
je 0x63235d16
cmp dword [ebp + 0x5c], ecx
je 0x63235d16
cmp dword [ebp + 0x14f98], ecx
ja 0x63235d16
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
and ebx, 0x3fff
cmp ebx, edi
mov eax, ebx
ja 0x63235d24
mov eax, edi
mov edx, 0x4000
sub edx, eax
cmp edx, esi
jbe 0x63235d31
mov edx, esi
mov eax, dword [esp + 0x20]
sub esi, edx
cmp eax, ecx
mov dword [esp + 0x18], esi
je 0x63235d5e
cmp edi, ebx
ja 0x63235d5e
mov ecx, edx
xor eax, eax
mov esi, ecx
lea edi, [edi + ebp + 0x4f7c]
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 3
rep stosb byte es:[edi], al
jmp 0x63235d9d
mov eax, edi
sub eax, ebx
cmp eax, edx
jae 0x63235d7f
mov cl, byte [ebx + ebp + 0x4f7c]
mov byte [edi + ebp + 0x4f7c], cl
inc edi
inc ebx
dec edx
jne 0x63235d66
mov dword [esp + 0x10], edi
jmp 0x63235daf
mov ecx, edx
lea esi, [ebx + ebp + 0x4f7c]
mov eax, ecx
lea edi, [edi + ebp + 0x4f7c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
add ecx, edx
add ebx, edx
mov dword [esp + 0x10], ecx
mov edi, ecx
cmp edi, 0x4000
jne 0x63235dcd
push ebp
push edi
call fcn.63233030
add esp, 8
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], eax
mov edi, eax
xor ecx, ecx
cmp esi, ecx
jne 0x63235d16
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
xor esi, esi
mov eax, dword [esp + 0x2c]
mov ebx, edx
cmp eax, esi
jg 0x63235a16
jl 0x63235dfb
cmp dword [esp + 0x28], esi
ja 0x63235a16
push ebp
push edi
call fcn.63233030
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret