Function at 0x408880
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6c8
push ebx
push esi
push edi
lea edi, [ebp - 0x488]
mov ecx, 0x122
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 dword [ebp - 0xc], 0x200
mov esi, esp
mov eax, dword [ebp - 0xc]
push eax
push 0x2b4
lea ecx, [ebp - 0x2c8]
push ecx
push 0
mov edx, dword [ebp + 0x10]
push edx
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 0x2e0], 0x44c3b0
cmp dword [ebp - 0x2d4], 0
jl 0x408903
lea eax, [ebp - 0x2bc]
mov dword [ebp - 0x2e0], eax
push 0x32
mov eax, dword [ebp - 0x2e0]
push eax
call fcn.0041e270
add esp, 8
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp - 0x2ec]
mov dword [ebp - 0x2f8], eax
mov dword [ebp - 0x310], 1
mov dword [ebp - 0x328], 0
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x320], 0xa0
mov dword [ebp - 0x31c], 0x28
mov dword [ebp - 0x340], 0
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x338], 0xa0
mov dword [ebp - 0x334], 0x19
mov dword [ebp - 0x358], 0x28
mov dword [ebp - 0x354], 0xd
mov dword [ebp - 0x350], 0x82
mov dword [ebp - 0x34c], 0x1e
mov dword [ebp - 0x370], 0x1e
mov dword [ebp - 0x36c], 3
mov dword [ebp - 0x368], 0xa0
mov dword [ebp - 0x364], 0x14
mov dword [ebp - 0x388], 2
mov dword [ebp - 0x384], 1
mov dword [ebp - 0x380], 0x32
mov dword [ebp - 0x37c], 0x31
mov dword [ebp - 0x3a0], 2
mov dword [ebp - 0x39c], 1
mov dword [ebp - 0x398], 0x18
mov dword [ebp - 0x394], 0x18
mov dword [ebp - 0x3b8], 0
mov dword [ebp - 0x3b4], 0
mov dword [ebp - 0x3b0], 0x10
mov dword [ebp - 0x3ac], 0x18
mov esi, esp
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x3c4], eax
mov esi, esp
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x3d0], eax
mov esi, esp
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x3dc], eax
cmp dword [0x45e010], 1
jne 0x408ac5
mov esi, esp
mov eax, dword [ebp - 0x31c]
push eax
mov ecx, dword [ebp - 0x320]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x3e8], eax
jmp 0x408aec
mov esi, esp
mov eax, dword [ebp - 0x334]
push eax
mov ecx, dword [ebp - 0x338]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x3e8], eax
mov esi, esp
mov eax, dword [ebp - 0x3e8]
push eax
mov ecx, dword [ebp - 0x3c4]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x3f4], eax
cmp dword [0xae53ec], 1
jne 0x4093af
mov esi, esp
push str.StartPanel
mov eax, dword [0x45ed2c]
push eax
call dword [sym.imp.UxTheme.dll_OpenThemeData]
cmp esi, esp
call fcn.0041e9d0
mov dword [0x45e8a4], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax*4 + 0x45e968], 1
jne 0x408e2e
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 - 0x40c], eax
cmp dword [0x45e010], 1
jne 0x408bc0
mov esi, esp
mov eax, dword [ebp - 0x40c]
push eax
lea ecx, [ebp - 0x328]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_FillRect]
cmp esi, esp
call fcn.0041e9d0
test eax, eax
jne 0x408bbe
mov esi, esp
push 0x10
push 0x44c3bc
push str.Application_Button_Creation_Failed.
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp esi, esp
call fcn.0041e9d0
jmp 0x408c02
mov esi, esp
mov eax, dword [ebp - 0x40c]
push eax
lea ecx, [ebp - 0x340]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_FillRect]
cmp esi, esp
call fcn.0041e9d0
test eax, eax
jne 0x408c02
mov esi, esp
push 0x10
push 0x44c3bc
push str.Application_Button_Creation_Failed.
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp esi, esp
call fcn.0041e9d0
cmp dword [ebp - 0x310], 1
jne 0x408d20
mov esi, esp
push 0
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [0x45e89c]
push ecx
call dword [sym.imp.SHELL32.dll_ExtractIconW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x304], eax
cmp dword [0x45e010], 1
jne 0x408cae
mov esi, esp
push 3
push 0
push 0
push 0x20
push 0x20
mov eax, dword [ebp - 0x304]
push eax
mov ecx, dword [ebp - 0x388]
push ecx
mov edx, dword [ebp - 0x384]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x304]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x304]
push eax
mov ecx, dword [ebp + 8]
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 0x408d20
mov esi, esp
push 3
push 0
push 0
push 0x12
push 0x12
mov eax, dword [ebp - 0x304]
push eax
mov ecx, dword [ebp - 0x3a0]
push ecx
mov edx, dword [ebp - 0x39c]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x304]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x304]
push eax
mov ecx, dword [ebp + 8]
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 + 8]
push eax
call dword [sym.imp.GDI32.dll_SetBkMode]
cmp esi, esp
call fcn.0041e9d0
call fcn.0041cab0
mov dword [ebp - 0x418], eax
mov esi, esp
mov eax, dword [ebp - 0x418]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
cmp dword [0x45e010], 1
jne 0x408d9c
mov esi, esp
lea eax, [ebp - 0x358]
push eax
push 0
push 0
mov ecx, dword [ebp - 0x2f8]
push ecx
mov edx, dword [ebp - 0x2e0]
push edx
push 0
push 4
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x45e8a4]
push ecx
call dword [sym.imp.UxTheme.dll_DrawThemeText]
cmp esi, esp
call fcn.0041e9d0
jmp 0x408dd3
mov esi, esp
lea eax, [ebp - 0x370]
push eax
push 0
push 0
mov ecx, dword [ebp - 0x2f8]
push ecx
mov edx, dword [ebp - 0x2e0]
push edx
push 0
push 4
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x45e8a4]
push ecx
call dword [sym.imp.UxTheme.dll_DrawThemeText]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x418]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x40c]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x418]
push eax
mov ecx, dword [ebp + 8]
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 0x409395
mov dword [ebp - 0x430], 5
mov dword [ebp - 0x42c], 5
mov dword [ebp - 0x428], 0xc8
mov dword [ebp - 0x424], 0x172
mov esi, esp
mov eax, dword [ebp - 0x424]
push eax
mov ecx, dword [ebp - 0x428]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x43c], eax
mov esi, esp
mov eax, dword [ebp - 0x43c]
push eax
mov ecx, dword [ebp - 0x3dc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x448], eax
mov dword [ebp - 0x454], 0
mov esi, esp
push 0
lea eax, [ebp - 0x430]
push eax
push 0
push 2
mov ecx, dword [ebp - 0x3dc]
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 - 0x448]
push eax
push 4
mov ecx, dword [ebp - 0x454]
push ecx
call dword [sym.imp.GDI32.dll_GetObjectW]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x454]
push eax
mov ecx, dword [ebp - 0x3dc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x400], eax
mov esi, esp
push 0xcc0020
push 0xf
push 0xf
mov eax, dword [ebp - 0x3dc]
push eax
mov ecx, dword [ebp - 0x31c]
push ecx
mov edx, dword [ebp - 0x320]
push edx
push 0
push 0
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
cmp esi, esp
call fcn.0041e9d0
cmp dword [ebp - 0x310], 1
jne 0x409069
mov esi, esp
push 0
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [0x45e89c]
push ecx
call dword [sym.imp.SHELL32.dll_ExtractIconW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x304], eax
cmp dword [0x45e010], 1
jne 0x408ff7
mov esi, esp
push 3
push 0
push 0
push 0x20
push 0x20
mov eax, dword [ebp - 0x304]
push eax
mov ecx, dword [ebp - 0x388]
push ecx
mov edx, dword [ebp - 0x384]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x304]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x304]
push eax
mov ecx, dword [ebp + 8]
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 0x409069
mov esi, esp
push 3
push 0
push 0
push 0x12
push 0x12
mov eax, dword [ebp - 0x304]
push eax
mov ecx, dword [ebp - 0x3a0]
push ecx
mov edx, dword [ebp - 0x39c]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x304]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x304]
push eax
mov ecx, dword [ebp + 8]
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 + 8]
push eax
call dword [sym.imp.GDI32.dll_SetBkMode]
cmp esi, esp
call fcn.0041e9d0
call fcn.0041cab0
mov dword [ebp - 0x460], eax
mov esi, esp
mov eax, dword [ebp - 0x460]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
cmp dword [0x45e010], 1
jne 0x4090e5
mov esi, esp
lea eax, [ebp - 0x358]
push eax
push 0
push 0
mov ecx, dword [ebp - 0x2f8]
push ecx
mov edx, dword [ebp - 0x2e0]
push edx
push 0
push 4
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x45e8a4]
push ecx
call dword [sym.imp.UxTheme.dll_DrawThemeText]
cmp esi, esp
call fcn.0041e9d0
jmp 0x40911c
mov esi, esp
lea eax, [ebp - 0x370]
push eax
push 0
push 0
mov ecx, dword [ebp - 0x2f8]
push ecx
mov edx, dword [ebp - 0x2e0]
push edx
push 0
push 4
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x45e8a4]
push ecx
call dword [sym.imp.UxTheme.dll_DrawThemeText]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x460]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x460]
push eax
mov ecx, dword [ebp + 8]
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 - 0x43c]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x448]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x454]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x3e8]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x3f4]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x3e8]
push eax
mov ecx, dword [ebp + 8]
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 - 0x3f4]
push eax
mov ecx, dword [ebp - 0x3c4]
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 - 0x43c]
push eax
mov ecx, dword [ebp + 8]
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 - 0x448]
push eax
mov ecx, dword [ebp - 0x3dc]
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 - 0x454]
push eax
mov ecx, dword [ebp + 8]
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 - 0x400]
push eax
mov ecx, dword [ebp - 0x3dc]
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 - 0x3dc]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x3c4]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x3d0]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x3dc]
push eax
mov ecx, dword [0x45ed30]
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x45ed30]
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x3c4]
push eax
mov ecx, dword [0x45ed30]
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x3d0]
push eax
mov ecx, dword [0x45ed30]
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 0x409964
mov eax, dword [ebp + 0x14]
cmp dword [eax*4 + 0x45e968], 1
jne 0x4096a3
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 - 0x40c], eax
cmp dword [0x45e010], 1
jne 0x409434
mov esi, esp
mov eax, dword [ebp - 0x40c]
push eax
lea ecx, [ebp - 0x328]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_FillRect]
cmp esi, esp
call fcn.0041e9d0
test eax, eax
jne 0x409432
mov esi, esp
push 0x10
push 0x44c3bc
push str.Application_Button_Creation_Failed.
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp esi, esp
call fcn.0041e9d0
jmp 0x409476
mov esi, esp
mov eax, dword [ebp - 0x40c]
push eax
lea ecx, [ebp - 0x340]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_FillRect]
cmp esi, esp
call fcn.0041e9d0
test eax, eax
jne 0x409476
mov esi, esp
push 0x10
push 0x44c3bc
push str.Application_Button_Creation_Failed.
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp esi, esp
call fcn.0041e9d0
cmp dword [ebp - 0x310], 1
jne 0x409594
mov esi, esp
push 0
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [0x45e89c]
push ecx
call dword [sym.imp.SHELL32.dll_ExtractIconW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x304], eax
cmp dword [0x45e010], 1
jne 0x409522
mov esi, esp
push 3
push 0
push 0
push 0x20
push 0x20
mov eax, dword [ebp - 0x304]
push eax
mov ecx, dword [ebp - 0x388]
push ecx
mov edx, dword [ebp - 0x384]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x304]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x304]
push eax
mov ecx, dword [ebp + 8]
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 0x409594
mov esi, esp
push 3
push 0
push 0
push 0x12
push 0x12
mov eax, dword [ebp - 0x304]
push eax
mov ecx, dword [ebp - 0x3a0]
push ecx
mov edx, dword [ebp - 0x39c]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x304]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x304]
push eax
mov ecx, dword [ebp + 8]
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 - 0x40c]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push 1
mov eax, dword [ebp + 8]
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 + 8]
push eax
call dword [sym.imp.GDI32.dll_SetTextColor]
cmp esi, esp
call fcn.0041e9d0
call fcn.0041cab0
mov dword [ebp - 0x46c], eax
mov esi, esp
mov eax, dword [ebp - 0x46c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
cmp dword [0x45e010], 1
jne 0x409639
mov esi, esp
mov eax, dword [ebp - 0x2f8]
push eax
mov ecx, dword [ebp - 0x2e0]
push ecx
push 0xa
push 0x23
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.GDI32.dll_TextOutW]
cmp esi, esp
call fcn.0041e9d0
jmp 0x40965e
mov esi, esp
mov eax, dword [ebp - 0x2f8]
push eax
mov ecx, dword [ebp - 0x2e0]
push ecx
push 0xa
push 0x19
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.GDI32.dll_TextOutW]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x46c]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x46c]
push eax
mov ecx, dword [ebp + 8]
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 0x409964
mov dword [ebp - 0x40c], 5
cmp dword [0x45e010], 1
jne 0x4096fa
mov esi, esp
mov eax, dword [ebp - 0x40c]
push eax
lea ecx, [ebp - 0x328]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_FillRect]
cmp esi, esp
call fcn.0041e9d0
test eax, eax
jne 0x4096f8
mov esi, esp
push 0x10
push 0x44c3bc
push str.Application_Button_Creation_Failed.
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp esi, esp
call fcn.0041e9d0
jmp 0x40973c
mov esi, esp
mov eax, dword [ebp - 0x40c]
push eax
lea ecx, [ebp - 0x340]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_FillRect]
cmp esi, esp
call fcn.0041e9d0
test eax, eax
jne 0x40973c
mov esi, esp
push 0x10
push 0x44c3bc
push str.Application_Button_Creation_Failed.
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp esi, esp
call fcn.0041e9d0
cmp dword [ebp - 0x310], 1
jne 0x40985a
mov esi, esp
push 0
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [0x45e89c]
push ecx
call dword [sym.imp.SHELL32.dll_ExtractIconW]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x304], eax
cmp dword [0x45e010], 1
jne 0x4097e8
mov esi, esp
push 3
push 0
push 0
push 0x20
push 0x20
mov eax, dword [ebp - 0x304]
push eax
mov ecx, dword [ebp - 0x388]
push ecx
mov edx, dword [ebp - 0x384]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x304]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x304]
push eax
mov ecx, dword [ebp + 8]
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 0x40985a
mov esi, esp
push 3
push 0
push 0
push 0xf
push 0xf
mov eax, dword [ebp - 0x304]
push eax
mov ecx, dword [ebp - 0x3a0]
push ecx
mov edx, dword [ebp - 0x39c]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x304]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x304]
push eax
mov ecx, dword [ebp + 8]
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 - 0x40c]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
push 1
mov eax, dword [ebp + 8]
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 + 8]
push eax
call dword [sym.imp.GDI32.dll_SetTextColor]
cmp esi, esp
call fcn.0041e9d0
call fcn.0041cab0
mov dword [ebp - 0x478], eax
mov esi, esp
mov eax, dword [ebp - 0x478]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.0041e9d0
cmp dword [0x45e010], 1
jne 0x4098ff
mov esi, esp
mov eax, dword [ebp - 0x2f8]
push eax
mov ecx, dword [ebp - 0x2e0]
push ecx
push 0xa
push 0x23
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.GDI32.dll_TextOutW]
cmp esi, esp
call fcn.0041e9d0
jmp 0x409924
mov esi, esp
mov eax, dword [ebp - 0x2f8]
push eax
mov ecx, dword [ebp - 0x2e0]
push ecx
push 0xa
push 0x19
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.GDI32.dll_TextOutW]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x478]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x478]
push eax
mov ecx, dword [ebp + 8]
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 - 0x3e8]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x3f4]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x3f4]
push eax
mov ecx, dword [ebp - 0x3c4]
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 - 0x3e8]
push eax
mov ecx, dword [ebp + 8]
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 - 0x3dc]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_WindowFromDC]
cmp esi, esp
call fcn.0041e9d0
mov dword [ebp - 0x484], eax
mov esi, esp
mov eax, dword [ebp - 0x3c4]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x3d0]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x3c4]
push eax
mov ecx, dword [ebp - 0x484]
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x3d0]
push eax
mov ecx, dword [ebp - 0x484]
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp - 0x3dc]
push eax
mov ecx, dword [ebp - 0x484]
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp esi, esp
call fcn.0041e9d0
mov esi, esp
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x484]
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp esi, esp
call fcn.0041e9d0
push edx
mov ecx, ebp
push eax
lea edx, [0x409af8]
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, 0x6c8
cmp ebp, esp
call fcn.0041e9d0
mov esp, ebp
pop ebp
ret