Function at 0x4100b0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
mov ebx, dword [ebp + 8]
cmp byte [ebx + 0xa42bd], 0
push esi
push edi
jne 0x4103fd
mov al, byte [ebx + 0xa427c]
test al, al
je 0x4100ea
cmp byte [ebx + 0xa427d], 0
je 0x4103fd
mov cl, byte [ebx + 0xa427c]
test cl, cl
jne 0x4100e0
lea esi, [ebx + 0x2f4]
mov byte [ebx + 0xa427d], 0
call fcn.00443e20
test eax, eax
setne al
mov byte [ebx + 0xa427e], al
test al, al
je 0x410365
call fcn.00443e20
cmp eax, 1
jne 0x4103fd
cmp byte [ebx + 0xa3e8d], 0
mov dl, byte [ebx + 0xa4068]
mov al, byte [ebx + 0xa3e58]
mov byte [ebp + 8], dl
mov byte [ebp - 4], al
jne 0x410140
test al, al
je 0x41035e
cmp byte [ebx + 0xa3e8c], 0
jne 0x410151
test al, al
jne 0x41035e
mov eax, dword [ebx + 0x314]
mov dword [ebp - 8], eax
lea ebx, [ebx]
mov cl, byte [ebx + 0xa427c]
test cl, cl
jne 0x410160
lea esi, [ebx + 0x368]
mov edi, 7
mov eax, esi
call fcn.00444510
add esi, 0x254
dec edi
jne 0x410175
lea esi, [ebx + 0x13b4]
mov edi, 0x32
push esi
call fcn.0043e6b0
add esi, 0x290
dec edi
jne 0x410190
lea esi, [ebx + 0x93d4]
mov edi, 6
lea ebx, [ebx]
mov eax, esi
call fcn.00445540
add esi, 8
dec edi
jne 0x4101b0
lea eax, [ebx + 0x9408]
call fcn.00447960
lea esi, [ebx + 0xb154]
mov edi, 0x14
push esi
call fcn.0043e6b0
add esi, 0x290
dec edi
jne 0x4101d3
lea edx, [ebx + 0xe6f8]
push edx
call fcn.0043e6b0
lea esi, [ebx + 0x2f4]
call fcn.00443ba0
cmp byte [ebp - 4], 0
je 0x410211
cmp byte [ebp + 8], 0
je 0x410211
mov dword [ebx + 0x31c], 1
jmp 0x41021b
mov dword [ebx + 0x31c], 0
push str.dwmapi.dll
call dword [0x489090]
mov edi, eax
test edi, edi
je 0x41025a
push str.DwmEnableComposition
push edi
call dword [0x4890a0]
test eax, eax
je 0x410253
cmp byte [ebp - 4], 0
jne 0x410246
push 0
jmp 0x410251
cmp byte [ebx + 0xa42c0], 0
je 0x410253
push 1
call eax
push edi
call dword [0x4890ac]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
push eax
push esi
call fcn.00443750
test al, al
je 0x41035e
mov al, byte [ebp - 4]
mov byte [ebx + 0xa3e58], al
test al, al
jne 0x410285
mov dl, 1
mov eax, esi
call fcn.00443de0
lea esi, [ebx + 0x368]
mov edi, 7
lea edx, [ebx + 0x2f4]
mov ecx, esi
call fcn.00444e70
add esi, 0x254
dec edi
jne 0x410290
lea esi, [ebx + 0x13b4]
mov edi, 0x32
lea eax, [ebx + 0x2f4]
mov ecx, esi
call fcn.004401d0
add esi, 0x290
dec edi
jne 0x4102b1
lea esi, [ebx + 0x93d4]
mov edi, 6
lea eax, [ebx + 0x2f4]
push eax
mov eax, esi
call fcn.004455f0
add esi, 8
dec edi
jne 0x4102d2
lea eax, [ebx + 0xb154]
push eax
lea eax, [ebx + 0x2f4]
call fcn.0043b670
mov edx, dword [ebx + 0x21c]
mov eax, dword [edx + 0x48]
lea ecx, [ebx + 0x21c]
call eax
mov edx, dword [ebx + 0x21c]
mov eax, dword [edx + 0x4c]
lea ecx, [ebx + 0x21c]
call eax
mov esi, dword [0x489360]
push str.normal.cur
mov dword [ebx + 0x9814], edi
call esi
push str.push.cur
mov dword [ebx + 0x9808], eax
call esi
push str.cross.cur
mov dword [ebx + 0x980c], eax
call esi
lea edx, [ebx + 0x2f4]
lea ecx, [ebx + 0x9408]
mov dword [ebx + 0x9810], eax
call fcn.004479a0
mov byte [ebx + 0xa427e], 0
mov ecx, dword [ebx + 0xb0cc]
push ebx
mov dword [ebx + 0xa4288], ecx
call fcn.0040f1c0
mov dl, byte [ebx + 0x96d9]
xor esi, esi
mov eax, ebx
mov byte [ebx + 0xa428c], dl
mov dword [ebx + 0xa4290], esi
mov dword [ebx + 0xa4298], 0x320
mov dword [ebx + 0xa4294], esi
mov dword [ebx + 0xa429c], 0x258
mov dword [ebx + 0xa42a0], 0xff00ff
call fcn.00418850
test al, al
jne 0x4103c6
mov edi, 0x49c344
mov eax, ebx
call fcn.004388d0
push ebx
push esi
push 0x40da50
mov byte [ebx + 0xa427c], 1
call fcn.00454f5a
add esp, 0xc
mov dword [ebx + 0xa4284], eax
cmp eax, 0xffffffff
jne 0x4103f7
mov byte [ebx + 0xa427c], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
inc dword [ebx + 0xb0e4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4