Function at 0x1000611f
Capabilities:
Set thread local storage value

Disassembly:
mov eax, 0x1006170b
call fcn.10060e94
sub esp, 0x12c
mov byte [ebp - 0x50], cl
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
test cl, cl
je 0x1000683a
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x64], esi
mov eax, dword [edi]
cmp eax, dword [edi + 4]
je 0x10006832
lea eax, [ebp - 0x88]
xor ebx, ebx
push eax
push 0x1000
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
call fcn.1000816e
mov dword [ebp - 4], ebx
mov esi, 0xb83
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x5c]
push dword [ebp - 0x5c]
sar eax, 1
push eax
push esi
push 0x10a0
call fcn.1001f044
pop ecx
pop ecx
call eax
push dword [ebp - 0x5c]
lea ecx, [ebp - 0xa0]
call fcn.1000718f
push 0xf6c
mov byte [ebp - 4], 1
call fcn.10034a68
pop ecx
push 1
push 0x491f
push 0x61bc
movzx eax, ax
lea edx, [ebp - 0xa0]
push 0x7a55
mov dword [ebp - 0x6c], eax
mov cl, 1
push 1
lea eax, [ebp - 0x6c]
push eax
push 0x7bec
call fcn.10005dfa
add esp, 0x18
lea eax, [ebp - 0xa0]
mov edx, 0x7a9b
mov ecx, 0x4fa4
push 1
push eax
call fcn.10005ea1
add esp, 0xc
lea eax, [ebp - 0xa0]
cmp dword [ebp - 0x8c], 8
cmovae eax, dword [ebp - 0xa0]
push ebx
push eax
push esi
push 0x74d
call fcn.1001f044
pop ecx
pop ecx
call eax
lea eax, [ebp - 0xa0]
push eax
push 1
lea eax, [ebp - 0x6c]
push eax
push ecx
push ecx
mov ecx, 0x41fd
call fcn.10005d60
mov dword [ebp - 0x60], ebx
add esp, 0x14
mov dword [ebp - 0x1c], 0x7e54
cmp dword [ebp - 0x1c], 0x8182
jle 0x100062b0
push ebx
push 0x1ae6
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov esi, ebx
mov edi, ebx
mov eax, edi
lea ecx, [ebp - 0x134]
or eax, esi
cdq
push edx
push eax
call fcn.10001301
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10006286
mov eax, dword [eax]
push eax
call fcn.10048570
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x134]
call fcn.1000162e
inc edi
cmp edi, 0x6e70
jl 0x1000626a
inc esi
cmp esi, 0x1c91
jl 0x10006268
mov edi, dword [ebp + 0x10]
mov ecx, dword [edi + 4]
lea eax, [ebp - 0x60]
sub ecx, dword [edi]
mov edx, dword [edi]
push eax
call fcn.1000c813
cmp dword [ebp - 0x1c], 0x7b15
pop ecx
jge 0x100062d5
push str.millkr_byrf_uaisywyw_ggl_looplfruq_iofqnq_tzuvafjq
call fcn.10048570
pop ecx
mov dword [ebp - 4], 1
mov eax, ebx
mov byte [ebp - 0x15], bl
mov dword [ebp - 0x14], ebx
cmp eax, 0x12c
jae 0x10006827
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0xb8]
call fcn.10007154
push 0x10
pop edx
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 4
call fcn.1000de5e
lea eax, [ebp - 0x11c]
mov byte [ebp - 4], 5
push eax
push 0x126d
push 0x7a3d
push ecx
lea eax, [ebp - 0xb8]
push eax
push ecx
mov cl, 1
call fcn.10005f3e
add esp, 0x18
mov dword [ebp - 0x3c], 0x4b03b300
mov dword [ebp - 0x38], 0x1d020001
push 0x2e
pop eax
push 2
mov word [ebp - 0x78], ax
pop esi
movzx eax, byte [ebp + esi - 0x3e]
movzx ecx, byte [ebp + esi - 0x3b]
movzx edx, word [ebp + eax*2 - 0x78]
mov eax, edx
and eax, ecx
add eax, eax
sub edx, eax
movzx eax, byte [ebp + esi - 0x3c]
add edx, ecx
add esi, 2
mov word [ebp + eax*2 - 0x78], dx
cmp esi, 8
jb 0x10006353
xor eax, eax
mov dword [ebp - 0xf0], 7
mov word [ebp - 0x70], ax
lea ecx, [ebp - 0x104]
mov word [ebp - 0x104], ax
lea eax, [ebp - 0x78]
push eax
mov dword [ebp - 0xf4], ebx
call fcn.10007d45
push ecx
push ecx
lea eax, [ebp - 0x104]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0xb8]
call fcn.1000957c
push ebx
push 1
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 5
call fcn.10007ea2
xor eax, eax
lea edi, [ebp - 0x78]
cmp dword [ebp - 0xa4], 8
stosd dword es:[edi], eax
push ebx
push 0x80
push 2
stosd dword es:[edi], eax
push ebx
push ebx
push 0x40000000
stosw word es:[edi], ax
lea eax, [ebp - 0xb8]
cmovae eax, dword [ebp - 0xb8]
mov edi, 0xb83
push eax
push edi
push 0xa4f
call fcn.1001f044
pop ecx
pop ecx
call eax
mov esi, eax
cmp esi, 0xffffffff
je 0x100067fb
push ebx
lea eax, [ebp - 0xec]
push eax
push dword [ebp - 0x60]
mov eax, dword [ebp + 0x10]
push dword [eax]
push esi
push edi
push 0x834
call fcn.1001f044
pop ecx
pop ecx
call eax
push esi
test eax, eax
push edi
push 0x91b
setne bl
call fcn.1001f044
pop ecx
pop ecx
call eax
test bl, bl
je 0x100067f9
push 0x22
pop eax
xor ebx, ebx
mov dword [ebp - 0x24], 0x37027100
push 2
mov ecx, ebx
mov byte [ebp - 0x20], 0xeb
mov word [ebp - 0x28], ax
pop esi
mov dword [ebp - 0x4c], ecx
cmp esi, 2
jne 0x10006488
push 3
pop ecx
push ecx
mov dword [ebp - 0x4c], ecx
pop esi
jmp 0x100064da
movzx edx, byte [ebp + esi - 0x23]
mov eax, esi
sub eax, ecx
push 1
push 0x6d5f
push 0x57a0
movzx eax, byte [ebp + eax - 0x26]
push 0x34d
push ebx
push 0x6d6
movzx eax, word [ebp + eax*2 - 0x28]
mov ecx, eax
and eax, edx
or ecx, edx
mov edx, 0x7d5d
sub ecx, eax
movzx eax, byte [ebp + esi - 0x24]
mov word [ebp + eax*2 - 0x28], cx
lea eax, [ebp - 0x4c]
push eax
mov cl, 1
call fcn.10005dfa
mov ecx, dword [ebp - 0x4c]
add esp, 0x1c
add esi, 2
cmp esi, 5
jb 0x10006479
xor eax, eax
mov dword [ebp - 0xbc], 7
mov word [ebp - 0x26], ax
lea ecx, [ebp - 0xd0]
mov word [ebp - 0xd0], ax
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0xc0], ebx
call fcn.10007d45
push ecx
push ecx
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x28], ebx
call fcn.1000957c
push 0x20
pop eax
push 2
mov dl, 1
mov dword [ebp - 0x34], 0x2007b01
mov dword [ebp - 0x30], 0x52f91603
mov dword [ebp - 0x2c], 0x7c030d02
mov word [ebp - 0x82], ax
pop esi
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x1c], esi
cmp esi, 0xc
jae 0x100066a8
movzx eax, dl
lea eax, [eax*2 + 2]
cmp esi, eax
jne 0x1000657d
movzx ecx, byte [ebp + esi - 0x34]
dec esi
add esi, ecx
lea eax, [ecx + 1]
mov dword [ebp - 0x40], eax
jmp 0x100066a0
mov dword [ebp - 0x14], 0x751f
cmp dword [ebp - 0x14], 0x765f
jle 0x10006604
push 0xb5
push 0x6b9
push ebx
call dword [sym.imp.GDI32.dll_OffsetRgn]
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x48], ebx
mov edi, ebx
mov ebx, dword [ebp - 0x48]
mov dword [ebp - 0x68], edi
mov eax, ebx
mov ebx, dword [ebp - 0x44]
cdq
idiv edi
mov edi, 0x4989
mov esi, edx
mov ecx, esi
mov eax, ebx
sar eax, cl
mov ecx, 0x1007cfd8
cdq
push edx
push eax
call fcn.1000703f
dec esi
dec edi
jne 0x100065bb
mov edi, dword [ebp - 0x68]
mov ebx, dword [ebp - 0x48]
inc edi
mov dword [ebp - 0x68], edi
cmp edi, 0x10bc
jl 0x100065ac
inc ebx
push 0
mov dword [ebp - 0x48], ebx
cmp ebx, 0x7df6
pop ebx
jl 0x100065a4
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp eax, 0x6b7d
jl 0x100065a1
mov esi, dword [ebp - 0x1c]
movzx edx, byte [ebp + esi - 0x33]
mov eax, esi
sub eax, dword [ebp - 0x40]
movzx eax, byte [ebp + eax - 0x36]
movzx ecx, word [ebp + eax*2 - 0x84]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x34]
add ecx, edx
mov byte [ebp - 4], 8
cmp dword [ebp - 0x14], 0x738e
mov word [ebp + eax*2 - 0x84], cx
jge 0x10006675
mov edx, str.xuasar_fvkyu_rgpytfla_qjv_fwiycao_zptmxm_jhwujp
mov ecx, 0x1007cfd8
call fcn.1000b30d
jmp 0x10006675
push 0x245b
push 0x7e9
push 0x2118
push 0x36fd
push 1
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 7
call fcn.10005fcd
mov dl, byte [ebp - 0x34]
add esp, 0x14
add esi, 2
jmp 0x10006550
xor eax, eax
mov word [ebp - 0x7c], ax
mov dword [ebp - 0x14], 0x365c
cmp dword [ebp - 0x14], 0x36f5
jle 0x100066e4
mov esi, ebx
mov edi, ebx
lea eax, [edi + esi]
mov ecx, 0x1007cfd8
cdq
push edx
push eax
call fcn.1000703f
inc edi
cmp edi, 0x515d
jl 0x100066c2
inc esi
cmp esi, 0x14df
jl 0x100066c0
xor eax, eax
mov dword [ebp - 0xd4], 7
mov word [ebp - 0xe8], ax
lea ecx, [ebp - 0xe8]
lea eax, [ebp - 0x84]
mov dword [ebp - 0xd8], ebx
push eax
call fcn.10007d45
push ecx
push ecx
lea eax, [ebp - 0xe8]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0xd0]
call fcn.1000957c
push ebx
push 1
lea ecx, [ebp - 0xe8]
call fcn.10007ea2
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x14], 0x33ef
jge 0x10006775
mov edx, str.wdy_fnbw_oraxrgjcs_sjt_mzkayad
mov ecx, 0x1007cfd8
call fcn.1000b30d
jmp 0x10006775
mov dword [ebp - 4], 7
lea edi, [ebp - 0x84]
xor eax, eax
mov edx, 0x3e5c
stosd dword es:[edi], eax
push ecx
push 1
push ecx
stosd dword es:[edi], eax
lea ecx, [ebp - 0x15]
push 0xcba
stosw word es:[edi], ax
call fcn.10006a65
add esp, 0x10
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0xd0]
call fcn.10004079
mov ecx, dword [ebp + 0xc]
push ebx
push 1
mov dword [ecx], eax
lea ecx, [ebp - 0xd0]
call fcn.10007ea2
push ebx
push 1
lea ecx, [ebp - 0x11c]
call fcn.10007ea2
push ebx
push 1
lea ecx, [ebp - 0xb8]
call fcn.10007ea2
push ebx
push 1
lea ecx, [ebp - 0xa0]
call fcn.10007ea2
lea ecx, [ebp - 0x5c]
call fcn.100081ff
jmp 0x10006840
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x11c]
call fcn.10007ea2
push ebx
push 1
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 1
call fcn.10007ea2
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
jmp 0x100062e4
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 2
jmp 0x100067e1
mov dword [esi], 1
jmp 0x10006840
mov eax, dword [ebp + 8]
and dword [eax], 0
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret