Function at 0x41890d
Capabilities:
Allocate thread local storage
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x6c4
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x6c0], eax
push ebx
push esi
xor ebx, ebx
push edi
mov edi, ecx
cmp dword [0x6b6b8c], ebx
jne 0x41893b
call fcn.0040b783
cmp dword [0x6b7e8c], ebx
jne 0x41894e
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
mov dword [0x6b7e8c], eax
cmp dword [0x6d1eb8], ebx
jne 0x41895e
xor eax, eax
inc eax
jmp 0x418c26
call fcn.00418c3b
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [0x6d2000], eax
mov eax, dword [ebp + 0xc]
mov dword [0x6b7dd4], eax
mov eax, dword [ebp + 0x10]
mov dword [0x6b7ddc], eax
call fcn.0041923e
mov esi, 0x640970
cmp dword [0x6d2008], ebx
jne 0x4189a3
push 0x6d2008
push esi
call fcn.00419b88
cmp eax, ebx
jl 0x418c26
cmp dword [0x6d200c], ebx
jne 0x4189be
push 0x6d200c
push esi
call fcn.0042359c
cmp eax, ebx
jl 0x418c26
call fcn.00433333
call fcn.00433822
call fcn.00433af4
call fcn.00434159
call fcn.0043421e
call fcn.004345bb
call fcn.004346d7
call fcn.00434e95
call fcn.00434f2c
call fcn.00435a9d
call fcn.00435cd2
call fcn.00435ee5
call fcn.00435fe1
call fcn.0043613c
call fcn.004362fe
call fcn.00436603
call fcn.0043672c
call fcn.004368c2
call fcn.00436972
call fcn.00436fce
call fcn.004375b3
call fcn.004376be
call fcn.004378c3
call fcn.0043794a
call fcn.00437a94
call fcn.00437bec
call fcn.00437cfb
call fcn.00437d7c
call fcn.00437efe
call fcn.004380ba
call fcn.00438287
call fcn.0043840a
call fcn.004384cb
call fcn.0043854c
call fcn.004385cd
call fcn.00438692
call fcn.00438719
call fcn.0043885d
call fcn.00438e30
call fcn.004395de
call fcn.00439665
call fcn.0043989f
call fcn.00439968
call fcn.004399ef
call fcn.00439afd
call fcn.00439b9d
call fcn.00439c70
call fcn.00439d73
call fcn.00439dfd
call fcn.00439f44
call fcn.0043a107
call fcn.0043a32d
call fcn.0043a4e0
call fcn.0043a567
call fcn.0043a674
call fcn.0043a8b2
call fcn.0043aa60
mov eax, 0x6d1020
call fcn.0043ab2d
push ecx
mov eax, esp
mov dword [eax], str.NEW_SKIN
push ecx
mov eax, esp
lea esi, [esp + 0x18]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [eax], str.SKIN
call fcn.0043affa
push dword [esp + 0x14]
push dword [0x6d08a8]
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push dword [esp + 0x10]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov ecx, dword [0x6d200c]
mov edx, dword [ecx]
push esi
push eax
push 0x6409a0
push ecx
call dword [edx + 0x34]
call fcn.0045a2df
test al, al
je 0x418b46
call dword [sym.imp.UxTheme.dll_BufferedPaintInit]
push dword [ebp + 8]
mov esi, 0x6d09e0
push edi
push esi
call fcn.0045a3a4
call fcn.0045b01d
cmp dword [0x6b7dd4], ebx
je 0x418c14
push ebx
push str.360se6_Frame
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
je 0x418b7c
mov dword [0x6b7dd4], ebx
cmp dword [0x6b7dd4], ebx
je 0x418c14
push 0x46c
lea eax, [esp + 0x1c]
push ebx
push eax
call fcn.00402394
mov eax, dword [0x6d0c8c]
add esp, 0xc
neg eax
sbb eax, eax
and eax, 2
push esi
lea ecx, [esp + 0x1c]
mov word [esp + 0x48], 1
mov byte [esp + 0x58], bl
mov dword [esp + 0x54], 0x7b
mov dword [esp + 0x60], 0x258
mov dword [esp + 0x64], 0x140
mov dword [esp + 0x5c], eax
mov byte [esp + 0x69], 1
mov dword [esp + 0x6c], 0x6b
call fcn.0045f920
push 0x238
mov edi, eax
lea eax, [esp + 0x490]
push ebx
push eax
mov dword [esp + 0x494], ebx
call fcn.00402394
add esp, 0xc
lea eax, [esp + 0x488]
push eax
push edi
mov ecx, esi
call fcn.004910da
cmp dword [esp + 0x10], ebx
je 0x418c24
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_FreeResource]
xor eax, eax
mov ecx, dword [esp + 0x6cc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00403fc1
mov esp, ebp
pop ebp
ret