Function at 0x10029e9f
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100cd75a
mov eax, dword fs:[0]
push eax
sub esp, 0x148
mov eax, dword [0x10102f10]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x128], edi
mov eax, dword [ebp + 8]
push str.ThemeComponentTaskbar::Decorate
mov dword [ebp - 0x120], eax
call fcn.10015f50
mov eax, dword [ebp + 0xc]
add esp, 4
cmp dword [ebp - 0x120], 0
mov byte [edi + 0x4c], al
mov byte [ebp - 0x10d], 0
je 0x1002a1cb
test al, al
je 0x1002a1d9
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x34], xmm0
movups xmmword [ebp - 0x24], xmm0
call fcn.100093c0
mov ecx, eax
test ecx, ecx
je 0x1002a5b9
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x34], eax
call fcn.100093c0
mov ecx, eax
test ecx, ecx
je 0x1002a5c3
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x30], eax
call fcn.100093c0
mov ecx, eax
test ecx, ecx
je 0x1002a5cd
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x2c], eax
call fcn.100093c0
mov ecx, eax
test ecx, ecx
je 0x1002a5d7
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x28], eax
call fcn.100093c0
mov ecx, eax
test ecx, ecx
je 0x1002a5e1
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x24], eax
call fcn.100093c0
mov ecx, eax
test ecx, ecx
je 0x1002a5eb
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x20], eax
call fcn.100093c0
mov ecx, eax
test ecx, ecx
je 0x1002a5f5
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1c], eax
call fcn.100093c0
mov ecx, eax
test ecx, ecx
je 0x1002a5ff
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x18], eax
call fcn.100093c0
mov ecx, eax
test ecx, ecx
je 0x1002a609
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [ebp - 0x14], edi
mov esi, dword [ebp - 0x128]
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 4], 0
lea ecx, [esi + 0x28]
call fcn.10019a20
lea eax, [ebp - 0x30]
push eax
lea ecx, [esi + 0x2c]
call fcn.10019a20
lea eax, [ebp - 0x2c]
push eax
lea ecx, [esi + 0x30]
call fcn.10019a20
lea eax, [ebp - 0x28]
push eax
lea ecx, [esi + 0x34]
call fcn.10019a20
lea eax, [ebp - 0x24]
push eax
lea ecx, [esi + 0x38]
call fcn.10019a20
lea eax, [ebp - 0x20]
push eax
lea ecx, [esi + 0x3c]
call fcn.10019a20
lea eax, [ebp - 0x1c]
push eax
lea ecx, [esi + 0x40]
call fcn.10019a20
lea eax, [ebp - 0x18]
push eax
lea ecx, [esi + 0x44]
call fcn.10019a20
lea eax, [ebp - 0x14]
push eax
lea ecx, [esi + 0x48]
call fcn.10019a20
or esi, 0xffffffff
mov dword [ebp - 4], 0xffffffff
add edi, 0xfffffff0
mov eax, esi
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x10029635
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1002964f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1c]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10029669
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x20]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10029683
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x24]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1002969d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x28]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100296b7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x2c]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100296d1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x30]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100296eb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x34]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10029705
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x34], xmm0
movups xmmword [ebp - 0x24], xmm0
call fcn.100093c0
mov ecx, eax
test ecx, ecx
je 0x1002a613
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x34], eax
call fcn.100093c0
mov ecx, eax
test ecx, ecx
je 0x1002a61d
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x30], eax
call fcn.100093c0
mov ecx, eax
test ecx, ecx
je 0x1002a627
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x2c], eax
call fcn.100093c0
mov ecx, eax
test ecx, ecx
je 0x1002a631
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x28], eax
call fcn.100093c0
mov ecx, eax
test ecx, ecx
je 0x1002a63b
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x24], eax
call fcn.100093c0
mov ecx, eax
test ecx, ecx
je 0x1002a645
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x20], eax
call fcn.100093c0
mov ecx, eax
test ecx, ecx
je 0x1002a64f
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1c], eax
call fcn.100093c0
mov ecx, eax
test ecx, ecx
je 0x1002a659
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x18], eax
call fcn.100093c0
mov ecx, eax
test ecx, ecx
je 0x1002a663
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [ebp - 0x14], edi
mov esi, dword [ebp - 0x128]
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 4], 1
lea ecx, [esi + 4]
call fcn.10019a20
lea eax, [ebp - 0x30]
push eax
lea ecx, [esi + 8]
call fcn.10019a20
lea eax, [ebp - 0x2c]
push eax
lea ecx, [esi + 0xc]
call fcn.10019a20
lea eax, [ebp - 0x28]
push eax
lea ecx, [esi + 0x10]
call fcn.10019a20
lea eax, [ebp - 0x24]
push eax
lea ecx, [esi + 0x14]
call fcn.10019a20
lea eax, [ebp - 0x20]
push eax
lea ecx, [esi + 0x18]
call fcn.10019a20
lea eax, [ebp - 0x1c]
push eax
lea ecx, [esi + 0x1c]
call fcn.10019a20
lea eax, [ebp - 0x18]
push eax
lea ecx, [esi + 0x20]
call fcn.10019a20
lea eax, [ebp - 0x14]
push eax
lea ecx, [esi + 0x24]
call fcn.10019a20
or esi, 0xffffffff
mov dword [ebp - 4], 0xffffffff
add edi, 0xfffffff0
mov eax, esi
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x100298ad
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100298c7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1c]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100298e1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x20]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100298fb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x24]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10029915
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x28]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1002992f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x2c]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10029949
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x30]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10029963
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x34]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1002997d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.100093c0
mov ecx, eax
test ecx, ecx
je 0x1002a66d
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x11c], eax
push 0x100d85d4
lea ecx, [ebp - 0x11c]
mov dword [ebp - 4], 2
call fcn.10019a90
test al, al
jne 0x10029a3e
push 0
push 0
push 0xffffffffffffffff
push 0x100d85d4
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea edi, [eax - 1]
test edi, edi
jle 0x10029a33
mov eax, dword [ebp - 0x11c]
mov edx, 1
mov ecx, dword [eax - 8]
sub edx, dword [eax - 4]
sub ecx, edi
or ecx, edx
jge 0x10029a00
push edi
lea ecx, [ebp - 0x11c]
call fcn.1000a740
mov eax, dword [ebp - 0x11c]
push edi
push eax
push 0xffffffffffffffff
push 0x100d85d4
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x11c]
cmp edi, dword [eax - 8]
jg 0x1002a677
mov dword [eax - 0xc], edi
xor ecx, ecx
mov eax, dword [ebp - 0x11c]
mov word [eax + edi*2], cx
jmp 0x10029a3e
lea ecx, [ebp - 0x11c]
call fcn.10008fb0
push 0xf
lea eax, [ebp - 0x88]
mov dword [ebp - 4], 3
push str.taskbar_texture
push eax
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
mov dword [ebp - 0x78], 0xf
call fcn.10092910
mov byte [ebp - 0x79], 0
push 0xfde9
lea eax, [ebp - 0x11c]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x88]
push eax
push dword [ebp - 0x120]
lea eax, [ebp - 0x138]
push eax
call fcn.10041ec0
add esp, 0x20
mov edx, dword [ebp - 0x74]
mov byte [ebp - 4], 6
cmp edx, 0x10
jb 0x10029ad8
mov ecx, dword [ebp - 0x88]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10029ace
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002a681
push edx
push ecx
call fcn.10064ae7
add esp, 8
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
mov edx, dword [ebp - 0x11c]
mov eax, esi
mov byte [ebp - 4], 7
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10029b0e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x138]
mov edi, dword [ebp - 0x128]
cmp dword [eax - 0xc], 0
je 0x10029b4c
mov byte [edi + 0xd2], 1
lea edx, [eax - 0x10]
mov dword [ebp - 4], 0xffffffff
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x1002a554
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x1002a554
mov byte [edi + 0xd2], 0
call fcn.100093c0
mov ecx, eax
test ecx, ecx
je 0x1002a686
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x114], eax
push 0x100d85d4
lea ecx, [ebp - 0x114]
mov byte [ebp - 4], 8
call fcn.10019a90
test al, al
jne 0x10029c2d
push 0
push 0
push 0xffffffffffffffff
push 0x100d85d4
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea edx, [eax - 1]
mov dword [ebp - 0x118], edx
test edx, edx
jle 0x10029c22
mov eax, dword [ebp - 0x114]
mov ecx, 1
sub ecx, dword [eax - 4]
mov dword [ebp - 0x12c], ecx
mov ecx, dword [eax - 8]
sub ecx, edx
or ecx, dword [ebp - 0x12c]
jge 0x10029be9
push edx
lea ecx, [ebp - 0x114]
call fcn.1000a740
mov eax, dword [ebp - 0x114]
mov edx, dword [ebp - 0x118]
push edx
push eax
push 0xffffffffffffffff
push 0x100d85d4
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x118]
cmp ecx, dword [eax - 8]
jg 0x1002a677
mov dword [eax - 0xc], ecx
xor edx, edx
mov eax, dword [ebp - 0x114]
mov word [eax + ecx*2], dx
jmp 0x10029c2d
lea ecx, [ebp - 0x114]
call fcn.10008fb0
push 0xa
lea eax, [ebp - 0x58]
mov dword [ebp - 0x44], 0xf
push str.taskbar_id
push eax
mov byte [ebp - 0x58], 0
mov dword [ebp - 0x48], 0xa
call fcn.10092910
mov byte [ebp - 0x4e], 0
push 0xfde9
lea eax, [ebp - 0x114]
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0x120]
lea eax, [ebp - 0x130]
push eax
call fcn.10041ec0
add esp, 0x20
mov ecx, dword [eax]
lea edx, [edi + 0x20]
mov eax, dword [edx]
sub eax, 0x10
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x12c], edx
lea edi, [ecx - 0x10]
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x144], eax
cmp edi, eax
je 0x10029d65
cmp dword [eax + 0xc], 0
lea ecx, [eax + 0xc]
mov dword [ebp - 0x150], ecx
mov ecx, dword [ebp - 0x118]
jl 0x10029d5a
mov edx, dword [edi]
cmp edx, dword [eax]
jne 0x10029d54
mov eax, dword [edx]
mov ecx, edx
mov eax, dword [eax + 0x10]
call eax
cmp dword [edi + 0xc], 0
mov ecx, eax
lea eax, [edi + 0xc]
jl 0x10029ce7
cmp ecx, dword [edi]
jne 0x10029ce7
lock inc dword [eax]
jmp 0x10029d28
mov eax, dword [ecx]
lea edx, [edi + 4]
push 2
push dword [edx]
mov dword [ebp - 0x14c], edx
mov eax, dword [eax]
call eax
mov edi, eax
test edi, edi
je 0x1002a690
mov ecx, dword [ebp - 0x14c]
mov eax, dword [ecx]
mov dword [edi + 4], eax
mov eax, dword [ecx]
inc eax
add eax, eax
push eax
push dword [ebp - 0x118]
push eax
lea eax, [edi + 0x10]
push eax
call fcn.10014b90
add esp, 0x10
mov ecx, dword [ebp - 0x150]
mov eax, esi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x10029d47
mov edx, dword [ebp - 0x144]
push edx
mov ecx, dword [edx]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x12c]
lea eax, [edi + 0x10]
mov dword [ecx], eax
jmp 0x10029d65
mov edx, dword [ebp - 0x12c]
push dword [ecx - 0xc]
push ecx
mov ecx, edx
call fcn.1000aeb0
mov edx, dword [ebp - 0x130]
mov eax, esi
mov byte [ebp - 4], 0xa
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10029d86
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x44]
mov byte [ebp - 4], 9
cmp edx, 0x10
jb 0x10029dbe
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10029db4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002a695
push edx
push ecx
call fcn.10064ae7
add esp, 8
mov edx, dword [ebp - 0x114]
mov eax, esi
mov dword [ebp - 0x48], 0
add edx, 0xfffffff0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
mov byte [ebp - 4], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10029df1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0xd
lea eax, [ebp - 0x28]
mov dword [ebp - 0x14], 0xf
push str.taskbar_style
push eax
mov byte [ebp - 0x28], 0
mov dword [ebp - 0x18], 0xd
call fcn.10092910
mov byte [ebp - 0x1b], 0
push 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xc
push eax
push dword [ebp - 0x120]
call fcn.10041d60
mov edx, dword [ebp - 0x14]
add esp, 0x18
mov byte [ebp - 4], 7
mov edi, eax
cmp edx, 0x10
jb 0x10029e69
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10029e5f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002a69a
push edx
push ecx
call fcn.10064ae7
add esp, 8
xor eax, eax
mov dword [ebp - 0x118], eax
cmp edi, 3
ja case.default.0x10029e76
jmp dword [edi*4 + 0x1002a6e8]
xor eax, eax
mov dword [ebp - 0x118], eax
jmp case.default.0x10029e76
mov dword [ebp - 0x118], 2
jmp case.default.0x10029e76
mov dword [ebp - 0x118], 3
jmp case.default.0x10029e76
mov dword [ebp - 0x118], 4
call fcn.100093c0
mov ecx, eax
test ecx, ecx
je 0x1002a69f
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x114], eax
push str.FFFFFF
lea ecx, [ebp - 0x114]
mov byte [ebp - 4], 0xd
call fcn.10019a90
test al, al
jne 0x10029f40
push 0
push 0
push 0xffffffffffffffff
push str.FFFFFF
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea ecx, [ebp - 0x114]
lea edi, [eax - 1]
test edi, edi
jle 0x10029f3b
push edi
call fcn.1002ada0
push edi
push eax
push 0xffffffffffffffff
push str.FFFFFF
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x114]
cmp edi, dword [eax - 8]
jg 0x1002a677
mov dword [eax - 0xc], edi
xor ecx, ecx
mov eax, dword [ebp - 0x114]
mov word [eax + edi*2], cx
jmp 0x10029f40
call fcn.10008fb0
push 0x20
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.1000de10
movups xmm0, xmmword [str.taskbar_color_hex]
mov dword [ebp - 0x48], 0x11
mov dword [ebp - 0x44], 0x1f
movups xmmword [eax], xmm0
mov cl, byte [0x100d9414]
mov byte [eax + 0x10], cl
mov byte [eax + 0x11], 0
mov dword [ebp - 0x58], eax
push 0xfde9
lea eax, [ebp - 0x114]
mov byte [ebp - 4], 0xf
push eax
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0x120]
lea eax, [ebp - 0x140]
push eax
call fcn.10041ec0
add esp, 0x14
lea ecx, [ebp - 0x58]
call fcn.10008170
mov edx, dword [ebp - 0x114]
mov eax, esi
mov byte [ebp - 4], 0x12
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10029fda
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x100d9418
push 0x100d9420
lea ecx, [ebp - 0x140]
call fcn.1002ae80
push 0x10
lea eax, [ebp - 0x154]
push eax
push dword [ebp - 0x140]
call fcn.100a5cf9
movzx ecx, al
add esp, 0xc
shl ecx, 0x10
mov dword [ebp - 0x144], ecx
mov ecx, eax
and ecx, 0xff00
sar eax, 0x10
mov dword [ebp - 0x130], ecx
lea ecx, [ebp - 0x28]
push 0x20
movzx edi, al
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.1000de10
movups xmm0, xmmword [str.taskbar_color_alpha]
mov dword [ebp - 0x18], 0x13
mov dword [ebp - 0x14], 0x1f
movups xmmword [eax], xmm0
mov cx, word [0x100d9434]
mov word [eax + 0x10], cx
mov cl, byte [0x100d9436]
mov byte [eax + 0x12], cl
mov byte [eax + 0x13], 0
mov dword [ebp - 0x28], eax
push 0xff
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x13
push eax
push dword [ebp - 0x120]
call fcn.10041d60
add esp, 0xc
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.10008170
mov eax, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x118]
shl esi, 0x18
add esi, edi
mov edi, eax
add esi, dword [ebp - 0x130]
add esi, dword [ebp - 0x144]
mov dword [eax + 0xa4], ecx
neg ecx
lea eax, [edi + 0xb4]
mov dword [edi + 0xac], esi
sbb ecx, ecx
mov dword [edi + 0xb0], 0
and ecx, 2
mov dword [edi + 0xa8], ecx
mov ecx, edi
push eax
call fcn.1002b3c0
push 0xe
lea eax, [ebp - 0x28]
mov dword [ebp - 0x14], 0xf
push str.taskbar_layout
push eax
mov byte [ebp - 0x28], 0
mov dword [ebp - 0x18], 0xe
call fcn.10092910
mov byte [ebp - 0x1a], 0
mov esi, dword [ebp - 0x120]
lea eax, [ebp - 0x28]
push 0
push eax
push esi
mov byte [ebp - 4], 0x14
call fcn.10041d60
add esp, 0x18
mov dword [edi + 0xc0], eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x12
call fcn.10008170
call fcn.10032800
test eax, eax
je 0x1002a181
push str.taskbar_layout
lea ecx, [ebp - 0x28]
call fcn.10007d70
push 2
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x15
push eax
push esi
call fcn.10041d60
add esp, 0xc
mov dword [edi + 0xc0], eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x12
call fcn.10008170
mov ecx, edi
call fcn.1002b0e0
mov edx, dword [ebp - 0x140]
or esi, 0xffffffff
mov byte [ebp - 4], 7
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1002a1a5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x138]
mov eax, esi
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1002a1d9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x1002a1d9
lea eax, [edi + 0xb4]
mov ecx, edi
push eax
call fcn.1002b3c0
lea ecx, [ebp - 0x13c]
call fcn.10017950
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 0x16
push eax
push 0x18
push 0x10108adc
mov dword [ebp - 0x40], 0x5c005c
mov dword [ebp - 0x3c], 0x5c002e
mov dword [ebp - 0x38], 0x690070
mov dword [ebp - 0x34], 0x650070
mov dword [ebp - 0x30], 0x74005c
mov dword [ebp - 0x2c], 0x650068
mov dword [ebp - 0x28], 0x65006d
mov dword [ebp - 0x24], 0x780065
mov dword [ebp - 0x20], 0x650074
mov dword [ebp - 0x1c], 0x73006e
mov dword [ebp - 0x18], 0x6f0069
mov dword [ebp - 0x14], 0x6e
call fcn.1000b4b0
push 1
push 0
push 0x10108adc
lea ecx, [ebp - 0x13c]
call fcn.10017a30
cmp dword [edi + 0xa4], 0
mov byte [ebp - 0x10d], al
je 0x1002a4d4
test al, al
je 0x1002a4d4
call fcn.100093c0
mov ecx, eax
test ecx, ecx
je 0x1002a6a9
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
push 1
mov ecx, edi
mov byte [ebp - 4], 0x18
call fcn.1001c190
push dword [edi + 0xa8]
lea eax, [ebp - 0x138]
push dword [edi + 0xac]
push dword [edi + 0xa4]
push str._AccentState_:_d__GradientColor_:_d__AccentFlags_:_d
push eax
call fcn.10009090
mov esi, dword [ebp - 0x138]
lea eax, [ebp - 0x108]
add esp, 0x14
mov dword [ebp - 0x10c], eax
test esi, esi
jne 0x1002a305
xor eax, eax
mov dword [ebp - 0x10c], eax
jmp 0x1002a3f5
mov ecx, esi
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1002a310
sub ecx, edx
sar ecx, 1
push 0x80
lea eax, [ecx + 1]
lea edi, [eax*4]
mov dword [ebp - 0x12c], eax
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x10c]
push edi
push eax
call fcn.100072b0
add esp, 0x10
push 0
push 0
push edi
push dword [ebp - 0x10c]
mov edi, dword [ebp - 0x12c]
push edi
push esi
push 0
push 3
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
xor ecx, ecx
test eax, eax
sete cl
mov dword [ebp - 0x130], ecx
test eax, eax
jne 0x1002a3e1
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1002a3db
push 0
push 0
push 0
push 0
push edi
push esi
push 0
push 3
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edi, eax
lea eax, [ebp - 0x108]
push 0x80
push eax
lea eax, [ebp - 0x10c]
push edi
push eax
call fcn.100072b0
add esp, 0x10
push 0
push 0
push edi
push dword [ebp - 0x10c]
push dword [ebp - 0x12c]
push esi
push 0
push 3
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
jmp 0x1002a3e1
mov ecx, dword [ebp - 0x130]
test ecx, ecx
jne 0x1002a6b3
mov eax, dword [ebp - 0x10c]
mov edi, dword [ebp - 0x128]
push eax
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x19
call fcn.10007d70
push eax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x1a
push 6
push eax
call fcn.10031900
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x130], eax
add esp, 0xc
cmp ecx, eax
je 0x1002a44f
call fcn.10008170
mov eax, dword [ebp - 0x130]
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x70], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x60], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea ecx, [ebp - 0x28]
call fcn.10008170
lea ecx, [ebp - 0x58]
call fcn.10008170
mov eax, dword [ebp - 0x10c]
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x18
cmp eax, ecx
je 0x1002a47c
push eax
call fcn.1009676e
add esp, 4
cmp dword [ebp - 0x5c], 0x10
lea eax, [ebp - 0x70]
push dword [ebp - 0x60]
cmovae eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x13c]
push eax
call fcn.10018c70
lea ecx, [ebp - 0x13c]
mov byte [ebp - 0x10d], al
call fcn.10017c00
mov al, byte [ebp - 0x10d]
lea ecx, [ebp - 0x70]
mov byte [edi + 0x60], al
call fcn.10008170
mov byte [ebp - 4], 0x16
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x1002a4d4
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 0x121], 0
lea eax, [ebp - 0x134]
mov byte [ebp - 4], 0x1b
push eax
call fcn.1003a002
lea eax, [ebp - 0x134]
mov dword [ebp - 0x148], eax
lea eax, [ebp - 0x121]
mov dword [ebp - 0x144], eax
lea eax, [ebp - 0x148]
push eax
push 0x10007660
push 0x10108254
call fcn.1003a67b
add esp, 0x10
test eax, eax
je 0x1002a595
lea eax, [ebp - 0x134]
mov byte [ebp - 4], 0x1d
push eax
call fcn.1003a03c
mov ecx, dword [0x10108250]
add esp, 4
mov byte [ebp - 4], 0x16
call fcn.1002ff50
lea ecx, [ebp - 0x13c]
mov dword [ebp - 4], 0xffffffff
call fcn.10017960
cmp byte [edi + 0xd2], 0
je 0x1002a58d
push dword [ebp + 0x10]
mov ecx, edi
push dword [ebp + 0xc]
push dword [ebp - 0x120]
call fcn.1002a700
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10064e61
mov esp, ebp
pop ebp
ret 0xc
mov al, byte [ebp - 0x10d]
jmp 0x1002a570
lea eax, [ebp - 0x134]
mov byte [ebp - 4], 0x1e
push eax
call fcn.1003a05d
add esp, 4
mov byte [ebp - 4], 0x1c
test al, al
jne 0x1002a6d2
call fcn.1003a693
push 0x80004005
call fcn.10008920
push 0x80004005
call fcn.10008920
push 0x80004005
call fcn.10008920
push 0x80004005
call fcn.10008920
push 0x80004005
call fcn.10008920
push 0x80004005
call fcn.10008920
push 0x80004005
call fcn.10008920
push 0x80004005
call fcn.10008920
push 0x80004005
call fcn.10008920
push 0x80004005
call fcn.10008920
push 0x80004005
call fcn.10008920
push 0x80004005
call fcn.10008920
push 0x80004005
call fcn.10008920
push 0x80004005
call fcn.10008920
push 0x80004005
call fcn.10008920
push 0x80004005
call fcn.10008920
push 0x80004005
call fcn.10008920
push 0x80004005
call fcn.10008920
push 0x80004005
call fcn.10008920
push 0x80070057
call fcn.10008920
call fcn.100963a9
push 0x80004005
call fcn.10008920
inc eax
add byte [eax - 0x21d6f18], al
invalid
call fcn.1000b520
call fcn.100963a9
call fcn.100963a9
push 0x80004005
call fcn.10008920
push 0x80004005
call fcn.10008920
push 0x80
lea eax, [ebp - 0x108]
push eax
push dword [ebp - 0x10c]
call fcn.100073b0
add esp, 0xc
call fcn.10008940
sub esp, 8
lea eax, [ebp - 0x134]
mov ecx, esp
push eax
call fcn.100080b0
call fcn.1000c770
jge 0x1002a688
add dl, byte [eax]
xchg dword [esi - 0x616ceffe], ebx
add dl, byte [eax]
lahf
sahf
add dl, byte [eax]
int3