Function at 0x10004daa
Capabilities:
Allocate thread local storage
Encode data using xor

Disassembly:
mov eax, 0x10062e96
call fcn.100628e0
sub esp, 0x74
push ebx
mov byte [ebp - 0x10], cl
mov dword [ebp - 0x14], 0x203d
cmp dword [ebp - 0x14], 0x2206
push esi
push edi
mov dword [ebp - 0x2c], edx
jle 0x10004e28
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
xor esi, esi
xor edi, edi
xor ebx, ebx
mov eax, edi
lea ecx, [ebp - 0x50]
cdq
idiv ebx
xor edx, esi
mov eax, edx
cdq
push edx
push eax
call fcn.100019c5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10004dfa
mov eax, dword [eax]
push eax
call fcn.1004d87c
pop ecx
push 0
push 1
lea ecx, [ebp - 0x50]
call fcn.1000d197
inc ebx
cmp ebx, 0x4892
jl 0x10004ddc
inc edi
cmp edi, 0x336e
jl 0x10004dda
inc esi
cmp esi, 0x2c44
jl 0x10004dd8
cmp dword [ebp - 0x14], 0x1e45
jge 0x10004e3c
push str.mmxiwai_eafek_qqcoie_ugr_pqhvtpqq_ecroh
call fcn.1004d87c
pop ecx
cmp byte [ebp - 0x10], 0
je 0x10005081
mov dword [ebp - 0x1c], 0xbd1
cmp dword [ebp - 0x1c], 0xf60
jle 0x10004edc
push 0
call dword [sym.imp.GDI32.dll_GetBkColor]
xor ebx, ebx
xor esi, esi
mov dword [ebp - 0x18], esi
xor edi, edi
mov dword [ebp - 0x14], edi
and dword [ebp - 0x24], 0
mov ecx, edi
mov edi, esi
mov dword [ebp - 0x20], esi
mov esi, dword [ebp - 0x24]
shl edi, cl
mov eax, edi
lea ecx, [ebp - 0x68]
xor eax, esi
xor eax, ebx
cdq
push edx
push eax
call fcn.100019c5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10004e99
mov eax, dword [eax]
push eax
call fcn.1004d87c
pop ecx
push 0
push 1
lea ecx, [ebp - 0x68]
call fcn.1000d197
inc esi
cmp esi, 0x3970
jl 0x10004e7e
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
inc edi
mov dword [ebp - 0x14], edi
cmp edi, 0x5c16
jl 0x10004e6e
inc esi
mov dword [ebp - 0x18], esi
cmp esi, 0x550d
jl 0x10004e69
inc ebx
cmp ebx, 0x7982
jl 0x10004e64
cmp dword [ebp - 0x1c], 0x883
jge 0x10004ef0
push str.rbcbjbe_ybtyytna_iqpde_jtksfkqdg_jomobck_nwrqlcdxr
call fcn.1004d87c
pop ecx
mov dword [ebp - 0x20], 0x5739
mov edi, 0x1007bbb8
cmp dword [ebp - 0x20], 0x5853
jle 0x10004f7a
xor esi, esi
mov dword [ebp - 0x14], esi
xor ebx, ebx
mov dword [ebp - 0x18], ebx
and dword [ebp - 0x24], 0
mov eax, esi
cdq
idiv ebx
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x1c], 0x59e6
xor esi, esi
mov eax, ebx
mov ecx, edi
xor eax, esi
cdq
push edx
push eax
call fcn.1000cbc0
inc esi
cmp esi, 0x2470
jl 0x10004f27
add ebx, dword [ebp - 0x28]
dec dword [ebp - 0x1c]
jne 0x10004f25
mov ebx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
inc ebx
mov dword [ebp - 0x18], ebx
cmp ebx, 0x6d72
jl 0x10004f0f
inc esi
mov dword [ebp - 0x14], esi
cmp esi, 0x4d49
jl 0x10004f0a
xor ebx, ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.GDI32.dll_MaskBlt]
jmp 0x10004f7c
xor ebx, ebx
cmp dword [ebp - 0x20], 0x55ee
jge 0x10004f91
mov edx, str.forns_don_rtq_inaoo_ftbm_luf_ddcr_jeclqjqnv_wnw_laa_biskrigqf_pyycmosc
mov ecx, edi
call fcn.1000ee07
mov esi, dword [ebp + 0x20]
mov dword [esi], ebx
jmp 0x10005076
push 2
lea ecx, [ebp - 0x38]
call fcn.1000cdd8
mov dword [ebp - 4], ebx
mov dword [ebp - 0x14], ebx
jmp 0x10004fba
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10004fad
mov dword [ebp - 0x1c], 0x48db
cmp dword [ebp - 0x1c], 0x4a6e
jle 0x10005030
mov dword [ebp - 0x20], ebx
xor edi, edi
mov ecx, edi
mov dword [ebp - 0x28], ebx
xor esi, esi
shl ebx, cl
mov eax, ebx
lea ecx, [ebp - 0x80]
xor eax, esi
cdq
push edx
push eax
call fcn.100019c5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10004ff7
mov eax, dword [eax]
push eax
call fcn.1004d87c
pop ecx
push 0
push 1
lea ecx, [ebp - 0x80]
call fcn.1000d197
inc esi
cmp esi, 0x37fd
jl 0x10004fde
mov ebx, dword [ebp - 0x20]
inc edi
cmp edi, 0x5b9b
jl 0x10004fd5
inc ebx
mov dword [ebp - 0x20], ebx
cmp ebx, 0x21bc
jl 0x10004fd3
mov esi, dword [ebp + 0x20]
xor ebx, ebx
push dword [ebp + 0x10]
mov edx, dword [ebp + 8]
lea eax, [ebp - 0x38]
push ecx
push dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x28]
push dword [ebp + 0xc]
push 1
push eax
push dword [ebp + 0x14]
push dword [ebp - 0x2c]
call fcn.100055ca
add esp, 0x20
cmp dword [ebp - 0x1c], 0x47f1
jge 0x10005068
push str.lmhvwfe_vgqxebuhc_sxfd_kkrp_lqfymupe_lkkbhc_jhdix_lhvfcbp_iojhm_jgfddhqgn_dnjopghv_vbbgbjbd
call fcn.1004d87c
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.1000ce5b
inc dword [esi]
cmp dword [esi], 4
je 0x10004f9b
jmp 0x100050d3
mov dword [ebp - 0x20], 0x1423
mov edi, 0x1007bbb8
cmp dword [ebp - 0x20], 0x15e2
jle 0x100050b9
xor esi, esi
xor ebx, ebx
lea eax, [ebx + esi]
mov ecx, edi
cdq
push edx
push eax
call fcn.1000cbc0
inc ebx
cmp ebx, 0x5483
jl 0x1000509a
inc esi
cmp esi, 0x4dc4
jl 0x10005098
cmp dword [ebp - 0x20], 0x11cf
jge 0x100050ce
mov edx, str.ksq_dgo_pwehhy_nigj_iprnsiy_rrrfi_rellqtngr
mov ecx, edi
call fcn.1000ee07
mov eax, dword [ebp + 0x24]
inc dword [eax]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret