Function at 0x557240
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x64ef08
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x54
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov dword [ebp - 0x14], esi
mov dword [esi], 0x6632c8
mov eax, dword [0x6fd0cc]
cmp eax, ebx
mov dword [ebp - 0x10], esp
mov dword [ebp - 4], ebx
jne 0x557290
push str.dwmapi.dll
call fcn.0044abc0
add esp, 4
cmp eax, ebx
mov dword [0x6fd0cc], eax
je 0x5572b7
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.DwmIsCompositionEnabled
push eax
call edi
mov dword [0x6fd0c8], eax
mov eax, dword [0x6fd0cc]
push str.DwmSetWindowAttribute
push eax
call edi
mov dword [0x6fd0d4], eax
jmp 0x5572bd
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov eax, dword [0x6fd0d0]
cmp eax, ebx
jne 0x5572dc
push str.UxTheme.dll
call fcn.0044abc0
add esp, 4
cmp eax, ebx
mov dword [0x6fd0d0], eax
je 0x557334
push str.OpenThemeData
push eax
call edi
mov ecx, dword [0x6fd0d0]
push str.CloseThemeData
push ecx
mov dword [0x6fd0b4], eax
call edi
mov edx, dword [0x6fd0d0]
push str.DrawThemeBackground
push edx
mov dword [0x6fd0b8], eax
call edi
mov dword [0x6fd0bc], eax
mov eax, dword [0x6fd0d0]
push str.GetThemeSysFont
push eax
call edi
mov ecx, dword [0x6fd0d0]
push str.DrawThemeTextEx
push ecx
mov dword [0x6fd0c0], eax
call edi
mov dword [0x6fd0c4], eax
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], ebx
mov dword [esi + 0x38], ebx
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x40], ebx
mov dword [esi + 0x44], ebx
mov dword [esi + 0x4c], 0x14
mov edx, dword [0x6fcad4]
neg edx
sbb edx, edx
and edx, 0xfffffffb
add edx, 0x1f
mov dword [esi + 0x48], edx
mov eax, dword [0x6fcad4]
neg eax
sbb eax, eax
and al, 0xeb
add eax, 0x2f
mov dword [esi + 0x50], eax
mov ecx, dword [0x6fcad4]
neg ecx
sbb ecx, ecx
and ecx, 0xfffffff7
add ecx, 0x1d
mov dword [esi + 0x54], ecx
mov ecx, dword [0x6fcad4]
mov eax, ecx
neg eax
sbb eax, eax
and al, 0xeb
add eax, 0x2f
neg ecx
sbb ecx, ecx
and ecx, 0xfffffffb
add ecx, 0x1f
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [esi + 0x58], eax
mov edx, dword [0x6fcad4]
neg edx
sbb edx, edx
and edx, 0xfffffffc
add edx, 0xc
mov dword [esi + 0x5c], edx
mov eax, dword [0x6fcad4]
neg eax
sbb eax, eax
mov edx, dword [ebp + 8]
and al, 0xfd
push edx
add eax, 5
mov dword [esi + 0x60], eax
mov ecx, dword [0x6fcad4]
neg ecx
sbb ecx, ecx
and ecx, 2
add ecx, 8
mov dword [esi + 0x64], ecx
mov ecx, esi
call fcn.00558630
lea eax, [esi + 0x68]
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 6
mov ecx, dword [eax]
mov dword [ebp - 0x34], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x30], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x2c], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x28], edx
call edi
shl eax, 1
mov edx, eax
push 4
mov dword [ebp - 0x18], edx
call edi
mov edi, eax
mov eax, dword [ebp - 0x18]
neg edi
push 5
sub edi, eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, eax
or eax, 0xffffffff
sub eax, ecx
push edi
shl eax, 1
lea edx, [ebp - 0x34]
push eax
push edx
call dword [sym.imp.USER32.dll_OffsetRect]
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
lea eax, [esi + 0x94]
mov dword [esi + 0x94], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 8], ecx
mov ecx, dword [ebp + 8]
push ecx
mov dword [eax + 0xc], edx
mov eax, dword [ebp + 0xc]
mov dword [esi + 0xa8], eax
call fcn.00623b6b
mov edx, dword [ebp + 0x14]
mov edi, dword [ebp + 0x10]
lea ecx, [ebp - 0x34]
push edx
push ecx
mov ecx, dword [esi + 0xa8]
push edi
push eax
call fcn.00620068
cmp dword [0x6fca98], ebx
je 0x5575c6
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x1c], ebx
mov word [ebp - 0x20], bx
mov edx, dword [0x6fca90]
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 1
mov dword [ebp - 0x18], edx
call fcn.00401070
cmp edi, ebx
je 0x557522
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x557522
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp - 0x18]
push ebx
push ebx
push 0xffffffffffffffff
push eax
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, ebx
mov dword [ebp - 0x1c], eax
je 0x557522
lea ecx, [eax + eax + 2]
push ecx
call fcn.00622acb
add esp, 4
cmp eax, ebx
mov dword [ebp - 0x24], eax
je 0x557529
mov edx, dword [ebp - 0x1c]
push edx
push eax
mov eax, dword [ebp + 0x10]
push 0xffffffffffffffff
push eax
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x24]
cmp eax, ebx
jne 0x55752c
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp + 0xc]
call fcn.00622e4a
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
mov dl, byte [edi]
mov cl, dl
cmp dl, byte [eax]
jne 0x55755f
cmp cl, bl
je 0x55755b
mov dl, byte [edi + 1]
mov cl, dl
cmp dl, byte [eax + 1]
jne 0x55755f
add edi, 2
add eax, 2
cmp cl, bl
jne 0x55753b
xor eax, eax
jmp 0x557564
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x5575b3
mov ecx, 0xb
xor eax, eax
lea edi, [ebp - 0x60]
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x24]
cmp eax, ebx
mov dword [ebp - 0x60], 0x2c
mov dword [ebp - 0x54], ecx
je 0x557593
mov dword [ebp - 0x3c], eax
jmp 0x557599
lea edx, [ebp - 0x20]
mov dword [ebp - 0x3c], edx
mov ecx, dword [esi + 0xa8]
lea eax, [ebp - 0x60]
push eax
push ebx
mov edx, dword [ecx + 0x1c]
push 0x439
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
lea ecx, [ebp + 0xc]
call fcn.00622d8a
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], bl
call fcn.00401070
push 0x1e
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x1f
mov edi, eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
lea ecx, [edi - 5]
mov edx, 8
add eax, 0xfffffffb
cmp ecx, edx
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], eax
jle 0x5575f9
mov dword [esi + 0x8c], edx
cmp eax, edx
jle 0x557603
mov dword [esi + 0x90], edx
call fcn.006304b0
mov ecx, dword [esi + 0x90]
mov edx, dword [esi + 0x8c]
mov eax, dword [eax + 8]
mov edi, dword [sym.imp.USER32.dll_LoadImageA]
push ebx
push ecx
mov ecx, dword [ebp + 0x18]
push edx
and ecx, 0xffff
push 1
push ecx
push eax
call edi
mov dword [esi + 8], eax
mov eax, dword [0x6fcacc]
cmp eax, ebx
je 0x557657
call fcn.006304b0
mov eax, dword [eax + 8]
push ebx
push 0x10
push 0x10
push 1
push 0x80
push eax
call edi
mov dword [esi + 0xc], eax
jmp 0x55765a
mov dword [esi + 0xc], ebx
mov edx, dword [ebp + 0x14]
mov byte [esi + 4], bl
mov dword [esi + 0x88], edx
mov byte [esi + 5], 1
cmp dword [0x6fcacc], ebx
je 0x5576c5
mov eax, dword [0x6fd0d4]
cmp eax, ebx
je 0x5576c5
cmp dword [0x6fd0b4], ebx
je 0x5576c5
cmp dword [0x6fd0b8], ebx
je 0x5576c5
cmp dword [0x6fd0c0], ebx
je 0x5576c5
cmp dword [0x6fd0c4], ebx
je 0x5576c5
mov edx, dword [ebp + 8]
lea ecx, [ebp + 0x10]
push 4
push ecx
push 4
push edx
mov byte [ebp - 4], 2
mov dword [ebp + 0x10], 1
call eax
jmp 0x5576c5
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x14