Function at 0x1003335f
Capabilities:
Allocate thread local storage

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x10056681
push eax
mov dword fs:[0], esp
sub esp, 0x50
cmp byte [ebp + 0x24], 0
push ebx
push esi
push edi
je 0x10033395
push ecx
push ecx
push dword [ebp + 0xc]
call fcn.10034c5c
jmp 0x100335eb
mov dword [esp + 0x20], 0x53a
cmp dword [esp + 0x20], 0x6bd
jle 0x100333ea
xor esi, esi
mov dword [esp + 0x18], esi
mov ebx, 0x48a1
mov edi, esi
mov dword [esp + 0x14], ebx
mov esi, edi
mov ebx, 0x1d26
mov eax, esi
mov ecx, 0x1006e038
cdq
push edx
push eax
call fcn.10001e16
dec esi
dec ebx
jne 0x100333bf
dec edi
dec dword [esp + 0x14]
jne 0x100333b8
mov esi, dword [esp + 0x18]
inc esi
mov dword [esp + 0x18], esi
cmp esi, 0x4a3
jl 0x100333ad
mov edx, dword [ebp + 0x1c]
lea ecx, [esp + 0x34]
and dword [esp + 0x14], 0
call fcn.1003199a
mov edx, dword [ebp + 0x18]
lea ecx, [esp + 0x28]
and dword [esp + 0x64], 0
call fcn.1003199a
xor ebx, ebx
inc ebx
mov byte [esp + 0x64], bl
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x38]
sub ecx, dword [esp + 0x28]
sub eax, dword [esp + 0x34]
and dword [esp + 0x10], 0
sar ecx, 2
sar eax, 2
cmp eax, ecx
jbe 0x10033521
push ecx
push 0x15f3
push ecx
lea eax, [esp + 0x1c]
mov edx, 0x2b21
push eax
push ebx
lea ecx, [esp + 0x48]
call fcn.10031d91
mov dword [esp + 0x34], 0x37cc
add esp, 0x14
cmp dword [esp + 0x20], 0x381c
jle 0x100334e0
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x1c], esi
xor edi, edi
mov dword [esp + 0x24], esi
mov dword [esp + 0x18], 0x32e4
mov ecx, esi
mov eax, ebx
shl eax, cl
lea ecx, [esp + 0x40]
cdq
push edx
push eax
call fcn.10001ac1
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10033498
mov eax, dword [eax]
push eax
call fcn.1003d266
pop ecx
push 0
push 1
lea ecx, [esp + 0x48]
call fcn.1000217e
add esi, edi
dec dword [esp + 0x18]
jne 0x1003347c
mov esi, dword [esp + 0x1c]
inc edi
cmp edi, 0x57d5
jl 0x10033470
inc esi
mov dword [esp + 0x1c], esi
cmp esi, 0x4b42
jl 0x1003346e
inc ebx
cmp ebx, 0x532f
jl 0x10033468
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
xor ebx, ebx
inc ebx
push 0x162a
push ecx
lea eax, [esp + 0x18]
push eax
push ecx
push ecx
lea eax, [esp + 0x20]
push eax
push ebx
push ecx
lea eax, [esp + 0x48]
mov ecx, 0x63b5
push eax
call fcn.10031df5
add esp, 0x24
cmp dword [esp + 0x20], 0x3423
jge 0x1003351b
push str.kvpnzdjwt_mvplucrns_cmvjvqw_pongr_yohbc_ceivse_ioxssk_brkwy_btsfsnlp_iwbkwr_qfxjauvw_qpgvc_mshec
call fcn.1003d266
pop ecx
mov dword [esp + 0x64], ebx
jmp 0x1003355e
lea eax, [esp + 0x28]
mov cl, bl
push eax
push 0x79ca
push 0x3ec5
push ebx
lea edx, [esp + 0x20]
call fcn.1003206f
add esp, 0x10
lea eax, [esp + 0x10]
push eax
push ebx
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x40]
push eax
push ecx
push ecx
mov ecx, 0x2bfd
call fcn.10031e6d
add esp, 0x18
and dword [esp + 0xc], 0
cmp dword [esp + 0x10], 0
jle 0x100335d0
cmp dword [esp + 0x14], 0
jne 0x100335d0
push 0x7c4d
lea eax, [esp + 0x10]
mov edx, 0xf4b
push eax
lea eax, [esp + 0x3c]
push eax
push 0
push 0x7061
push ecx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x44]
call fcn.100324c6
add esp, 0x18
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x30]
push eax
push ecx
lea eax, [esp + 0x44]
mov ecx, 0x5967
push eax
lea eax, [esp + 0x28]
push ebx
push eax
call fcn.10032456
mov eax, dword [esp + 0x28]
add esp, 0x1c
inc eax
mov dword [esp + 0xc], eax
cmp eax, dword [esp + 0x10]
jl 0x1003356a
mov ecx, dword [ebp + 0x14]
mov eax, dword [esp + 0x14]
mov dword [ecx], eax
lea ecx, [esp + 0x28]
call fcn.10034c03
lea ecx, [esp + 0x34]
call fcn.10034c03
mov ecx, dword [esp + 0x5c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret