Function at 0x1001d3ad
Capabilities:
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10064230
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x70
cmp byte [ebp + 0x20], 0
push ebx
push esi
push edi
mov edi, edx
mov esi, ecx
mov dword [esp + 0x1c], edi
je 0x1001d546
cmp byte [ebp + 0xc], 0
je 0x1001d537
mov eax, dword [edi + 4]
cmp dword [edi], eax
je 0x1001d610
sub eax, dword [edi]
cdq
push 0x18
pop ebx
idiv ebx
mov edx, dword [ebp + 0x14]
mov ecx, eax
mov dword [esp + 0x20], ecx
mov eax, dword [edx + 4]
sub eax, dword [edx]
cdq
idiv ebx
cmp ecx, eax
jne 0x1001d610
and dword [esp + 0x14], 0
test ecx, ecx
jle 0x1001d610
xor esi, esi
mov dword [esp + 0x18], esi
mov edx, dword [edi]
mov ecx, dword [ebp + 0x18]
add edx, esi
call fcn.1001a95a
test al, al
je 0x1001d50b
mov eax, dword [ebp + 0x14]
sub esp, 0x18
mov ecx, esp
mov eax, dword [eax]
add eax, esi
push eax
call fcn.10004bdf
lea ecx, [esp + 0x3c]
call fcn.1001a4b4
add esp, 0x18
and dword [esp + 0x84], 0
mov dword [esp + 0x10], 0x3d9
cmp dword [esp + 0x10], 0x536
jle 0x1001d4c3
xor esi, esi
xor edi, edi
mov ecx, edi
mov eax, esi
sar eax, cl
lea ecx, [esp + 0x30]
cdq
push edx
push eax
call fcn.10001ab5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1001d495
mov eax, dword [eax]
push eax
call fcn.1004c653
pop ecx
push 0
push 1
lea ecx, [esp + 0x38]
call fcn.100050bb
inc edi
cmp edi, 0x256f
jl 0x1001d479
inc esi
cmp esi, 0x7b5d
jl 0x1001d477
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x24]
call fcn.1001d27c
cmp dword [esp + 0x10], 0xdb
mov dword [esp + 0x18], eax
jge 0x1001d4e9
push str.aytfqzlp_twxiidcg_wtsuut_rulit_qpai_owuwbnt_hjgupoi_taegu_dgurs_aqel_vggxsl_tjzwdyky_nwmtmhac_jcd
call fcn.1004c653
mov eax, dword [esp + 0x1c]
pop ecx
and dword [esp + 0x84], 0
test eax, eax
je 0x1001d529
cmp eax, 2
je 0x1001d529
or dword [esp + 0x84], 0xffffffff
lea ecx, [esp + 0x24]
call fcn.1001e162
mov eax, dword [esp + 0x14]
add esi, ebx
inc eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x20]
jl 0x1001d429
jmp 0x1001d610
lea ecx, [esp + 0x24]
call fcn.1001e162
jmp 0x1001d610
push 0
push 0
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
jmp 0x1001d610
cmp byte [ebp + 8], 0
je 0x1001d593
mov eax, dword [esi + 4]
sub eax, dword [esi]
push 0x18
cdq
pop ecx
idiv ecx
mov ebx, eax
test ebx, ebx
je 0x1001d610
xor edi, edi
mov edx, dword [esi]
lea ecx, [esp + 0x48]
push dword [ebp + 0x10]
add edx, edi
call fcn.1001875b
pop ecx
mov ecx, dword [esi]
push eax
add ecx, edi
call fcn.100149d6
push 0
push 1
lea ecx, [esp + 0x50]
call fcn.1000522d
add edi, 0x18
dec ebx
jne 0x1001d563
jmp 0x1001d610
mov dword [esp + 0x18], 0x3681
cmp dword [esp + 0x18], 0x396d
jle 0x1001d5e8
xor esi, esi
xor edi, edi
lea eax, [edi + esi]
cdq
lea ecx, [esp + 0x60]
push edx
push eax
call fcn.10001ab5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1001d5c2
mov eax, dword [eax]
push eax
call fcn.1004c653
pop ecx
push 0
push 1
lea ecx, [esp + 0x68]
call fcn.100050bb
inc edi
cmp edi, 0x42c6
jl 0x1001d5a9
inc esi
cmp esi, 0x16b9
jl 0x1001d5a7
cmp dword [esp + 0x18], 0x35f3
jge 0x1001d5fd
push str.mbahumy_txzr_piqgkq_hgxmhtm_jplrgguw_ofdlegw_vbmokbui
call fcn.1004c653
pop ecx
mov eax, dword [ebp + 0x1c]
cmp byte [eax], 0
je 0x1001d610
push 0x2382
call dword [sym.imp.USER32.dll_IsIconic]
mov ecx, dword [esp + 0x7c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret