Function at 0x40d670
Capabilities:
Capture screenshot
Check os version
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1558
call fcn.0041ef90
push ebx
push esi
push edi
lea edi, [ebp - 0xf58]
mov ecx, 0x3d6
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [0x45e034]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, 0xae703a
call fcn.0041ea00
mov esi, esp
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_GetDC]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x30], 1
push 0x208
push 0
lea eax, [ebp - 0x240]
push eax
call fcn.00420f80
add esp, 0xc
push 0x208
push 0
lea eax, [ebp - 0x450]
push eax
call fcn.00420f80
add esp, 0xc
push 0x208
push 0
lea eax, [ebp - 0x660]
push eax
call fcn.00420f80
add esp, 0xc
mov esi, esp
push 0x200
lea eax, [ebp - 0xa68]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [0x45eb70]
push edx
call dword [sym.imp.USER32.dll_LoadStringW]
cmp esi, esp
call fcn.0041e9d0
test eax, eax
jne 0x40d753
mov esi, esp
push 0x10
push 0x44c3bc
push str.Error_loading_resource
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp esi, esp
call fcn.0041e9d0
lea eax, [ebp - 0xa68]
push eax
call fcn.00425f60
add esp, 4
mov dword [ebp - 0xa74], eax
mov dword [ebp - 0xa8c], 0
mov dword [ebp - 0xa88], 0
mov dword [ebp - 0xa84], 0xb5
mov dword [ebp - 0xa80], 0x19
mov dword [ebp - 0xaa4], 0x1e
mov dword [ebp - 0xaa0], 6
mov dword [ebp - 0xa9c], 0xb5
mov dword [ebp - 0xa98], 0x19
mov dword [ebp - 0xabc], 2
mov dword [ebp - 0xab8], 1
mov dword [ebp - 0xab4], 0x14
mov dword [ebp - 0xab0], 0x86
mov dword [ebp - 0xad4], 0
mov dword [ebp - 0xad0], 0
mov dword [ebp - 0xacc], 0x10
mov dword [ebp - 0xac8], 0x18
mov esi, esp
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0xae0], eax
mov esi, esp
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0xaec], eax
mov esi, esp
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0xaf8], eax
mov esi, esp
mov eax, dword [ebp - 0xa80]
push eax
mov ecx, dword [ebp - 0xa84]
push ecx
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0xb04], eax
mov esi, esp
mov eax, dword [ebp - 0xb04]
push eax
mov ecx, dword [ebp - 0xae0]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0xb10], eax
mov dword [ebp - 0xb34], 0
mov esi, esp
push 0x104
lea eax, [ebp - 0x240]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
cmp esi, esp
call fcn.0041e9d0
test eax, eax
jne 0x40d8ea
mov esi, esp
push 0x10
push 0x44c3bc
push str.Cannot_locate_OS_installation_directory
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x30], 0
cmp dword [ebp + 0x18], 0x476
jne 0x40db23
push str.ReactOS
lea eax, [ebp - 0x240]
push eax
call fcn.0041e0a0
add esp, 8
mov dword [ebp - 0xb40], eax
cmp dword [ebp - 0xb40], 0
je 0x40d921
mov dword [ebp - 0x18], 1
push 0x11c
push 0
lea eax, [ebp - 0xe64]
push eax
call fcn.00420f80
add esp, 0xc
mov dword [ebp - 0xe64], 0x11c
mov esi, esp
lea eax, [ebp - 0xe64]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp esi, esp
call fcn.0041e9d0
cmp dword [ebp - 0x18], 1
jne 0x40d9ec
push str.System32_shell32.dll
push 0x104
lea eax, [ebp - 0x450]
push eax
call fcn.00425800
add esp, 0xc
lea eax, [ebp - 0x240]
push eax
push 0x104
lea ecx, [ebp - 0x660]
push ecx
call fcn.004254c0
add esp, 0xc
lea eax, [ebp - 0x450]
push eax
push 0x104
lea ecx, [ebp - 0x660]
push ecx
call fcn.004254c0
add esp, 0xc
lea eax, [ebp - 0x660]
push eax
call fcn.0041dfa0
add esp, 4
test eax, eax
jne 0x40d9e7
mov esi, esp
push 0x10
push 0x44c3bc
push str.File_not_found:_shell32.dll_.
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x30], 0
jmp 0x40db1e
cmp dword [ebp - 0xe60], 6
jb 0x40da8e
mov dword [ebp - 0xb34], 1
push str.System32imageres.dll
push 0x104
lea eax, [ebp - 0x450]
push eax
call fcn.00425800
add esp, 0xc
lea eax, [ebp - 0x240]
push eax
push 0x104
lea ecx, [ebp - 0x660]
push ecx
call fcn.004254c0
add esp, 0xc
lea eax, [ebp - 0x450]
push eax
push 0x104
lea ecx, [ebp - 0x660]
push ecx
call fcn.004254c0
add esp, 0xc
lea eax, [ebp - 0x660]
push eax
call fcn.0041dfa0
add esp, 4
test eax, eax
jne 0x40da89
mov esi, esp
push 0x10
push 0x44c3bc
push str.File_not_found:_imageres.dll_.
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x30], 0
jmp 0x40db1e
mov dword [ebp - 0xb34], 0
push str.System32moricons.dll
push 0x104
lea eax, [ebp - 0x450]
push eax
call fcn.00425800
add esp, 0xc
lea eax, [ebp - 0x240]
push eax
push 0x104
lea ecx, [ebp - 0x660]
push ecx
call fcn.004254c0
add esp, 0xc
lea eax, [ebp - 0x450]
push eax
push 0x104
lea ecx, [ebp - 0x660]
push ecx
call fcn.004254c0
add esp, 0xc
lea eax, [ebp - 0x660]
push eax
call fcn.0041dfa0
add esp, 4
test eax, eax
jne 0x40db1e
mov esi, esp
push 0x10
push 0x44c3bc
push str.File_not_found:_moricons.dll_.
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x30], 0
jmp 0x40dbd3
push str.ReactOS
lea eax, [ebp - 0x240]
push eax
call fcn.0041e0a0
add esp, 8
mov dword [ebp - 0xe70], eax
cmp dword [ebp - 0xe70], 0
je 0x40db4d
mov dword [ebp - 0x18], 1
push str.System32_shell32.dll
push 0x104
lea eax, [ebp - 0x450]
push eax
call fcn.00425800
add esp, 0xc
lea eax, [ebp - 0x240]
push eax
push 0x104
lea ecx, [ebp - 0x660]
push ecx
call fcn.004254c0
add esp, 0xc
lea eax, [ebp - 0x450]
push eax
push 0x104
lea ecx, [ebp - 0x660]
push ecx
call fcn.004254c0
add esp, 0xc
lea eax, [ebp - 0x660]
push eax
call fcn.0041dfa0
add esp, 4
test eax, eax
jne 0x40dbd3
mov esi, esp
push 0x10
push 0x44c3bc
push str.File_not_found:_shell32.dll_.
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x30], 0
cmp dword [0xae53ec], 1
jne 0x40e829
mov esi, esp
push str.StartPanel
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.UxTheme.dll_OpenThemeData]
cmp esi, esp
call fcn.0041e9d0
mov dword [0x45e8a4], eax
mov eax, dword [ebp + 0xc]
cmp dword [eax*4 + 0x45e92c], 1
jne 0x40e0aa
mov esi, esp
push 0xd
call dword [sym.imp.USER32.dll_GetSysColor]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0xb28], eax
mov esi, esp
mov eax, dword [ebp - 0xb28]
push eax
lea ecx, [ebp - 0xa8c]
push ecx
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.USER32.dll_FillRect]
cmp esi, esp
call fcn.0041e9d0
test eax, eax
jne 0x40dc77
mov esi, esp
push 0x10
push 0x44c3bc
push str.Button_Creation_Failed.
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp esi, esp
call fcn.0041e9d0
cmp dword [ebp + 0x18], 0x476
jne 0x40de55
cmp dword [ebp - 0x30], 1
jne 0x40de50
cmp dword [ebp - 0x18], 1
jne 0x40dd28
mov esi, esp
push 0x6a
lea eax, [ebp - 0x660]
push eax
mov ecx, dword [0x45e89c]
push ecx
call dword [sym.imp.SHELL32.dll_ExtractIconW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x24], eax
mov esi, esp
push 3
push 0
push 0
push 0x17
push 0x17
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xabc]
push ecx
mov edx, dword [ebp - 0xab8]
push edx
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
jmp 0x40de50
cmp dword [ebp - 0xb34], 1
jne 0x40ddc5
mov esi, esp
push 0x13
lea eax, [ebp - 0x660]
push eax
mov ecx, dword [0x45e89c]
push ecx
call dword [sym.imp.SHELL32.dll_ExtractIconW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x24], eax
mov esi, esp
push 3
push 0
push 0
push 0x17
push 0x17
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xabc]
push ecx
mov edx, dword [ebp - 0xab8]
push edx
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
jmp 0x40de50
mov esi, esp
push 0x71
lea eax, [ebp - 0x660]
push eax
mov ecx, dword [0x45e89c]
push ecx
call dword [sym.imp.SHELL32.dll_ExtractIconW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x24], eax
mov esi, esp
push 3
push 0
push 0
push 0x17
push 0x17
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xabc]
push ecx
mov edx, dword [ebp - 0xab8]
push edx
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
jmp 0x40df88
cmp dword [ebp - 0x30], 1
jne 0x40df88
cmp dword [ebp - 0x18], 1
jne 0x40defb
mov esi, esp
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0x660]
push ecx
mov edx, dword [0x45e89c]
push edx
call dword [sym.imp.SHELL32.dll_ExtractIconW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x24], eax
mov esi, esp
push 3
push 0
push 0
push 0x17
push 0x17
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xabc]
push ecx
mov edx, dword [ebp - 0xab8]
push edx
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
jmp 0x40df88
mov esi, esp
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x660]
push ecx
mov edx, dword [0x45e89c]
push edx
call dword [sym.imp.SHELL32.dll_ExtractIconW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x24], eax
mov esi, esp
push 3
push 0
push 0
push 0x17
push 0x17
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xabc]
push ecx
mov edx, dword [ebp - 0xab8]
push edx
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push 1
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.GDI32.dll_SetBkMode]
cmp esi, esp
call fcn.0041e9d0
cmp dword [ebp + 0x20], 1
jne 0x40dfb0
call fcn.0041cc00
mov dword [ebp - 0xe7c], eax
jmp 0x40dfbb
call fcn.0041cab0
mov dword [ebp - 0xe7c], eax
mov esi, esp
mov eax, dword [ebp - 0xe7c]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
lea eax, [ebp - 0xaa4]
push eax
push 0
push 0
mov ecx, dword [ebp - 0xa74]
push ecx
lea edx, [ebp - 0xa68]
push edx
push 0
push 6
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [0x45e8a4]
push ecx
call dword [sym.imp.UxTheme.dll_DrawThemeText]
cmp esi, esp
call fcn.0041e9d0
cmp dword [ebp + 0x1c], 1
jne 0x40e04f
mov dword [ebp - 0xe94], 0xaa
mov dword [ebp - 0xe90], 5
mov dword [ebp - 0xe8c], 0xb9
mov dword [ebp - 0xe88], 0x14
push 1
lea eax, [ebp - 0xe94]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.0040ad80
add esp, 0xc
mov esi, esp
mov eax, dword [ebp - 0xe7c]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xb28]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xe7c]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
jmp 0x40e80f
mov dword [ebp - 0xeac], 0xcd
mov dword [ebp - 0xea8], 9
mov dword [ebp - 0xea4], 0x190
mov dword [ebp - 0xea0], 0x26
mov esi, esp
mov eax, dword [ebp - 0xea0]
push eax
mov ecx, dword [ebp - 0xea4]
push ecx
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0xeb8], eax
mov esi, esp
mov eax, dword [ebp - 0xeb8]
push eax
mov ecx, dword [ebp - 0xaf8]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0xec4], eax
mov dword [ebp - 0xed0], 0
mov esi, esp
push 0
lea eax, [ebp - 0xeac]
push eax
push 0
push 6
mov ecx, dword [ebp - 0xaf8]
push ecx
mov edx, dword [0x45e8a4]
push edx
call dword [sym.imp.UxTheme.dll_DrawThemeBackground]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
lea eax, [ebp - 0xec4]
push eax
push 4
mov ecx, dword [ebp - 0xed0]
push ecx
call dword [sym.imp.GDI32.dll_GetObjectW]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xed0]
push eax
mov ecx, dword [ebp - 0xaf8]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0xb1c], eax
mov esi, esp
push 0xcc0020
push 0xc
push 0xcf
mov eax, dword [ebp - 0xaf8]
push eax
mov ecx, dword [ebp - 0xa80]
push ecx
mov edx, dword [ebp - 0xa84]
push edx
push 0
push 0
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
cmp esi, esp
call fcn.0041e9d0
cmp dword [ebp + 0x18], 0x476
jne 0x40e3a8
cmp dword [ebp - 0x30], 1
jne 0x40e3a3
cmp dword [ebp - 0x18], 1
jne 0x40e27b
mov esi, esp
push 0x6a
lea eax, [ebp - 0x660]
push eax
mov ecx, dword [0x45e89c]
push ecx
call dword [sym.imp.SHELL32.dll_ExtractIconW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x24], eax
mov esi, esp
push 3
push 0
push 0
push 0x17
push 0x17
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xabc]
push ecx
mov edx, dword [ebp - 0xab8]
push edx
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
jmp 0x40e3a3
cmp dword [ebp - 0xb34], 1
jne 0x40e318
mov esi, esp
push 0x13
lea eax, [ebp - 0x660]
push eax
mov ecx, dword [0x45e89c]
push ecx
call dword [sym.imp.SHELL32.dll_ExtractIconW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x24], eax
mov esi, esp
push 3
push 0
push 0
push 0x17
push 0x17
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xabc]
push ecx
mov edx, dword [ebp - 0xab8]
push edx
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
jmp 0x40e3a3
mov esi, esp
push 0x71
lea eax, [ebp - 0x660]
push eax
mov ecx, dword [0x45e89c]
push ecx
call dword [sym.imp.SHELL32.dll_ExtractIconW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x24], eax
mov esi, esp
push 3
push 0
push 0
push 0x17
push 0x17
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xabc]
push ecx
mov edx, dword [ebp - 0xab8]
push edx
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
jmp 0x40e4db
cmp dword [ebp - 0x30], 1
jne 0x40e4db
cmp dword [ebp - 0x18], 1
jne 0x40e44e
mov esi, esp
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0x660]
push ecx
mov edx, dword [0x45e89c]
push edx
call dword [sym.imp.SHELL32.dll_ExtractIconW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x24], eax
mov esi, esp
push 3
push 0
push 0
push 0x17
push 0x17
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xabc]
push ecx
mov edx, dword [ebp - 0xab8]
push edx
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
jmp 0x40e4db
mov esi, esp
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x660]
push ecx
mov edx, dword [0x45e89c]
push edx
call dword [sym.imp.SHELL32.dll_ExtractIconW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x24], eax
mov esi, esp
push 3
push 0
push 0
push 0x17
push 0x17
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xabc]
push ecx
mov edx, dword [ebp - 0xab8]
push edx
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push 1
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.GDI32.dll_SetBkMode]
cmp esi, esp
call fcn.0041e9d0
cmp dword [ebp + 0x20], 1
jne 0x40e503
call fcn.0041cc00
mov dword [ebp - 0xedc], eax
jmp 0x40e50e
call fcn.0041cab0
mov dword [ebp - 0xedc], eax
mov esi, esp
mov eax, dword [ebp - 0xedc]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
lea eax, [ebp - 0xaa4]
push eax
push 0
push 0
mov ecx, dword [ebp - 0xa74]
push ecx
lea edx, [ebp - 0xa68]
push edx
push 0
push 6
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [0x45e8a4]
push ecx
call dword [sym.imp.UxTheme.dll_DrawThemeText]
cmp esi, esp
call fcn.0041e9d0
cmp dword [ebp + 0x1c], 1
jne 0x40e5a2
mov dword [ebp - 0xef4], 0xaa
mov dword [ebp - 0xef0], 5
mov dword [ebp - 0xeec], 0xb9
mov dword [ebp - 0xee8], 0x14
push 1
lea eax, [ebp - 0xef4]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.0040ad80
add esp, 0xc
mov esi, esp
mov eax, dword [ebp - 0xedc]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xedc]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xeb8]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xec4]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xed0]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xb04]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xb10]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xb04]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xb10]
push eax
mov ecx, dword [ebp - 0xae0]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xeb8]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xec4]
push eax
mov ecx, dword [ebp - 0xaf8]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xed0]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xb1c]
push eax
mov ecx, dword [ebp - 0xaf8]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xaf8]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xae0]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xaec]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xaf8]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xae0]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xaec]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [0x45e8a4]
push eax
call dword [sym.imp.UxTheme.dll_CloseThemeData]
cmp esi, esp
call fcn.0041e9d0
jmp 0x40f19e
mov dword [ebp - 0xf0c], 0
mov dword [ebp - 0xf08], 0
mov dword [ebp - 0xf04], 0xb4
mov dword [ebp - 0xf00], 0x1e
mov eax, dword [ebp + 0xc]
cmp dword [eax*4 + 0x45e92c], 1
jne 0x40ed11
mov esi, esp
push 0x1d
call dword [sym.imp.USER32.dll_GetSysColor]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0xb28], eax
mov esi, esp
mov eax, dword [ebp - 0xb28]
push eax
lea ecx, [ebp - 0xf0c]
push ecx
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.USER32.dll_FillRect]
cmp esi, esp
call fcn.0041e9d0
test eax, eax
jne 0x40e8cb
mov esi, esp
push 0x10
push 0x44c3bc
push str.Button_Creation_Failed.
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp esi, esp
call fcn.0041e9d0
cmp dword [ebp + 0x18], 0x476
jne 0x40eaa9
cmp dword [ebp - 0x30], 1
jne 0x40eaa4
cmp dword [ebp - 0x18], 1
jne 0x40e97c
mov esi, esp
push 0x6a
lea eax, [ebp - 0x660]
push eax
mov ecx, dword [0x45e89c]
push ecx
call dword [sym.imp.SHELL32.dll_ExtractIconW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x24], eax
mov esi, esp
push 3
push 0
push 0
push 0x17
push 0x17
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xabc]
push ecx
mov edx, dword [ebp - 0xab8]
push edx
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
jmp 0x40eaa4
cmp dword [ebp - 0xb34], 1
jne 0x40ea19
mov esi, esp
push 0x13
lea eax, [ebp - 0x660]
push eax
mov ecx, dword [0x45e89c]
push ecx
call dword [sym.imp.SHELL32.dll_ExtractIconW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x24], eax
mov esi, esp
push 3
push 0
push 0
push 0x17
push 0x17
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xabc]
push ecx
mov edx, dword [ebp - 0xab8]
push edx
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
jmp 0x40eaa4
mov esi, esp
push 0x71
lea eax, [ebp - 0x660]
push eax
mov ecx, dword [0x45e89c]
push ecx
call dword [sym.imp.SHELL32.dll_ExtractIconW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x24], eax
mov esi, esp
push 3
push 0
push 0
push 0x17
push 0x17
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xabc]
push ecx
mov edx, dword [ebp - 0xab8]
push edx
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
jmp 0x40ebdc
cmp dword [ebp - 0x30], 1
jne 0x40ebdc
cmp dword [ebp - 0x18], 1
jne 0x40eb4f
mov esi, esp
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0x660]
push ecx
mov edx, dword [0x45e89c]
push edx
call dword [sym.imp.SHELL32.dll_ExtractIconW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x24], eax
mov esi, esp
push 3
push 0
push 0
push 0x17
push 0x17
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xabc]
push ecx
mov edx, dword [ebp - 0xab8]
push edx
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
jmp 0x40ebdc
mov esi, esp
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x660]
push ecx
mov edx, dword [0x45e89c]
push edx
call dword [sym.imp.SHELL32.dll_ExtractIconW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x24], eax
mov esi, esp
push 3
push 0
push 0
push 0x17
push 0x17
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xabc]
push ecx
mov edx, dword [ebp - 0xab8]
push edx
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xb28]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push 1
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.GDI32.dll_SetBkMode]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push 0xe
call dword [sym.imp.USER32.dll_GetSysColor]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.GDI32.dll_SetTextColor]
cmp esi, esp
call fcn.0041e9d0
cmp dword [ebp + 0x20], 1
jne 0x40ec3f
call fcn.0041cc00
mov dword [ebp - 0xf18], eax
jmp 0x40ec4a
call fcn.0041cab0
mov dword [ebp - 0xf18], eax
mov esi, esp
mov eax, dword [ebp - 0xf18]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xa74]
push eax
lea ecx, [ebp - 0xa68]
push ecx
push 0xa
push 0x23
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.GDI32.dll_TextOutW]
cmp esi, esp
call fcn.0041e9d0
cmp dword [ebp + 0x1c], 1
jne 0x40eccc
mov dword [ebp - 0xf30], 0xaa
mov dword [ebp - 0xf2c], 9
mov dword [ebp - 0xf28], 0xb9
mov dword [ebp - 0xf24], 0x18
push 1
lea eax, [ebp - 0xf30]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.0040ad80
add esp, 0xc
mov esi, esp
mov eax, dword [ebp - 0xf18]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xf18]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
jmp 0x40f19e
mov dword [ebp - 0xb28], 5
mov esi, esp
mov eax, dword [ebp - 0xb28]
push eax
lea ecx, [ebp - 0xf0c]
push ecx
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.USER32.dll_FillRect]
cmp esi, esp
call fcn.0041e9d0
test eax, eax
jne 0x40ed5d
mov esi, esp
push 0x10
push 0x44c3bc
push str.My_Documents_Button_Creation_Failed.
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp esi, esp
call fcn.0041e9d0
cmp dword [ebp + 0x18], 0x476
jne 0x40ef3b
cmp dword [ebp - 0x30], 1
jne 0x40ef36
cmp dword [ebp - 0x18], 1
jne 0x40ee0e
mov esi, esp
push 0x6a
lea eax, [ebp - 0x660]
push eax
mov ecx, dword [0x45e89c]
push ecx
call dword [sym.imp.SHELL32.dll_ExtractIconW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x24], eax
mov esi, esp
push 3
push 0
push 0
push 0x17
push 0x17
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xabc]
push ecx
mov edx, dword [ebp - 0xab8]
push edx
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
jmp 0x40ef36
cmp dword [ebp - 0xb34], 1
jne 0x40eeab
mov esi, esp
push 0x13
lea eax, [ebp - 0x660]
push eax
mov ecx, dword [0x45e89c]
push ecx
call dword [sym.imp.SHELL32.dll_ExtractIconW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x24], eax
mov esi, esp
push 3
push 0
push 0
push 0x17
push 0x17
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xabc]
push ecx
mov edx, dword [ebp - 0xab8]
push edx
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
jmp 0x40ef36
mov esi, esp
push 0x71
lea eax, [ebp - 0x660]
push eax
mov ecx, dword [0x45e89c]
push ecx
call dword [sym.imp.SHELL32.dll_ExtractIconW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x24], eax
mov esi, esp
push 3
push 0
push 0
push 0x17
push 0x17
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xabc]
push ecx
mov edx, dword [ebp - 0xab8]
push edx
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
jmp 0x40f06e
cmp dword [ebp - 0x30], 1
jne 0x40f06e
cmp dword [ebp - 0x18], 1
jne 0x40efe1
mov esi, esp
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0x660]
push ecx
mov edx, dword [0x45e89c]
push edx
call dword [sym.imp.SHELL32.dll_ExtractIconW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x24], eax
mov esi, esp
push 3
push 0
push 0
push 0x17
push 0x17
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xabc]
push ecx
mov edx, dword [ebp - 0xab8]
push edx
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
jmp 0x40f06e
mov esi, esp
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x660]
push ecx
mov edx, dword [0x45e89c]
push edx
call dword [sym.imp.SHELL32.dll_ExtractIconW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x24], eax
mov esi, esp
push 3
push 0
push 0
push 0x17
push 0x17
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xabc]
push ecx
mov edx, dword [ebp - 0xab8]
push edx
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xb28]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push 1
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.GDI32.dll_SetBkMode]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push 0x12
call dword [sym.imp.USER32.dll_GetSysColor]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.GDI32.dll_SetTextColor]
cmp esi, esp
call fcn.0041e9d0
cmp dword [ebp + 0x20], 1
jne 0x40f0d1
call fcn.0041cc00
mov dword [ebp - 0xf3c], eax
jmp 0x40f0dc
call fcn.0041cab0
mov dword [ebp - 0xf3c], eax
mov esi, esp
mov eax, dword [ebp - 0xf3c]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xa74]
push eax
lea ecx, [ebp - 0xa68]
push ecx
push 0xa
push 0x23
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.GDI32.dll_TextOutW]
cmp esi, esp
call fcn.0041e9d0
cmp dword [ebp + 0x1c], 1
jne 0x40f15e
mov dword [ebp - 0xf54], 0xaa
mov dword [ebp - 0xf50], 9
mov dword [ebp - 0xf4c], 0xb9
mov dword [ebp - 0xf48], 0x18
push 1
lea eax, [ebp - 0xf54]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.0040ad80
add esp, 0xc
mov esi, esp
mov eax, dword [ebp - 0xf3c]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xf3c]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xb04]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xb10]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xb10]
push eax
mov ecx, dword [ebp - 0xae0]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xb04]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xaf8]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xae0]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xaec]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xae0]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xaec]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xaf8]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp esi, esp
call fcn.0041e9d0
push edx
mov ecx, ebp
push eax
lea edx, [0x40f30c]
call fcn.0041e970
pop eax
pop edx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041ea40
add esp, 0x1558
cmp ebp, esp
call fcn.0041e9d0
mov esp, ebp
pop ebp
ret