Function at 0x405bd0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x10c
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x108], eax
dec dword [0x572990]
push ebx
push esi
push edi
sub esp, 8
mov dword [esp + 0x1c], edx
mov ebx, ecx
mov esi, 0x5f
mov dword [esp + 0x20], ebx
push 0x34
push ecx
call fcn.00401300
mov edx, dword [0x572990]
add esp, 0x10
add edx, 0xfffe795f
test edx, edx
jle 0x405c40
mov ecx, dword [0x569958]
mov eax, esi
inc esi
cmp eax, 0x21
jge 0x405c2f
dec ecx
sub edx, 1
jne 0x405c26
mov dword [0x569958], ecx
nop word [eax + eax]
push 0xde78
push 0xed52
push 0xa604
push 0x87f2
push 0x3d13
mov edx, 0x2b92
mov ecx, 0xfe8a
call fcn.004054d0
mov ecx, 0x38
lea edi, [esp + 0x44]
add esp, 0xc
movsx eax, byte [eax]
push 0x34
mov esi, dword [eax + ebx]
add ebx, 0x18
add esi, ebx
rep movsd dword es:[edi], dword [esi]
push ecx
call fcn.00401300
mov eax, dword [0x56995c]
add esp, 0x10
add eax, 0xfffe7900
mov dword [esp + 0x10], 0x31
xor esi, esi
mov ebx, 0x19
test eax, eax
jle 0x405cec
mov edi, dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
nop
push 0xda30
push 0x12af
push 0x105b
push 0xfc32
push 0x1503c
call edi
mov edx, dword [0x56990c]
inc esi
mov eax, dword [0x56995c]
dec edx
add eax, 0xfffe7900
mov dword [0x56990c], edx
add esp, 0x14
cmp esi, eax
jl 0x405cb0
jmp 0x405cf2
mov edx, dword [0x56990c]
dec dword [0x569904]
lea eax, [edx - 0x186c6]
xor esi, esi
mov byte [0x569973], 0x47
test eax, eax
jle 0x405d39
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ebx, 0x31
dec dword [0x569a98]
dec ebx
call edi
mov edx, dword [0x56990c]
inc esi
lea eax, [edx - 0x186c6]
cmp esi, eax
jl 0x405d16
mov dword [esp + 0x10], ebx
mov ebx, 0x19
mov edi, dword [0x572994]
mov byte [str.jIWOs], 0x60
lea eax, [edi - 0x186df]
test eax, eax
jle 0x405d78
xor esi, esi
push 0x997a
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconA]
mov edi, dword [0x572994]
inc esi
add esp, 4
inc ebx
lea eax, [edi - 0x186df]
cmp esi, eax
jl 0x405d52
mov edx, dword [0x56990c]
mov eax, dword [0x569a48]
xor ecx, ecx
dec eax
mov word [0x569971], 0x7200
xor ebx, eax
mov dword [0x569a48], eax
cmp ebx, edx
setl cl
xor eax, eax
cmp dword [esp + 0x10], 0x27
setl al
or ecx, eax
je 0x405daa
dec edx
mov dword [0x56990c], edx
movsx eax, byte [str.jIWOs]
lea ecx, [esp + 0x30]
sub esp, 0x18
mov byte [0x569974], 0x52
add eax, ecx
mov byte [0x569a6d], 0x9a
dec edi
mov dword [esp + 0x28], eax
mov dword [0x572994], edi
mov esi, 0xc
push 0x3b
call fcn.00401350
mov edi, dword [0x56995c]
add esp, 0x1c
mov eax, dword [0x569904]
inc edi
mov ecx, dword [0x569958]
inc eax
inc ecx
mov word [0x569a6a], 0x4c43
mov dword [0x569958], ecx
mov byte [0x569a6c], 0x74
mov dword [0x56995c], edi
mov dword [0x569904], eax
cmp eax, edi
je 0x405e23
lea eax, [ecx - 1]
mov dword [0x569958], eax
add edi, 0xfffe78ff
mov byte [0x569a69], 0x49
mov byte [0x569a6e], 0x36
test edi, edi
jle 0x405e48
mov ebx, dword [sym.imp.KERNEL32.dll_CreateTimerQueueTimer]
call ebx
sub edi, 1
jne 0x405e41
mov edx, dword [0x569908]
xor edi, edi
mov ecx, dword [0x572990]
mov byte [0x569a6f], 0xcd
lea eax, [edx - 0x186bd]
test eax, eax
jle 0x405ed0
mov ebx, dword [sym.imp.KERNEL32.dll_TlsGetValue]
nop dword [eax]
mov eax, ecx
inc esi
dec ecx
mov dword [0x572990], ecx
cmp eax, 0x51
jle 0x405ebe
cmp esi, 0xa
jge 0x405ebe
dec dword [0x572a88]
push 0x12d09
push 0x19b8
push 0x9248
push 0x89dd
push 0x15dbc
push 0xbfc0
push 0x16aea
call ebx
mov ecx, dword [0x572990]
add esp, 0x1c
mov edx, dword [0x569908]
inc edi
lea eax, [edx - 0x186bd]
cmp edi, eax
jl 0x405e70
nop dword [eax]
mov esi, dword [esp + 0x10]
inc ecx
mov ebx, dword [esp + 0x18]
inc edx
dec dword [0x569a98]
inc dword [0x572994]
dec dword [0x56995c]
dec dword [0x5729b8]
mov byte [str.BjsXylRF], 0
mov esi, dword [esi]
add esi, ebx
mov word [0x569945], 0x9600
push 0xecb9
mov byte [0x569947], 0x33
mov byte [str.xjSq], 0x20
mov edi, dword [esi + 0x20]
push 0xe89f
mov byte [0x569900], 0x31
add edi, ebx
mov eax, dword [esi + 0x1c]
push 0x4b92
mov dword [0x572990], ecx
add eax, ebx
mov dword [0x569908], edx
mov ecx, 0xa52e
push 0xb779
push 0xf23d
mov edx, 0xe693
mov dword [esp + 0x34], edi
mov dword [esp + 0x40], eax
call fcn.00405070
mov ecx, dword [esi + 0x18]
add esp, 0x14
mov dword [esp + 0x1c], ecx
movsx eax, byte [eax]
mov eax, dword [eax + esi]
add eax, ebx
mov ebx, dword [0x569908]
mov dword [esp + 0x28], eax
inc ebx
xor eax, eax
mov dword [0x569908], ebx
mov dword [esp + 0x10], eax
test ecx, ecx
je 0x40609c
mov edx, dword [edi + eax*4]
mov esi, 1
mov eax, dword [0x572990]
mov ecx, eax
dec eax
mov dword [0x572990], eax
xor eax, eax
cmp ecx, 0x53
cmovg eax, esi
xor ecx, ecx
cmp dword [0x572994], 0x30
cmovl ecx, eax
inc dword [0x5729e8]
and ecx, dword [0x572a88]
inc ebx
mov dword [0x569908], ebx
mov ebx, dword [esp + 0x18]
add ebx, edx
mov dword [esp + 0x24], ecx
test byte [0x569908], 0x58
je 0x405fe7
dec dword [0x56990c]
mov esi, dword [esp + 0x14]
mov ecx, ebx
call fcn.00405700
dec dword [0x572994]
mov edi, eax
cmp dword [0x569908], 0x6c
jle 0x406012
cmp dword [0x572a88], 0x2f
jle 0x406012
inc dword [0x569a98]
mov ecx, esi
call fcn.00405700
cmp edi, eax
jne 0x40603a
test edi, edi
je 0x406030
sub ebx, esi
mov al, byte [esi + ebx]
cmp al, byte [esi]
jne 0x406030
inc esi
sub edi, 1
jne 0x406023
inc dword [0x569a98]
test edi, edi
je 0x406058
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x1c]
jae 0x40609c
mov ebx, dword [0x569908]
mov edi, dword [esp + 0x20]
jmp 0x405f92
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x406070
mov eax, dword [0x572a88]
inc eax
sub ecx, 1
jne 0x406065
mov dword [0x572a88], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
movzx eax, word [ecx + eax*2]
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + eax*4]
add eax, dword [esp + 0x18]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x108]
xor ecx, esp
call fcn.004d3956
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x114]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004d3956
mov esp, ebp
pop ebp
ret