Function at 0x10005d06
Capabilities:
Set thread local storage value

Disassembly:
mov eax, 0x10062630
call fcn.10061fc8
sub esp, 0x2c
mov dword [ebp - 0x1c], ecx
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
test dl, dl
je 0x10005e91
cmp byte [ebp + 0x28], 0
je 0x10005d50
mov edx, dword [ebp + 0x24]
xor esi, esi
inc esi
mov dword [edx], 0
cmp dword [edx], esi
jge 0x10005d4b
mov edi, dword [ebp + 0x14]
mov ecx, dword [edx]
mov eax, dword [edi]
and dword [eax + ecx*4], 0
inc dword [edx]
cmp dword [edx], esi
jl 0x10005d3d
jmp 0x10005f4c
mov dword [ebp - 0x18], 0x5dea
cmp dword [ebp - 0x18], 0x601d
jle 0x10005d86
xor esi, esi
xor edi, edi
mov ebx, 0x406f
mov eax, edi
mov ecx, 0x10080098
cdq
push edx
push eax
call fcn.1000b94d
add edi, esi
dec ebx
jne 0x10005d69
inc esi
cmp esi, 0x5d66
jl 0x10005d62
mov ebx, dword [ebp + 8]
xor esi, esi
mov edi, dword [ebp + 0x18]
inc esi
cmp dword [ebx], 0
jne 0x10005e00
mov eax, dword [edi]
cmp dword [eax], esi
jg 0x10005da3
cmp dword [eax], 0
je 0x10005da3
mov ecx, esi
jmp 0x10005da5
xor ecx, ecx
mov edx, dword [ebp - 0x1c]
add ecx, 0x64bd
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [edx], eax
mov eax, dword [edi]
imul ecx, dword [eax + 0xc]
mov eax, dword [edx]
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp + 0xc]
setne dl
xor ecx, ecx
mov eax, dword [eax]
cmp edx, eax
mov eax, dword [ebx]
setg cl
xor edx, edx
add ecx, eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
cmp eax, ecx
mov eax, dword [edi]
setle dl
xor ebx, ebx
cmp edx, dword [eax + 4]
mov eax, dword [ebp + 8]
setge bl
xor ecx, ecx
mov eax, dword [eax]
cmp ebx, eax
mov eax, dword [ebp + 0x20]
mov ebx, dword [ebp + 8]
setg cl
mov dword [eax], ecx
mov eax, dword [eax]
mov ecx, dword [edi]
xor edx, edx
mov edi, dword [ebp + 0x1c]
mov eax, dword [edi]
cmp dword [ecx], eax
mov eax, dword [edi]
setne dl
add eax, edx
jne 0x10005e1e
mov eax, dword [ebp + 0x20]
cmp dword [eax], 0
jne 0x10005e1e
xor esi, esi
mov eax, dword [ebp + 0xc]
lea ecx, [esi - 0x658d]
xor edx, edx
mov eax, dword [eax]
cmp ecx, eax
mov eax, dword [ebx]
setne dl
xor ecx, ecx
cmp edx, 0x67c8fa1b
setne cl
xor ebx, ebx
cmp ecx, eax
mov eax, dword [ebp + 8]
setl bl
xor edx, edx
mov eax, dword [eax]
cmp ebx, eax
setle dl
mov dword [edi], edx
and dword [ebp - 4], 0
cmp dword [ebp - 0x18], 0x5aa8
jge 0x10005d4b
mov edx, str.fsedw_aqn_svpnmi_qhbqfzkx_hdufaq_rvys_jcqnrty_nyadb_cwvsdkfla_nhxhnuex_sofuubdv_jcxmxg
mov ecx, 0x10080098
call fcn.1000f355
jmp 0x10005d4b
cmp byte [ebp + 0x10], 0
je 0x10005f46
xor ebx, ebx
mov byte [ebp - 0x11], bl
mov dword [ebp - 0x1c], 0x64ea
cmp dword [ebp - 0x1c], 0x67bf
jle 0x10005f06
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
xor esi, esi
mov edi, ebx
inc esi
mov ecx, ebx
mov dword [ebp - 0x18], ebx
mov eax, edi
shl eax, cl
lea ecx, [ebp - 0x34]
cdq
push edx
push eax
call fcn.10001381
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10005edb
mov eax, dword [eax]
push eax
call fcn.10049bf0
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x34]
call fcn.10001612
mov ecx, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0x128
jl 0x10005ec2
inc edi
cmp edi, 0x6cf3
jl 0x10005ebd
jmp 0x10005f09
xor esi, esi
inc esi
lea eax, [ebp - 0x11]
mov edx, 0x5cc0
push eax
push 0x5e9d
push 0x3812
push 0x1be3
push esi
push ecx
mov ecx, 0x50c8
call fcn.10002d00
add esp, 0x18
cmp dword [ebp - 0x1c], 0x6245
jge 0x10005f4c
push str.yuavovkf_oiosptshn_chhwk_mvmdagnts_yaqzlssm_gdcrg_tmnqyhxt_tyomnj_pqsejxou_heqst
call fcn.10049bf0
pop ecx
jmp 0x10005f4c
call dword [sym.imp.USER32.dll_GetDoubleClickTime]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret