Function at 0x446bb0
Capabilities:
Encode data using xor
Get disk information
Get file size
Hide graphical window
Inspect load icon resource
Read file on windows
Set console window title

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb40
mov eax, dword [0x45f590]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x14]
push ebx
push esi
push edi
lea edx, [ebp - 0x824]
xor esi, esi
push edx
mov dword [ebp - 0xb34], eax
mov dword [ebp - 0xb28], ecx
mov dword [ebp - 0xb38], esi
mov dword [ebp - 0xb00], 0xe4
mov dword [0x460808], eax
mov dword [ebp - 0xb14], esi
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleW]
mov ebx, eax
mov dword [ebp - 0xb1c], ebx
cmp ebx, esi
jge 0x446c1b
xor ebx, ebx
mov dword [ebp - 0xb1c], ebx
jmp 0x446f69
je 0x446f69
push 0
push 0
push 3
push 0
push 3
push 0xc0000000
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
mov dword [ebp - 0xafc], edi
cmp edi, 0xffffffff
jne 0x446c5e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._nError:_Unable_to_open_file___u_
call fcn.0044c005
add esp, 8
push 0
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
push 0
push eax
push 0
push 4
push 0
push edi
mov dword [ebp - 0xb08], eax
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov dword [ebp - 0xb1c], eax
test eax, eax
jne 0x446ca2
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._nError:_Unable_to_create_file_mapping___u_
call fcn.0044c005
add esp, 8
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0xb1c]
push 0
push 0
push 0
push 0xf001f
push ecx
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov esi, eax
test esi, esi
jne 0x446ce8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._nError:_Unable_to_map_the_file___u_
call fcn.0044c005
mov edx, dword [ebp - 0xb1c]
add esp, 8
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
lea eax, [ebp - 0x824]
push 0
push eax
call fcn.0044bfeb
xor edi, edi
add esp, 0xc
mov byte [ebp - 0xb1d], al
cmp dword [ebp - 0xb08], edi
jbe 0x446d4c
jmp 0x446d10
mov cl, byte [ebp - 0xb1d]
xor byte [edi + esi], cl
push 0
push esi
call dword [sym.imp.KERNEL32.dll_FlushViewOfFile]
push esi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov edx, dword [ebp - 0xb1c]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0xafc]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
inc edi
cmp edi, dword [ebp - 0xb08]
jb 0x446d10
xor eax, eax
lea ecx, [ebp - 0x824]
mov edx, ecx
push edx
mov dword [ebp - 0xa44], eax
push eax
mov dword [ebp - 0xa68], eax
mov dword [ebp - 0xa64], eax
mov dword [ebp - 0xa60], eax
mov dword [ebp - 0xa5c], eax
mov dword [ebp - 0xa58], eax
mov dword [ebp - 0xa54], eax
mov dword [ebp - 0xa50], eax
mov dword [ebp - 0xa4c], eax
mov dword [ebp - 0xa48], eax
mov dword [ebp - 0xa44], ecx
call dword [sym.imp.USER32.dll_LoadCursorW]
mov dword [ebp - 0xa50], eax
lea eax, [ebp - 0x824]
push eax
push 0
call dword [sym.imp.USER32.dll_LoadIconW]
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push 0
mov dword [ebp - 0xa54], eax
mov dword [ebp - 0xa4c], 6
mov dword [ebp - 0xa68], 3
call esi
lea ecx, [ebp - 0xa68]
push ecx
mov dword [ebp - 0xa58], eax
call dword [sym.imp.USER32.dll_RegisterClassW]
test ax, ax
jne 0x446df6
call fcn.0044bdf6
xor eax, eax
lea edx, [ebp - 0xa0c]
mov dword [ebp - 0xa0c], eax
mov dword [ebp - 0xa08], eax
push edx
mov dword [ebp - 0xa0c], 8
mov dword [ebp - 0xa08], 1
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
test eax, eax
jne 0x446e2f
mov dword [ebp - 0xb00], eax
push 0
push 0
call esi
push eax
push 0
push 0
push 0x190
push 0x190
push 0x80000000
push 0x80000000
push 0xff0000
push str.Main_Window
lea eax, [ebp - 0x414]
push eax
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov ecx, dword [ebp - 0xa08]
mov edx, dword [ebp - 0xb08]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push str.Column
push ecx
mov esi, eax
push edx
push esi
call edi
mov eax, dword [ebp - 0xa08]
mov ecx, dword [ebp - 0xb08]
push str.Column_2
push eax
push ecx
push esi
call edi
mov edx, dword [ebp - 0xa08]
mov eax, dword [ebp - 0xb08]
push str.Column_3
push edx
push eax
push esi
call edi
cmp dword [ebp - 0xb00], 1
jle 0x446f11
push 0x1f8
lea ecx, [ebp - 0x60c]
push 0
push ecx
call fcn.0044b380
add esp, 0xc
push 0x1f8
lea edx, [ebp - 0x60c]
push edx
push 0x1f8
push 0x29
mov dword [ebp - 0x60c], 0x1f8
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
test eax, eax
jne 0x446efc
call fcn.0044bdf6
lea eax, [ebp - 0x474]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
push 1
push eax
push 0x30
push esi
call edi
push 0xa
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call dword [sym.imp.USER32.dll_UpdateWindow]
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
push 0
push 0
push 0
lea ecx, [ebp - 0xa30]
push ecx
call esi
test eax, eax
jle 0x446f69
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
lea edx, [ebp - 0xa30]
push edx
call edi
lea eax, [ebp - 0xa30]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push 0
push 0
push 0
lea ecx, [ebp - 0xa30]
push ecx
call esi
test eax, eax
jg 0x446f40
push 0x1800
call fcn.0044bd62
mov edi, dword [ebp - 0xb34]
add esp, 4
xor esi, esi
mov dword [ebp - 0xafc], eax
mov dword [ebp - 0xb08], esi
lea ebx, [ebx]
mov eax, dword [0x460800]
dec eax
imul eax, dword [0x460804]
imul eax, ebx
mov dword [ebp - 0xb00], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xb18], eax
test esi, esi
je 0x446fbc
inc esi
cmp esi, 8
jbe 0x446f90
push 9
lea edx, [ebp - 0x518]
push edx
call dword [sym.imp.SHLWAPI.dll_StrChrA]
lea eax, [ebp - 0xb08]
push eax
push 0x45a930
push 0
push 0x320
push 0
call dword [sym.imp.OLEAUT32.dll_OleCreatePictureIndirect]
push 0x103
lea ecx, [ebp - 0x107]
push 0
push ecx
mov byte [ebp - 0x108], 0
call fcn.0044b380
mov ecx, dword [ebp - 0xb00]
mov edx, dword [0x460804]
mov eax, edi
sub eax, ecx
dec eax
add edx, ecx
mov ecx, dword [0x46080c]
imul eax, edx
mov dword [ebp - 0xb10], eax
mov eax, edi
lea esi, [ecx + ebx + 1]
imul eax, eax, 0x3e8
imul esi, dword [0x460810]
add eax, dword [ebp - 0xb08]
push 0x103
lea edx, [ebp - 0x30f]
push 0
add esi, 0x3e8
push edx
mov dword [0x460818], eax
mov dword [0x460800], esi
mov byte [ebp - 0x310], bl
call fcn.0044b380
add dword [ebp - 0xb18], 0x7a8
add esp, 0x18
xor eax, eax
lea edx, [ebp - 0xa70]
push edx
push eax
push ebx
lea ecx, [ebp - 0x310]
push ebx
mov dword [ebp - 0xa70], 0x30
mov dword [ebp - 0xa6c], 0x17
mov dword [ebp - 0xa68], eax
mov dword [ebp - 0xa64], eax
mov dword [ebp - 0xa4c], ecx
mov dword [ebp - 0xa48], 0x104
mov dword [ebp - 0xa60], esi
mov dword [ebp - 0xa5c], ebx
call dword [sym.imp.USER32.dll_InsertMenuItemA]
lea eax, [ebp - 0xab8]
push eax
lea ecx, [ebp - 0xa8c]
push ecx
call dword [sym.imp.USER32.dll_CopyRect]
push 0x4024
lea edx, [ebp - 0xa8c]
push edx
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea ecx, [ebp - 0x108]
push ecx
push 0
call dword [sym.imp.USER32.dll_DrawTextA]
mov edx, dword [ebp - 0xafc]
mov esi, dword [ebp - 0xa08]
lea eax, [edi + edx]
mov edi, dword [ebp - 0xb28]
lea ecx, [edi + edi*2]
lea edx, [ecx + eax*2]
mov dword [ebp - 0xb30], edx
push 0xf
inc esi
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x26
lea edx, [ebp - 0xa8c]
mov ecx, 6
push edx
sub ecx, eax
add dword [ebp - 0xa84], ecx
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push esi
push 0
call dword [sym.imp.USER32.dll_DrawTextA]
mov ecx, dword [ebp - 0xb18]
mov edx, dword [ebp - 0xb34]
lea eax, [edi + 1]
imul eax, edi
push ebx
mov dword [0x460804], eax
mov dword [0x460810], ecx
mov esi, edi
mov dword [ebp - 0xb04], edx
mov dword [ebp - 0xb24], ebx
call dword [sym.imp.USER32.dll_GetWindowDC]
mov edi, dword [0x460800]
push ebx
mov dword [ebp - 0xb2c], eax
call dword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
jne 0x4471b0
mov eax, dword [ebp - 0xb10]
mov esi, ebx
imul esi, eax
mov dword [ebp - 0xb0c], eax
jmp 0x447205
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0xb0c], edi
cmp eax, ebx
jne 0x4471ea
mov eax, dword [0x460804]
lea ecx, [eax + eax - 4]
mov eax, dword [ebp - 0xb18]
add eax, dword [0x460800]
sub ecx, ebx
mov dword [0x460804], ecx
lea ecx, [ebx + eax*2]
add ecx, eax
add dword [ebp - 0xb00], ecx
jmp 0x447205
mov eax, dword [0x460818]
mov edx, esi
lea esi, [edx + edx]
sub esi, dword [ebp - 0xb30]
mov dword [0x460814], eax
add esi, dword [ebp - 0xb10]
lea ecx, [ebp - 0xa40]
push ecx
push ebx
call dword [sym.imp.USER32.dll_GetWindowRect]
lea edx, [ebp - 0xa14]
push edx
push ebx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0xb28]
add eax, dword [ebp - 0xb10]
lea edx, [ebx + 1]
imul eax, edx
cmp ebx, eax
je 0x447248
movzx eax, byte [ebp - 0xb00]
cmp ebx, eax
jne 0x447248
inc dword [ebp - 0xb00]
mov edi, dword [sym.imp.USER32.dll_ClientToScreen]
lea ecx, [ebp - 0xa14]
push ecx
push ebx
call edi
lea edx, [ebp - 0xa0c]
push edx
push ebx
call edi
imul esi, dword [0x460800]
mov eax, dword [ebp - 0xb10]
mov ecx, dword [ebp - 0xa3c]
imul eax, eax, 0x64
mov edx, dword [ebp - 0xa14]
sub esi, eax
mov eax, dword [ebp - 0xa40]
mov dword [0x460800], esi
mov esi, dword [ebp - 0xa10]
sub ecx, esi
add ecx, dword [ebp - 0xa34]
sub eax, edx
add eax, dword [ebp - 0xa38]
push ecx
push eax
push esi
push edx
mov dword [ebp - 0xa0c], eax
mov dword [ebp - 0xa08], ecx
call dword [sym.imp.GDI32.dll_CreateRectRgn]
cmp dword [ebp - 0xb00], 1
je 0x4472cc
push 1
push ebx
push eax
push eax
call dword [sym.imp.GDI32.dll_CombineRgn]
mov ecx, dword [ebp - 0xa3c]
mov edx, dword [ebp - 0xa40]
neg ecx
push ecx
neg edx
push edx
lea eax, [ebp - 0xa14]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
mov ecx, dword [0x460800]
mov edx, dword [0x46080c]
xor eax, eax
lea ecx, [ecx + ebx + 3]
mov esi, eax
nop
cmp edx, 2
jae 0x447308
dec esi
jmp 0x44730a
inc ebx
inc ecx
test ecx, ecx
jne 0x44731c
inc eax
cmp eax, 0x10
jl 0x447300
mov dword [ebp - 0xb1c], ebx
jmp 0x447343
mov ecx, dword [ebp - 0xb04]
add ecx, esi
add ecx, edx
lea eax, [edx + 1]
mov edx, dword [ebp - 0xb00]
lea ecx, [ecx + edx + 0x64]
mov dword [ebp - 0xb1c], ebx
cmp ecx, eax
jbe 0x447343
dec eax
mov dword [0x460814], eax
mov edx, dword [ebp - 0xa08]
mov eax, dword [ebp - 0xa0c]
mov ecx, dword [ebp - 0xa10]
mov esi, dword [ebp - 0xb2c]
push edx
mov edx, dword [ebp - 0xa14]
push eax
push ecx
push edx
push esi
call dword [sym.imp.GDI32.dll_ExcludeClipRect]
mov eax, dword [ebp - 0xa3c]
mov ecx, dword [ebp - 0xa40]
neg eax
push eax
neg ecx
push ecx
lea edx, [ebp - 0xa40]
push edx
call dword [sym.imp.USER32.dll_OffsetRect]
mov ecx, dword [ebp - 0xb0c]
mov edx, dword [ebp - 0xb24]
xor edi, edi
push edi
lea eax, [ebp - 0xa40]
push eax
push ecx
push 6
push esi
push edx
call dword [sym.imp.UxTheme.dll_DrawThemeBackground]
mov ecx, dword [ebp - 0xb34]
mov edx, dword [0x460800]
xor eax, eax
xor esi, esi
mov dword [ebp - 0xb24], edi
mov dword [ebp - 0xa14], eax
mov dword [ebp - 0xb04], eax
mov dword [ebp - 0xafc], ecx
mov dword [ebp - 0xb2c], edx
mov dword [ebp - 0xa68], eax
mov dword [ebp - 0xa64], eax
mov dword [ebp - 0xa60], eax
mov dword [ebp - 0xa5c], eax
mov dword [ebp - 0xa58], eax
mov dword [ebp - 0xa54], eax
mov dword [ebp - 0xa50], eax
mov dword [ebp - 0xa4c], eax
mov dword [ebp - 0xa48], eax
mov dword [ebp - 0xa44], eax
cmp ebx, ecx
jbe 0x44744e
lea eax, [ebx + 2]
shl eax, 5
mov dword [0x460804], eax
mov eax, dword [ebp - 0xb30]
add eax, dword [ebp - 0xb28]
mov edx, 0x7a8
add eax, dword [0x460804]
sub edx, ecx
add dword [0x460800], eax
mov eax, dword [ebp - 0xb30]
add dword [eax], edx
jmp 0x447480
mov eax, dword [ebp - 0xb00]
lea esi, [edx + eax]
mov eax, dword [0x460814]
imul esi, dword [0x46080c]
mov edx, eax
imul edx, dword [ebp - 0xb18]
lea ecx, [ebx + 0x10]
shl ecx, 8
add esi, ecx
sub edx, ebx
lea eax, [edx + eax + 0x14]
mov dword [ebp - 0xb00], eax
lea ecx, [ebx + 1]
cmp dword [ebp - 0xb18], ecx
jb 0x44749e
mov eax, 0x34
sub eax, ebx
imul eax, ecx
imul eax, esi
mov dword [ebp - 0xb24], eax
mov ecx, dword [ebp - 0xafc]
push 0
push ecx
push 0
push 0
push 0x1e
push 0
push 0
push 0
push 0x5000000c
push 0
push str.ToolbarWindow32
push 0x20000
call dword [sym.imp.USER32.dll_CreateWindowExA]
push 0
push 0x14
push 0x41e
push eax
mov dword [ebp - 0xb0c], eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [0x460800]
mov dword [ebp - 0xb08], edi
jmp 0x4474f0
mov edx, dword [ebp - 0xb10]
cmp edx, dword [ebp - 0xb00]
jne 0x447512
mov ecx, dword [ebp - 0xb30]
add ecx, dword [ebp - 0xb28]
add ecx, dword [0x460804]
add eax, ecx
mov edx, dword [ebp - 0xb08]
inc edx
cmp edx, 9
jle 0x44752e
mov edi, 0x68
sub edi, ebx
lea ecx, [ebx + 1]
imul edi, ecx
imul edi, esi
mov dword [ebp - 0xb08], edx
cmp edx, 0x10
jb 0x4474f0
mov ecx, dword [ebp - 0xb00]
push eax
push 2
lea edx, [eax + ecx]
add dword [ebp - 0xb10], edx
mov dword [0x460800], eax
mov eax, dword [ebp - 0xb0c]
push 0x413
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp - 0xb18]
mov eax, dword [0x460814]
mov edx, dword [0x460800]
dec ecx
imul ecx, ebx
add ecx, eax
shl esi, 6
lea edx, [edx + ecx + 0x14]
xor ecx, ecx
mov dword [ebp - 0xafc], esi
mov esi, dword [ebp - 0xb00]
mov dword [0x460800], edx
mov dword [ebp - 0xa68], ecx
mov dword [ebp - 0xa64], 1
mov word [ebp - 0xa60], 4
mov dword [ebp - 0xa5c], ecx
mov dword [ebp - 0xa58], ecx
mov dword [ebp - 0xa54], 1
mov dword [ebp - 0xa50], esi
mov word [ebp - 0xa4c], 4
mov dword [ebp - 0xa48], ecx
mov dword [ebp - 0xa44], ecx
cmp eax, ecx
je 0x4475f7
add edx, dword [0x460804]
push edx
push ecx
mov ecx, dword [0x460818]
push ecx
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov eax, dword [ebp - 0xb0c]
lea edx, [ebp - 0xa68]
push edx
push 2
push 0x414
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp - 0xb04]
mov ecx, dword [ebp - 0xa14]
mov dword [ebp - 0xa3c], eax
mov dword [ebp - 0xa38], eax
mov dword [ebp - 0xa34], eax
mov dword [ebp - 0xa40], ecx
neg eax
push eax
neg ecx
push ecx
lea ecx, [ebp - 0xa40]
push ecx
call dword [sym.imp.USER32.dll_OffsetRect]
push 1
call dword [sym.imp.USER32.dll_BeginDeferWindowPos]
mov esi, eax
test esi, esi
je 0x44766e
mov edx, dword [ebp - 0xb24]
mov eax, dword [ebp - 0xafc]
push edi
push edx
push eax
call dword [sym.imp.KERNEL32.dll_HeapCreate]
jmp 0x44767c
cmp ebx, dword [0x460818]
jle 0x447682
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov dword [ebp - 0xb24], eax
mov ecx, dword [ebp - 0xa34]
mov edx, dword [ebp - 0xb2c]
mov eax, dword [ebp - 0xb0c]
push 4
push ecx
push edx
push 0
push 0
push 0
push eax
push esi
call dword [sym.imp.USER32.dll_DeferWindowPos]
push esi
call dword [sym.imp.USER32.dll_EndDeferWindowPos]
lea ecx, [ebp - 0x104]
push ecx
push 0x458538
call fcn.0044c005
fldz
add esp, 8
cmp dword [0x460814], 0
je 0x447825
fild dword [ebp - 0xb1c]
mov dword [ebp - 0xb0c], 0x64636261
fstp qword [ebp - 0xa0c]
fld qword [ebp - 0xa0c]
fld qword [ebp - 0xa0c]
test ebx, ebx
jle 0x447767
mov esi, 1
lea edi, [ebp - 0xa0c]
lea edx, [ebp - 0xb0c]
mov dword [ebp - 0xb08], ebx
fld qword [edi]
mov ecx, esi
cmp esi, ebx
jge 0x447759
fcom qword [ebp + ecx*8 - 0xa0c]
fnstsw ax
test ah, 5
jp 0x447754
movzx eax, byte [ebp + ecx - 0xb0c]
fld qword [ebp + ecx*8 - 0xa0c]
fld qword [ebp + ecx*8 - 0xa0c]
mov byte [edx + esi - 1], al
movzx eax, byte [ebp - 0xb1d]
fstp qword [edi]
fstp qword [ebp + ecx*8 - 0xa0c]
mov byte [ebp + ecx - 0xb0c], al
inc ecx
cmp ecx, ebx
jl 0x447715
inc esi
fstp st(0)
add edi, 8
dec dword [ebp - 0xb08]
jne 0x44770d
or ecx, 0xffffffff
fld qword [ebp + ecx*8 - 0xa04]
lea eax, [ecx + 2]
faddp st(2)
cmp eax, ebx
jge 0x4477ba
mov ecx, ebx
sub ecx, eax
cmp ecx, 4
jl 0x4477aa
mov ecx, ebx
sub ecx, eax
sub ecx, 4
shr ecx, 2
inc ecx
lea edx, [ebp + eax*8 - 0x9fc]
lea eax, [eax + ecx*4]
fadd qword [edx - 0x10]
add edx, 0x20
dec ecx
fadd qword [edx - 0x28]
fadd qword [edx - 0x20]
fadd qword [edx - 0x18]
jne 0x447798
cmp eax, ebx
jge 0x4477ba
fadd qword [ebp + eax*8 - 0xa0c]
inc eax
cmp eax, ebx
jl 0x4477ae
mov ecx, dword [ebp - 0xa08]
fld st(0)
fsub st(2)
fcom st(3)
fnstsw ax
test ah, 0x41
jne 0x4477dd
fcomp qword [ebp + ebx*8 - 0xa0c]
fnstsw ax
test ah, 5
jnp 0x44776a
jmp 0x4477df
fstp st(0)
fld st(1)
fsub st(1)
fcom st(3)
fnstsw ax
test ah, 0x41
jne 0x447800
fcomp qword [ebp + ebx*8 - 0xa0c]
fnstsw ax
test ah, 5
jnp 0x44776a
jmp 0x447802
fstp st(0)
test ebx, ebx
js 0x44780f
lea eax, [ebx + 1]
add dword [0x460800], eax
fcom qword [ebp + ebx*8 - 0xa0c]
fnstsw ax
test ah, 0x41
je 0x4476f2
fstp st(0)
fstp st(0)
fstp st(0)
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
push 0x103
lea edx, [ebp - 0x107]
push 0
push edx
mov dword [ebp - 0xafc], eax
mov byte [ebp - 0x108], bl
call fcn.0044b380
mov edx, dword [ebp - 0xafc]
add esp, 0xc
mov esi, 0x1a
lea ebx, [ebx]
test dl, 1
je 0x447883
xor eax, eax
jmp 0x447870
mov cl, byte [ebp + eax - 0x108]
mov byte [ebp + eax - 0x518], cl
inc eax
test cl, cl
jne 0x447870
inc byte [ebp - 0x108]
shr edx, 1
dec esi
jne 0x447860
push esi
push esi
push 0x130b
push esi
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
call esi
xor ecx, ecx
mov dword [ebp - 0xa2c], ecx
mov dword [ebp - 0xa28], ecx
mov dword [ebp - 0xa24], ecx
mov dword [ebp - 0xa20], ecx
mov dword [ebp - 0xa1c], ecx
mov dword [ebp - 0xa18], ecx
lea ecx, [ebp - 0xa30]
push ecx
push eax
push 0x1305
push 0
mov dword [ebp - 0xa30], 8
call esi
mov edx, dword [ebp - 0xa08]
mov eax, dword [ebp - 0xa0c]
mov ecx, dword [ebp - 0xa10]
push 1
push edx
mov edx, dword [ebp - 0xa14]
push eax
mov eax, dword [ebp - 0xa08]
push ecx
push edx
push eax
call dword [sym.imp.USER32.dll_MoveWindow]
mov ecx, dword [0x460804]
mov edx, dword [0x460800]
push 0
mov dword [ebp - 0xb04], ecx
mov dword [ebp - 0xafc], edx
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
mov eax, dword [ebp - 0xb10]
push eax
push 2
push 0
call dword [sym.imp.GDI32.dll_CreatePen]
mov edi, eax
push edi
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
lea ecx, [ebp - 0xa0c]
mov dword [ebp - 0xb2c], eax
xor eax, eax
push ecx
push esi
mov dword [ebp - 0xa0c], eax
mov dword [ebp - 0xa08], eax
call dword [sym.imp.GDI32.dll_GetCurrentPositionEx]
mov eax, dword [ebp - 0xafc]
mov ecx, dword [ebp - 0xb04]
lea edx, [ebp - 0xa0c]
push edx
push eax
push ecx
push esi
call dword [sym.imp.GDI32.dll_MoveToEx]
mov edx, dword [ebp - 0xb00]
push edx
push ebx
push esi
call dword [sym.imp.GDI32.dll_LineTo]
mov eax, dword [ebp - 0xb2c]
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push edi
call dword [sym.imp.GDI32.dll_DeleteObject]
push esi
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
mov edi, dword [sym.imp.ole32.dll_CoInitialize]
push 0
call edi
push 0x100
lea ecx, [ebp - 0x104]
push ecx
push 9
push str.Component
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, dword [sym.imp.ole32.dll_CLSIDFromProgID]
xor edx, edx
mov word [ebp + eax*2 - 0x104], dx
lea eax, [ebp - 0xa8c]
push eax
lea ecx, [ebp - 0x104]
push ecx
call esi
lea edx, [ebp - 0xafc]
push edx
push 0x45a920
push 0
push 3
lea eax, [ebp - 0xa8c]
push eax
call dword [sym.imp.ole32.dll_CoGetClassObject]
test ebx, ebx
je 0x447a36
mov eax, dword [ebp - 0xafc]
mov ecx, dword [eax]
lea edx, [ebp - 0xa08]
push edx
push 0x45a910
push 0
push eax
mov eax, dword [ecx + 0xc]
call eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push 0
call edi
lea ecx, [ebp - 0xa14]
push ecx
lea edx, [ebp - 0x824]
push edx
mov word [ebp - 0x824], bx
call esi
lea eax, [ebp - 0xa8c]
push eax
push str.Visual
call esi
mov esi, dword [sym.imp.OLEAUT32.dll_SafeArrayAllocDescriptor]
lea ecx, [ebp - 0xafc]
push ecx
push 0
lea edx, [ebp - 0xa14]
push edx
call esi
test eax, eax
je 0x447aa1
lea eax, [ebp - 0xafc]
push eax
push 0
lea ecx, [ebp - 0xa8c]
push ecx
call esi
test eax, eax
je 0x447aa1
mov dword [ebp - 0xb00], 0
mov edx, dword [ebp - 0xb34]
mov eax, dword [ebp - 0xb28]
push 0x7f02
push 0
mov edi, 1
mov dword [ebp - 0xb08], edx
mov dword [ebp - 0xb04], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
push edi
call dword [sym.imp.USER32.dll_ShowCursor]
mov edx, dword [0x460800]
mov esi, dword [sym.imp.GDI32.dll_CreateEllipticRgn]
lea eax, [ebx + ebx*4]
lea eax, [eax*4 + 0x13]
mov ecx, 0x14
sub ecx, ebx
imul eax, ecx
sub eax, dword [ebp - 0xb30]
push 0
push 0
mov dword [ebp - 0xa08], eax
push 0
lea eax, [edx + eax + 0x1b5]
push 0
mov dword [0x460800], eax
call esi
push 0
mov dword [ebp - 0xaa4], eax
call dword [sym.imp.GDI32.dll_DeleteObject]
push 0
push 0
push 0
push 0
call esi
push edi
push edi
push 0
push 0
mov dword [ebp - 0xaa0], eax
call dword [sym.imp.GDI32.dll_CreateRectRgn]
mov dword [ebp - 0xa94], eax
xor eax, eax
lea ecx, [ecx]
lea ecx, [ebx + 1]
cmp eax, ecx
jg 0x447b64
cmp eax, 1
je 0x447b80
inc eax
cmp eax, 0x10
jle 0x447b50
jmp 0x447bb5
push 0
push 0
push 0
push 0
call esi
mov dword [ebp - 0xa9c], eax
mov dword [0x460804], 0
jmp 0x447bb5
push 0
push 0
push 0
push 0
call esi
mov ecx, dword [0x460804]
mov dword [ebp - 0xa98], eax
mov eax, dword [0x46080c]
add eax, 0x14
shl eax, 0xc
add eax, ebx
lea edx, [ecx + ecx - 4]
sub edx, ebx
mov dword [ebp - 0xb14], eax
mov dword [0x460804], edx
mov esi, dword [sym.imp.GDI32.dll_CreateRectRgn]
push 1
push 1
push 0
push 0
call esi
push 1
push 1
push 0
push 0
mov dword [ebp - 0xa90], eax
call esi
mov ecx, dword [ebp - 0xaa4]
mov edx, dword [ebp - 0xa94]
push 2
mov dword [ebp - 0xb0c], eax
mov eax, dword [ebp - 0xaa0]
push eax
push ecx
push edx
call dword [sym.imp.GDI32.dll_CombineRgn]
mov eax, dword [ebp - 0xb28]
sub eax, dword [ebp - 0xb00]
xor esi, esi
dec eax
mov dword [ebp - 0xafc], eax
lea ecx, [ecx]
mov eax, dword [ebp - 0xb00]
add eax, dword [0x460804]
mov ecx, dword [0x46080c]
imul eax, dword [ebp - 0xafc]
lea edi, [edi + ecx + 1]
mov ecx, dword [ebp + esi*4 - 0xaa4]
push ecx
mov dword [ebp - 0xb10], eax
call dword [sym.imp.GDI32.dll_DeleteObject]
inc esi
cmp esi, 6
jl 0x447c10
lea edx, [ebp - 0xaf8]
push edx
push 0
call dword [sym.imp.USER32.dll_BeginPaint]
mov esi, eax
mov eax, dword [0x460800]
sub eax, dword [ebp - 0xb10]
push 0
imul eax, dword [ebp - 0xb08]
push 0
sub eax, edi
push 0
lea ecx, [eax + ebx*2 + 1]
push esi
mov dword [0x460804], ecx
call dword [sym.imp.GDI32.dll_SetViewportOrgEx]
mov edx, dword [ebp - 0xb14]
mov eax, dword [ebp - 0xb24]
push edx
push 8
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ecx, dword [ebp - 0xb0c]
push ecx
push esi
mov dword [ebp - 0xb2c], eax
call dword [sym.imp.GDI32.dll_SelectClipRgn]
cmp dword [0x460814], 0
jge 0x447cc4
mov eax, dword [ebp - 0xb10]
add eax, dword [ebp - 0xb28]
jmp 0x447cca
mov eax, dword [ebp - 0xb04]
mov edx, dword [0x46080c]
mov ecx, dword [0x460800]
lea edx, [edx + ebx + 1]
imul edx, dword [0x460810]
sub eax, ecx
add eax, dword [ebp - 0xb08]
cmp eax, edx
jne 0x447cf3
add dword [0x460804], ecx
fldz
sub esp, 0x10
fmul qword [0x45a900]
fst qword [esp + 8]
fstp qword [esp]
call fcn.0044bd41
fstp st(0)
add esp, 0x10
fldz
fst qword [ebp - 0xa38]
fild dword [ebp - 0xb1c]
fst qword [ebp - 0xab0]
fcompp
fnstsw ax
test ah, 0x41
jne 0x447d7f
mov edi, dword [sym.imp.GDI32.dll_MoveToEx]
mov eax, 0xb60b60b7
imul ebx
add edx, ebx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0xafc], eax
fild dword [ebp - 0xafc]
fstp qword [ebp - 0xa84]
push 0
push 0
push 0
push esi
call edi
fld qword [ebp - 0xa84]
fadd qword [ebp - 0xa38]
fst qword [ebp - 0xa38]
fcomp qword [ebp - 0xab0]
fnstsw ax
test ah, 5
jnp 0x447d57
lea ecx, [ebp - 0xaf8]
push ecx
xor edi, edi
push edi
call dword [sym.imp.USER32.dll_EndPaint]
mov edx, dword [ebp - 0xb0c]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
push edi
push 1
push ebx
push edi
call dword [sym.imp.USER32.dll_DefWindowProcA]
lea eax, [ebp - 0x20c]
mov dword [ebp - 0xa1c], 0xf
mov dword [ebp - 0xa20], edi
mov byte [ebp - 0xa30], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x447dc7
sub eax, edx
push eax
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0xa30]
call fcn.00446a70
mov esi, dword [ebp - 0xa1c]
mov ecx, dword [ebp - 0xa30]
nop
mov eax, ecx
cmp esi, 0x10
jae 0x447dfd
lea eax, [ebp - 0xa30]
cmp byte [edi + eax], 0x20
jne 0x447e06
inc edi
jmp 0x447df0
mov eax, dword [ebp - 0xa20]
cmp eax, edi
jae 0x447e12
mov edi, eax
test edi, edi
je 0x447e5b
mov edx, ecx
cmp esi, 0x10
jae 0x447e25
lea edx, [ebp - 0xa30]
mov ecx, edx
sub eax, edi
push eax
add edx, edi
push edx
push ecx
call fcn.0044b010
mov eax, dword [ebp - 0xa20]
mov ecx, dword [ebp - 0xa30]
sub eax, edi
add esp, 0xc
cmp dword [ebp - 0xa1c], 0x10
mov dword [ebp - 0xa20], eax
jae 0x447e57
lea ecx, [ebp - 0xa30]
mov byte [ecx + eax], 0
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0xa30]
push ecx
call fcn.00446980
mov eax, dword [ebp - 0xa20]
mov esi, dword [ebp - 0xa1c]
mov edi, dword [ebp - 0xa30]
lea ecx, [eax - 1]
mov edx, edi
cmp esi, 0x10
jae 0x447e8d
lea edx, [ebp - 0xa30]
cmp byte [edx + ecx], 0x20
jne 0x447e96
dec ecx
jmp 0x447e80
mov edi, eax
sub edi, ecx
inc ecx
inc edi
cmp eax, ecx
jae 0x447eaa
push str.invalid_string_position
call fcn.0044a9d6
sub eax, ecx
cmp eax, edi
jae 0x447eb2
mov edi, eax
test edi, edi
je 0x447f16
cmp esi, 0x10
mov esi, dword [ebp - 0xa30]
jae 0x447ec7
lea esi, [ebp - 0xa30]
cmp dword [ebp - 0xa1c], 0x10
mov edx, dword [ebp - 0xa30]
jae 0x447edc
lea edx, [ebp - 0xa30]
sub eax, edi
add esi, ecx
push eax
add esi, edi
add edx, ecx
push esi
push edx
call fcn.0044b010
mov eax, dword [ebp - 0xa20]
mov ecx, dword [ebp - 0xa30]
sub eax, edi
add esp, 0xc
cmp dword [ebp - 0xa1c], 0x10
mov dword [ebp - 0xa20], eax
jae 0x447f12
lea ecx, [ebp - 0xa30]
mov byte [ecx + eax], 0
push 0xffffffffffffffff
lea edx, [ebp - 0xa30]
push 0
push edx
mov ecx, edx
call fcn.00446980
mov eax, dword [ebp - 0xa20]
mov ecx, dword [ebp - 0xa1c]
xor esi, esi
test eax, eax
je 0x448019
mov edi, edi
mov edx, dword [ebp - 0xa30]
cmp ecx, 0x10
jae 0x447f51
lea edx, [ebp - 0xa30]
cmp byte [edx + esi], 0x20
jne 0x448010
mov edx, dword [ebp - 0xa30]
cmp ecx, 0x10
jae 0x447f6c
lea edx, [ebp - 0xa30]
cmp byte [edx + esi + 1], 0x20
jne 0x448010
mov edi, 1
cmp eax, esi
jb 0x447ea0
sub eax, esi
cmp eax, edi
jae 0x447f90
mov edi, eax
test edi, edi
je 0x447ff0
mov edx, dword [ebp - 0xa30]
cmp ecx, 0x10
jae 0x447fa1
lea edx, [ebp - 0xa30]
cmp dword [ebp - 0xa1c], 0x10
mov ecx, dword [ebp - 0xa30]
jae 0x447fb6
lea ecx, [ebp - 0xa30]
sub eax, edi
add edx, esi
push eax
add edx, edi
push edx
add ecx, esi
push ecx
call fcn.0044b010
mov eax, dword [ebp - 0xa20]
mov ecx, dword [ebp - 0xa30]
sub eax, edi
add esp, 0xc
cmp dword [ebp - 0xa1c], 0x10
mov dword [ebp - 0xa20], eax
jae 0x447fec
lea ecx, [ebp - 0xa30]
mov byte [eax + ecx], 0
push 0xffffffffffffffff
lea eax, [ebp - 0xa30]
push 0
push eax
mov ecx, eax
call fcn.00446980
mov ecx, dword [ebp - 0xa1c]
mov eax, dword [ebp - 0xa20]
jmp 0x448011
inc esi
cmp esi, eax
jb 0x447f40
cmp ecx, 0x10
jb 0x44802d
mov ecx, dword [ebp - 0xa30]
push ecx
call fcn.0044abe2
add esp, 4
xor edi, edi
lea eax, [ebp - 0x20c]
mov dword [ebp - 0xa1c], 0xf
mov dword [ebp - 0xa20], edi
mov byte [ebp - 0xa30], 0
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x448050
sub eax, edx
push eax
lea edx, [ebp - 0x20c]
push edx
lea ecx, [ebp - 0xa30]
call fcn.00446a70
cmp ebx, edi
jle 0x448128
push 1
push 0
push 0x458568
lea ecx, [ebp - 0xa30]
call fcn.00446680
lea esi, [edi + eax]
push 1
lea edi, [esi + 1]
push edi
push 0x45856c
lea ecx, [ebp - 0xa30]
call fcn.00446680
mov dword [ebp - 0xafc], eax
sub eax, esi
dec eax
push eax
push edi
lea eax, [ebp - 0xaa8]
push eax
lea ecx, [ebp - 0xa30]
call fcn.00446b70
mov edx, dword [ebp - 0xa94]
mov eax, dword [ebp - 0xaa8]
cmp edx, 0x10
jae 0x4480d5
lea eax, [ebp - 0xaa8]
mov edi, dword [ebp - 0xa98]
mov cl, byte [eax]
mov esi, 1
dec edi
cmp edi, esi
jbe 0x448106
mov eax, dword [ebp - 0xaa8]
cmp edx, 0x10
jae 0x4480f8
lea eax, [ebp - 0xaa8]
mov al, byte [esi + eax]
cmp cl, al
je 0x448106
inc esi
mov cl, al
cmp esi, edi
jb 0x4480e7
mov edi, dword [ebp - 0xafc]
cmp edx, 0x10
jb 0x448120
mov ecx, dword [ebp - 0xaa8]
push ecx
call fcn.0044abe2
add esp, 4
cmp edi, ebx
jl 0x448074
cmp dword [ebp - 0xa1c], 0x10
jb 0x448140
mov edx, dword [ebp - 0xa30]
push edx
call fcn.0044abe2
add esp, 4
mov eax, dword [0x460804]
push 0x103
xor edi, edi
lea ecx, [ebp - 0x30f]
push edi
push ecx
mov dword [ebp - 0xb00], eax
mov byte [ebp - 0x310], bl
call fcn.0044b380
push 0x206
lea edx, [ebp - 0x61a]
push edi
push edx
mov word [ebp - 0x61c], bx
call fcn.0044b380
mov eax, dword [0x460810]
add esp, 0x18
cmp eax, dword [0x46080c]
jbe 0x44827c
mov eax, dword [ebp - 0xb18]
imul eax, eax
mov dword [ebp - 0xb14], edi
mov dword [ebp - 0xafc], eax
cmp eax, edi
jle 0x44827c
cmp dword [0x46080c], 0
jne 0x4481fa
mov ecx, dword [0x460804]
push 0
push ecx
push 0
call dword [sym.imp.USER32.dll_EnableMenuItem]
push 0x208
lea edx, [ebp - 0x61c]
mov esi, eax
push edx
lea eax, [ebp - 0x310]
push eax
call dword [sym.imp.COMDLG32.dll_GetFileTitleW]
movzx eax, ax
cmp esi, ebx
jge 0x448209
movsx ecx, ax
cmp ecx, ebx
jge 0x448209
mov edi, dword [0x460818]
jmp 0x448209
dec dword [ebp - 0xb00]
cmp dword [0x460814], 0
jne 0x44827c
cmp dword [0x460818], 0
je 0x44827c
mov eax, dword [ebp - 0xb18]
lea esi, [ebx + 0x20]
cdq
idiv esi
mov edx, dword [ebp - 0xb00]
mov esi, dword [ebp - 0xb10]
xor ecx, ecx
test eax, eax
jle 0x44824a
test ebx, ebx
je 0x44823d
imul edx, esi
mov dword [ebp - 0xb00], edx
test edi, edi
je 0x448306
inc ecx
cmp ecx, eax
jl 0x448230
cmp edx, esi
jle 0x448254
inc dword [0x460804]
cmp dword [ebp - 0xb30], 0
je 0x44831f
mov eax, dword [ebp - 0xb14]
inc eax
mov edi, ebx
mov dword [ebp - 0xb14], eax
cmp eax, dword [ebp - 0xafc]
jl 0x4481af
cmp dword [ebp - 0xb18], 0
je 0x44829b
cmp dword [0x460810], 0
je 0x44829b
mov eax, 5
sub eax, ebx
mov dword [ebp - 0xb38], eax
mov esi, dword [0x460814]
mov edx, dword [0x460800]
mov eax, dword [0x460804]
push 0xffffffffffffffeb
push esi
mov dword [ebp - 0xb04], edx
mov dword [ebp - 0xafc], eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov edi, eax
mov eax, ebx
sub eax, 2
je 0x448334
sub eax, 0x83
je 0x44831b
sub eax, 0x295
jne 0x448353
test edi, edi
je 0x4482e3
push edi
call dword [sym.imp.UxTheme.dll_CloseThemeData]
push 0x458570
push esi
call dword [sym.imp.UxTheme.dll_OpenThemeData]
push eax
push 0xffffffffffffffeb
push esi
call dword [sym.imp.USER32.dll_SetWindowLongA]
push 1
push 0
push esi
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x448353
mov eax, ebx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0044b371
mov esp, ebp
pop ebp
ret 0x10
test edi, edi
je 0x448353
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0044b371
mov esp, ebp
pop ebp
ret 0x10
push 1
push 0x446480
push esi
call sub.COMCTL32.dll_RemoveWindowSubclass
push edi
call dword [sym.imp.UxTheme.dll_CloseThemeData]
push 0
push 0xffffffffffffffeb
push esi
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov ecx, dword [ebp - 0xafc]
mov edx, dword [ebp - 0xb04]
push ecx
push edx
push ebx
push esi
call sub.COMCTL32.dll_DefSubclassProc
mov edi, dword [0x460814]
test edi, edi
je 0x448406
call fcn.0044babd
and eax, 0x800000ff
jns 0x448389
dec eax
or eax, 0xffffff00
inc eax
movzx eax, al
shl eax, 8
mov dword [ebp - 0xafc], eax
call fcn.0044babd
and eax, 0x800000ff
jns 0x4483a8
dec eax
or eax, 0xffffff00
inc eax
movzx esi, al
or esi, dword [ebp - 0xafc]
shl esi, 8
call fcn.0044babd
and eax, 0x800000ff
jns 0x4483c7
dec eax
or eax, 0xffffff00
inc eax
movzx eax, al
or eax, esi
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
push edi
mov esi, eax
call dword [sym.imp.USER32.dll_GetDC]
push esi
lea ecx, [ebp - 0xa40]
push ecx
push eax
mov dword [ebp - 0xafc], eax
call dword [sym.imp.USER32.dll_FillRect]
mov edx, dword [ebp - 0xafc]
push edx
push edi
call dword [sym.imp.USER32.dll_ReleaseDC]
push esi
call dword [sym.imp.GDI32.dll_DeleteObject]
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x47
call esi
push 0x48
mov edi, eax
call esi
push 0
mov dword [ebp - 0xafc], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov esi, eax
test esi, esi
je 0x44848e
mov eax, dword [ebp - 0xafc]
push eax
push edi
push esi
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
test eax, eax
je 0x448487
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [ebp - 0xa08]
mov edx, dword [ebp - 0xa08]
mov edi, eax
xor eax, eax
push 2
mov dword [ebp - 0xa40], eax
mov dword [ebp - 0xa3c], eax
push 2
lea eax, [ebp - 0xa40]
push eax
push esi
mov dword [ebp - 0xa38], ecx
mov dword [ebp - 0xa34], edx
call dword [sym.imp.USER32.dll_DrawFrameControl]
push edi
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
mov ecx, dword [0x460800]
mov edx, dword [0x460804]
lea eax, [ecx + edx - 4]
mov dword [ebp - 0xb04], eax
mov eax, dword [0x460814]
push 0xfffffffffffffffa
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
push 0
push 2
push 1
push 8
push 8
mov esi, eax
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
push str.IMAGE
push esi
call dword [sym.imp.USER32.dll_LoadBitmapA]
mov edi, dword [0x46080c]
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov esi, eax
test esi, esi
je 0x448540
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xafc], eax
test eax, eax
je 0x448540
lea ecx, [ebp - 0xa2c]
push ecx
push 0x18
push edi
call dword [sym.imp.GDI32.dll_GetObjectA]
push edi
push esi
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
call esi
movzx edx, word [ebp - 0xa1a]
movzx eax, word [ebp - 0xa1c]
mov ecx, dword [ebp - 0xa24]
push 0
push edx
mov edx, dword [ebp - 0xa28]
push eax
push ecx
push edx
call dword [sym.imp.GDI32.dll_CreateBitmap]
push eax
mov eax, dword [ebp - 0xafc]
push eax
call esi
mov eax, dword [0x46080c]
mov edx, dword [ebp - 0xa08]
imul edx, dword [ebp - 0xb04]
lea ecx, [eax + 6]
imul ecx, dword [0x460810]
cmp edx, ecx
jne 0x44856c
mov ecx, dword [0x460800]
sub dword [0x460804], ecx
mov eax, dword [ebp + eax*4 - 0x104]
lea edx, [ebp - 0xa7c]
push edx
push 1
push 0x43a
push eax
mov dword [ebp - 0xa7c], 0x3c
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [0x460814]
mov edi, dword [sym.imp.USER32.dll_GetMenu]
push 0
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov cl, byte [0x46080c]
push 0xff
lea edx, [ebp - 0x103]
push 0
push edx
mov byte [ebp - 0x104], cl
call fcn.0044b380
mov eax, dword [0x460814]
add esp, 0xc
push 0xfffffffffffffffa
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
push 0
push 2
push 1
push 8
push 8
mov esi, eax
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
push str.IMAGE
push esi
call dword [sym.imp.USER32.dll_LoadBitmapA]
mov ecx, dword [0x46080c]
mov edx, dword [ebp + ecx*4 - 0x104]
lea eax, [ebp - 0xa7c]
push eax
push 1
push 0x43a
push edx
mov dword [ebp - 0xa7c], 0x3c
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [0x46080c]
mov edx, dword [ebp - 0xa08]
imul edx, dword [ebp - 0xa08]
lea ecx, [eax + 6]
imul ecx, dword [0x460810]
cmp edx, ecx
jne 0x44864f
mov ecx, dword [0x460800]
sub dword [0x460804], ecx
push 0
mov esi, eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xafc], eax
test eax, eax
je 0x4486c5
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xb04], eax
test eax, eax
je 0x4486c5
lea edx, [ebp - 0xa2c]
push edx
push 0x18
push esi
call dword [sym.imp.GDI32.dll_GetObjectA]
mov eax, dword [ebp - 0xafc]
push esi
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
push eax
call esi
movzx ecx, word [ebp - 0xa1a]
movzx edx, word [ebp - 0xa1c]
mov eax, dword [ebp - 0xa24]
push 0
push ecx
mov ecx, dword [ebp - 0xa28]
push edx
push eax
push ecx
call dword [sym.imp.GDI32.dll_CreateBitmap]
mov edx, dword [ebp - 0xb04]
push eax
push edx
call esi
mov eax, dword [0x460800]
cmp eax, 1
jne 0x4486fa
mov ecx, dword [ebp - 0xafc]
lea eax, [ebp - 0x104]
push eax
push 1
push 0
push 1
push ecx
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov edx, dword [ebp - 0xa08]
push 0
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x448718
mov edx, dword [0x460804]
lea ecx, [ebp - 0x104]
push ecx
push eax
mov eax, dword [ebp - 0xafc]
push 0
push edx
push eax
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov edx, dword [0x46080c]
mov eax, dword [ebp + edx*4 - 0x104]
lea ecx, [ebp - 0xa7c]
push ecx
push 1
push 0x43a
push eax
mov dword [ebp - 0xa7c], 0x3c
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [0x460814]
push 0xfffffffffffffffa
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
push 0
push 2
push 1
push 8
push 8
mov esi, eax
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
push str.IMAGE
push esi
call dword [sym.imp.USER32.dll_LoadBitmapA]
mov edx, dword [0x46080c]
mov eax, dword [ebp + edx*4 - 0x104]
lea ecx, [ebp - 0xa7c]
push ecx
push 1
push 0x43a
push eax
mov dword [ebp - 0xa7c], 0x3c
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [0x460814]
push 0
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov cl, byte [0x46080c]
push 0xff
lea edx, [ebp - 0x103]
push 0
push edx
mov byte [ebp - 0x104], cl
call fcn.0044b380
mov eax, dword [0x460800]
add esp, 0xc
cmp eax, 1
jne 0x448804
mov ecx, dword [ebp - 0xafc]
lea eax, [ebp - 0x104]
push eax
push 1
push 0
push 1
push ecx
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov edx, dword [ebp - 0xa08]
push 0
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x448822
mov edx, dword [0x460804]
lea ecx, [ebp - 0x104]
push ecx
push eax
mov eax, dword [ebp - 0xafc]
push 0
push edx
push eax
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov esi, dword [0x46080c]
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xafc], eax
test eax, eax
je 0x44889c
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xb04], eax
test eax, eax
je 0x44889c
lea ecx, [ebp - 0xa2c]
push ecx
push 0x18
push esi
call dword [sym.imp.GDI32.dll_GetObjectA]
mov edx, dword [ebp - 0xafc]
push esi
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
push edx
call esi
movzx eax, word [ebp - 0xa1a]
movzx ecx, word [ebp - 0xa1c]
mov edx, dword [ebp - 0xa24]
push 0
push eax
mov eax, dword [ebp - 0xa28]
push ecx
push edx
push eax
call dword [sym.imp.GDI32.dll_CreateBitmap]
mov ecx, dword [ebp - 0xb04]
push eax
push ecx
call esi
mov dl, byte [0x46080c]
push 0xff
lea eax, [ebp - 0x103]
push 0
push eax
mov byte [ebp - 0x104], dl
call fcn.0044b380
mov ecx, dword [0x46080c]
mov edx, dword [ebp - 0xa08]
imul edx, dword [ebp - 0xa08]
add ecx, 6
imul ecx, dword [0x460810]
add esp, 0xc
cmp edx, ecx
jne 0x4488ea
mov eax, dword [0x460800]
sub dword [0x460804], eax
mov eax, dword [0x460814]
push 0
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov eax, dword [0x460800]
mov esi, dword [sym.imp.USER32.dll_ModifyMenuA]
lea ecx, [ebp - 0x104]
push ecx
cmp eax, 1
jne 0x448930
mov edx, dword [ebp - 0xafc]
push eax
push 0
push eax
push edx
call esi
mov eax, dword [ebp - 0xa08]
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x448943
mov edx, dword [0x460804]
push eax
mov eax, dword [ebp - 0xafc]
push 0
push edx
push eax
call esi
mov cl, byte [0x46080c]
push 0xff
lea edx, [ebp - 0x103]
push 0
push edx
mov byte [ebp - 0x104], cl
call fcn.0044b380
mov eax, dword [0x460800]
add esp, 0xc
cmp eax, 1
jne 0x448996
mov ecx, dword [ebp - 0xafc]
lea eax, [ebp - 0x104]
push eax
push 1
push 0
push 1
push ecx
call esi
mov edx, dword [ebp - 0xa08]
push 0
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x4489b0
mov edx, dword [0x460804]
lea ecx, [ebp - 0x104]
push ecx
push eax
mov eax, dword [ebp - 0xafc]
push 0
push edx
push eax
call esi
mov eax, dword [0x46080c]
mov edx, dword [ebp - 0xa08]
imul edx, dword [ebp - 0xa08]
lea ecx, [eax + 6]
imul ecx, dword [0x460810]
cmp edx, ecx
jne 0x4489dc
mov ecx, dword [0x460800]
sub dword [0x460804], ecx
mov eax, dword [ebp + eax*4 - 0x104]
lea edx, [ebp - 0xa7c]
push edx
push 1
push 0x43a
push eax
mov dword [ebp - 0xa7c], 0x3c
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [0x460814]
push 0
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov ecx, dword [0x46080c]
push 0
mov dword [ebp - 0xb14], ecx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov esi, eax
test esi, esi
je 0x448a95
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xafc], eax
test eax, eax
je 0x448a95
mov eax, dword [ebp - 0xb14]
lea edx, [ebp - 0xa2c]
push edx
push 0x18
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
mov ecx, dword [ebp - 0xb14]
push ecx
push esi
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
call esi
movzx edx, word [ebp - 0xa1a]
movzx eax, word [ebp - 0xa1c]
mov ecx, dword [ebp - 0xa24]
push 0
push edx
mov edx, dword [ebp - 0xa28]
push eax
push ecx
push edx
call dword [sym.imp.GDI32.dll_CreateBitmap]
push eax
mov eax, dword [ebp - 0xafc]
push eax
call esi
mov cl, byte [0x46080c]
push 0xff
lea edx, [ebp - 0x103]
push 0
push edx
mov byte [ebp - 0x104], cl
call fcn.0044b380
mov eax, dword [0x460800]
add esp, 0xc
cmp eax, 1
jne 0x448aec
mov ecx, dword [ebp - 0xafc]
lea eax, [ebp - 0x104]
push eax
push 1
push 0
push 1
push ecx
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov edx, dword [ebp - 0xa08]
push 0
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x448b0a
mov edx, dword [0x460804]
lea ecx, [ebp - 0x104]
push ecx
push eax
mov eax, dword [ebp - 0xafc]
push 0
push edx
push eax
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov esi, dword [0x46080c]
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xafc], eax
test eax, eax
je 0x448b84
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xb04], eax
test eax, eax
je 0x448b84
lea ecx, [ebp - 0xa2c]
push ecx
push 0x18
push esi
call dword [sym.imp.GDI32.dll_GetObjectA]
mov edx, dword [ebp - 0xafc]
push esi
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
push edx
call esi
movzx eax, word [ebp - 0xa1a]
movzx ecx, word [ebp - 0xa1c]
mov edx, dword [ebp - 0xa24]
push 0
push eax
mov eax, dword [ebp - 0xa28]
push ecx
push edx
push eax
call dword [sym.imp.GDI32.dll_CreateBitmap]
mov ecx, dword [ebp - 0xb04]
push eax
push ecx
call esi
mov edx, dword [0x46080c]
mov eax, dword [ebp - 0xa08]
imul eax, dword [ebp - 0xa08]
add edx, 6
imul edx, dword [0x460810]
cmp eax, edx
jne 0x448bb1
mov ecx, dword [0x460800]
sub dword [0x460804], ecx
mov eax, dword [0x460814]
push 0
push eax
call edi
mov esi, dword [sym.imp.USER32.dll_GetSubMenu]
push eax
call esi
mov dl, byte [0x46080c]
push 0xff
lea eax, [ebp - 0x103]
push 0
push eax
mov byte [ebp - 0x104], dl
call fcn.0044b380
mov ecx, dword [0x460804]
mov edx, dword [0x460800]
lea eax, [edx + ecx - 4]
add esp, 0xc
mov dword [ebp - 0xb04], eax
mov eax, dword [0x460814]
push 0
push eax
call edi
push eax
call esi
mov edx, dword [0x46080c]
mov eax, dword [ebp + edx*4 - 0x104]
lea ecx, [ebp - 0xa7c]
push ecx
push 1
push 0x43a
push eax
mov dword [ebp - 0xa7c], 0x3c
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [0x46080c]
push 0
mov dword [ebp - 0xb14], ecx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov esi, eax
test esi, esi
je 0x448cb7
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xafc], eax
test eax, eax
je 0x448cb7
mov eax, dword [ebp - 0xb14]
lea edx, [ebp - 0xa2c]
push edx
push 0x18
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
mov ecx, dword [ebp - 0xb14]
push ecx
push esi
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
call esi
movzx edx, word [ebp - 0xa1a]
movzx eax, word [ebp - 0xa1c]
mov ecx, dword [ebp - 0xa24]
push 0
push edx
mov edx, dword [ebp - 0xa28]
push eax
push ecx
push edx
call dword [sym.imp.GDI32.dll_CreateBitmap]
push eax
mov eax, dword [ebp - 0xafc]
push eax
call esi
mov ecx, dword [0x46080c]
mov edx, dword [ebp - 0xa08]
imul edx, dword [ebp - 0xb04]
mov eax, dword [0x460800]
add ecx, 6
imul ecx, dword [0x460810]
cmp edx, ecx
jne 0x448ce3
sub dword [0x460804], eax
cmp eax, 1
jne 0x448d13
mov ecx, dword [ebp - 0xafc]
lea eax, [ebp - 0x104]
push eax
push 1
push 0
push 1
push ecx
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov edx, dword [ebp - 0xa08]
push 0
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x448d31
mov edx, dword [0x460804]
lea ecx, [ebp - 0x104]
push ecx
push eax
mov eax, dword [ebp - 0xafc]
push 0
push edx
push eax
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov ecx, dword [0x46080c]
mov edx, dword [ebp - 0xa08]
imul edx, dword [ebp - 0xa08]
add ecx, 6
imul ecx, dword [0x460810]
cmp edx, ecx
jne 0x448d5d
mov eax, dword [0x460800]
sub dword [0x460804], eax
mov eax, dword [0x460814]
push 0xfffffffffffffffa
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
push 0
push 2
push 1
push 8
push 8
mov esi, eax
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
push str.IMAGE
push esi
call dword [sym.imp.USER32.dll_LoadBitmapA]
mov eax, dword [0x460814]
push 0
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov ecx, dword [0x46080c]
mov edx, dword [ebp - 0xa08]
imul edx, dword [ebp - 0xa08]
lea eax, [ecx + 6]
imul eax, dword [0x460810]
cmp edx, eax
mov edx, dword [0x460800]
jne 0x448dc7
sub dword [0x460804], edx
mov esi, dword [ebp - 0xa08]
imul esi, dword [ebp - 0xa08]
cmp esi, eax
jne 0x448dde
sub dword [0x460804], edx
mov ecx, dword [ebp + ecx*4 - 0x104]
lea eax, [ebp - 0xa7c]
push eax
push 1
push 0x43a
push ecx
mov dword [ebp - 0xa7c], 0x3c
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [0x460814]
push 0
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov eax, dword [0x460814]
push 0xfffffffffffffffa
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
push 0
push 2
push 1
push 8
push 8
mov esi, eax
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
push str.IMAGE
push esi
call dword [sym.imp.USER32.dll_LoadBitmapA]
mov eax, dword [0x46080c]
mov ecx, dword [ebp - 0xa08]
imul ecx, dword [ebp - 0xa08]
mov esi, dword [0x460800]
lea edx, [eax + 6]
imul edx, dword [0x460810]
cmp ecx, edx
jne 0x448e6d
sub dword [0x460804], esi
push 0xff
lea edx, [ebp - 0x103]
push 0
push edx
mov byte [ebp - 0x104], al
call fcn.0044b380
add esp, 0xc
lea eax, [ebp - 0x104]
push eax
cmp esi, 1
jne 0x448eb7
mov ecx, dword [ebp - 0xafc]
push esi
push 0
push esi
push ecx
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov edx, dword [ebp - 0xa08]
push 0
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x448ece
mov ecx, dword [0x460804]
mov edx, dword [ebp - 0xafc]
push esi
push 0
push ecx
push edx
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov eax, dword [0x460814]
push 0xfffffffffffffffa
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
push 0
push 2
push 1
push 8
push 8
mov esi, eax
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
push str.IMAGE
push esi
call dword [sym.imp.USER32.dll_LoadBitmapA]
mov eax, dword [0x460814]
push 0
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov eax, dword [0x46080c]
push 0
mov dword [ebp - 0xb14], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov esi, eax
test esi, esi
je 0x448f8c
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xafc], eax
test eax, eax
je 0x448f8c
mov edx, dword [ebp - 0xb14]
lea ecx, [ebp - 0xa2c]
push ecx
push 0x18
push edx
call dword [sym.imp.GDI32.dll_GetObjectA]
mov eax, dword [ebp - 0xb14]
push eax
push esi
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
call esi
movzx ecx, word [ebp - 0xa1a]
movzx edx, word [ebp - 0xa1c]
mov eax, dword [ebp - 0xa24]
push 0
push ecx
mov ecx, dword [ebp - 0xa28]
push edx
push eax
push ecx
call dword [sym.imp.GDI32.dll_CreateBitmap]
mov edx, dword [ebp - 0xafc]
push eax
push edx
call esi
mov ecx, dword [0x46080c]
mov edx, dword [ebp + ecx*4 - 0x104]
lea eax, [ebp - 0xa7c]
push eax
push 1
push 0x43a
push edx
mov dword [ebp - 0xa7c], 0x3c
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [0x460814]
push 0xfffffffffffffffa
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
push 0
push 2
push 1
push 8
push 8
mov esi, eax
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
push str.IMAGE
push esi
call dword [sym.imp.USER32.dll_LoadBitmapA]
mov ecx, dword [0x46080c]
mov edx, dword [ebp + ecx*4 - 0x104]
lea eax, [ebp - 0xa7c]
push eax
push 1
push 0x43a
push edx
mov dword [ebp - 0xa7c], 0x3c
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [0x46080c]
push 0
mov dword [ebp - 0xb14], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov esi, eax
test esi, esi
je 0x449091
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xafc], eax
test eax, eax
je 0x449091
mov edx, dword [ebp - 0xb14]
lea ecx, [ebp - 0xa2c]
push ecx
push 0x18
push edx
call dword [sym.imp.GDI32.dll_GetObjectA]
mov eax, dword [ebp - 0xb14]
push eax
push esi
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
call esi
movzx ecx, word [ebp - 0xa1a]
movzx edx, word [ebp - 0xa1c]
mov eax, dword [ebp - 0xa24]
push 0
push ecx
mov ecx, dword [ebp - 0xa28]
push edx
push eax
push ecx
call dword [sym.imp.GDI32.dll_CreateBitmap]
mov edx, dword [ebp - 0xafc]
push eax
push edx
call esi
mov eax, dword [0x460814]
push 0
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov al, byte [0x46080c]
push 0xff
lea ecx, [ebp - 0x103]
push 0
push ecx
mov byte [ebp - 0x104], al
call fcn.0044b380
mov eax, dword [0x460800]
add esp, 0xc
lea edx, [ebp - 0x104]
push edx
cmp eax, 1
jne 0x4490f6
push eax
push 0
push eax
mov eax, dword [ebp - 0xafc]
push eax
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov ecx, dword [ebp - 0xa08]
push 0
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x44910c
mov ecx, dword [ebp - 0xafc]
push eax
mov eax, dword [0x460804]
push 0
push eax
push ecx
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov eax, dword [0x460814]
push 0xfffffffffffffffa
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
push 0
push 2
push 1
push 8
push 8
mov esi, eax
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
push str.IMAGE
push esi
mov esi, dword [sym.imp.USER32.dll_LoadBitmapA]
call esi
mov dl, byte [0x46080c]
push 0xff
lea eax, [ebp - 0x103]
push 0
push eax
mov byte [ebp - 0x104], dl
call fcn.0044b380
mov eax, dword [0x460814]
add esp, 0xc
push 0
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov eax, dword [0x460800]
lea ecx, [ebp - 0x104]
push ecx
cmp eax, 1
jne 0x4491a0
mov edx, dword [ebp - 0xafc]
push eax
push 0
push eax
push edx
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov eax, dword [ebp - 0xa08]
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x4491b7
mov edx, dword [0x460804]
push eax
mov eax, dword [ebp - 0xafc]
push 0
push edx
push eax
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov eax, dword [0x460814]
push 0xfffffffffffffffa
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
push 0
push 2
push 1
push 8
push 8
mov dword [ebp - 0xafc], eax
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
mov ecx, dword [ebp - 0xafc]
push str.IMAGE
push ecx
call esi
mov dl, byte [0x46080c]
push 0xff
lea eax, [ebp - 0x103]
push 0
push eax
mov byte [ebp - 0x104], dl
call fcn.0044b380
mov eax, dword [0x460800]
add esp, 0xc
lea ecx, [ebp - 0x104]
push ecx
cmp eax, 1
jne 0x44923e
mov edx, dword [ebp - 0xafc]
push eax
push 0
push eax
push edx
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov eax, dword [ebp - 0xa08]
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x449255
mov edx, dword [0x460804]
push eax
mov eax, dword [ebp - 0xafc]
push 0
push edx
push eax
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov edx, dword [0x46080c]
mov eax, dword [ebp + edx*4 - 0x104]
lea ecx, [ebp - 0xa7c]
push ecx
push 1
push 0x43a
push eax
mov dword [ebp - 0xa7c], 0x3c
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [0x46080c]
mov edx, dword [ebp - 0xa08]
imul edx, dword [ebp - 0xa08]
add ecx, 6
imul ecx, dword [0x460810]
cmp edx, ecx
jne 0x4492ad
mov eax, dword [0x460800]
sub dword [0x460804], eax
mov eax, dword [0x460814]
push 0xfffffffffffffffa
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
push 0
push 2
push 1
push 8
push 8
mov dword [ebp - 0xafc], eax
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
mov ecx, dword [ebp - 0xafc]
push str.IMAGE
push ecx
call esi
mov esi, dword [0x46080c]
mov eax, dword [ebp - 0xa08]
imul eax, dword [ebp - 0xa08]
lea edx, [esi + 6]
imul edx, dword [0x460810]
cmp eax, edx
jne 0x44930c
mov ecx, dword [0x460800]
sub dword [0x460804], ecx
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xafc], eax
test eax, eax
je 0x449380
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xb04], eax
test eax, eax
je 0x449380
lea edx, [ebp - 0xa2c]
push edx
push 0x18
push esi
call dword [sym.imp.GDI32.dll_GetObjectA]
mov eax, dword [ebp - 0xafc]
push esi
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
push eax
call esi
movzx ecx, word [ebp - 0xa1a]
movzx edx, word [ebp - 0xa1c]
mov eax, dword [ebp - 0xa24]
push 0
push ecx
mov ecx, dword [ebp - 0xa28]
push edx
push eax
push ecx
call dword [sym.imp.GDI32.dll_CreateBitmap]
mov edx, dword [ebp - 0xb04]
push eax
push edx
call esi
mov eax, dword [0x460814]
push 0
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov ecx, dword [0x46080c]
mov edx, dword [ebp + ecx*4 - 0x104]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
lea eax, [ebp - 0xa7c]
push eax
push 1
push 0x43a
push edx
mov dword [ebp - 0xa7c], 0x3c
call esi
mov al, byte [0x46080c]
push 0xff
lea ecx, [ebp - 0x103]
push 0
push ecx
mov byte [ebp - 0x104], al
call fcn.0044b380
mov edx, dword [0x46080c]
mov eax, dword [ebp - 0xa08]
imul eax, dword [ebp - 0xa08]
add edx, 6
imul edx, dword [0x460810]
add esp, 0xc
cmp eax, edx
mov eax, dword [0x460800]
jne 0x44940c
sub dword [0x460804], eax
lea ecx, [ebp - 0x104]
push ecx
cmp eax, 1
jne 0x44943a
mov edx, dword [ebp - 0xafc]
push eax
push 0
push eax
push edx
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov eax, dword [ebp - 0xa08]
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x449451
mov edx, dword [0x460804]
push eax
mov eax, dword [ebp - 0xafc]
push 0
push edx
push eax
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov edx, dword [0x46080c]
mov eax, dword [ebp + edx*4 - 0x104]
lea ecx, [ebp - 0xa7c]
push ecx
push 1
push 0x43a
push eax
mov dword [ebp - 0xa7c], 0x3c
call esi
mov eax, dword [0x460814]
push 0
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov edx, dword [0x46080c]
mov eax, dword [ebp + edx*4 - 0x104]
lea ecx, [ebp - 0xa7c]
push ecx
push 1
push 0x43a
push eax
mov dword [ebp - 0xa7c], 0x3c
call esi
mov ecx, dword [0x46080c]
mov edx, dword [ebp - 0xa08]
imul edx, dword [ebp - 0xa08]
add ecx, 6
imul ecx, dword [0x460810]
cmp edx, ecx
jne 0x4494de
mov eax, dword [0x460800]
sub dword [0x460804], eax
mov eax, dword [0x460814]
push 0
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov eax, dword [0x460814]
push 0xfffffffffffffffa
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
push 0
push 2
push 1
push 8
push 8
mov esi, eax
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
push str.IMAGE
push esi
call dword [sym.imp.USER32.dll_LoadBitmapA]
mov edi, dword [0x46080c]
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov esi, eax
test esi, esi
je 0x44958d
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xafc], eax
test eax, eax
je 0x44958d
lea ecx, [ebp - 0xa2c]
push ecx
push 0x18
push edi
call dword [sym.imp.GDI32.dll_GetObjectA]
push edi
push esi
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
call esi
movzx edx, word [ebp - 0xa1a]
movzx eax, word [ebp - 0xa1c]
mov ecx, dword [ebp - 0xa24]
push 0
push edx
mov edx, dword [ebp - 0xa28]
push eax
push ecx
push edx
call dword [sym.imp.GDI32.dll_CreateBitmap]
push eax
mov eax, dword [ebp - 0xafc]
push eax
call esi
jmp 0x449593
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
mov edi, dword [0x46080c]
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xafc], eax
test eax, eax
je 0x449607
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xb04], eax
test eax, eax
je 0x449607
lea ecx, [ebp - 0xa2c]
push ecx
push 0x18
push edi
call dword [sym.imp.GDI32.dll_GetObjectA]
mov edx, dword [ebp - 0xafc]
push edi
push edx
call esi
movzx eax, word [ebp - 0xa1a]
movzx ecx, word [ebp - 0xa1c]
mov edx, dword [ebp - 0xa24]
push 0
push eax
mov eax, dword [ebp - 0xa28]
push ecx
push edx
push eax
call dword [sym.imp.GDI32.dll_CreateBitmap]
mov ecx, dword [ebp - 0xb04]
push eax
push ecx
call esi
mov eax, dword [0x460814]
push 0xfffffffffffffffa
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov edi, dword [sym.imp.COMCTL32.dll_ImageList_Create]
push 0
push 2
push 1
push 8
push 8
mov esi, eax
call edi
push str.IMAGE
push esi
call dword [sym.imp.USER32.dll_LoadBitmapA]
mov eax, dword [0x46080c]
mov ecx, dword [ebp + eax*4 - 0x104]
lea edx, [ebp - 0xa7c]
push edx
push 1
push 0x43a
push ecx
mov dword [ebp - 0xa7c], 0x3c
call dword [sym.imp.USER32.dll_SendMessageA]
mov dl, byte [0x46080c]
push 0xff
lea eax, [ebp - 0x103]
push 0
push eax
mov byte [ebp - 0x104], dl
call fcn.0044b380
mov eax, dword [0x460814]
add esp, 0xc
push 0xfffffffffffffffa
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
push 0
push 2
push 1
push 8
push 8
mov esi, eax
call edi
push str.IMAGE
push esi
call dword [sym.imp.USER32.dll_LoadBitmapA]
mov edi, dword [0x46080c]
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov esi, eax
test esi, esi
je 0x44971a
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xafc], eax
test eax, eax
je 0x44971a
lea ecx, [ebp - 0xa2c]
push ecx
push 0x18
push edi
call dword [sym.imp.GDI32.dll_GetObjectA]
push edi
push esi
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
call esi
movzx edx, word [ebp - 0xa1a]
movzx eax, word [ebp - 0xa1c]
mov ecx, dword [ebp - 0xa24]
push 0
push edx
mov edx, dword [ebp - 0xa28]
push eax
push ecx
push edx
call dword [sym.imp.GDI32.dll_CreateBitmap]
push eax
mov eax, dword [ebp - 0xafc]
push eax
call esi
mov eax, dword [0x460800]
lea ecx, [ebp - 0x104]
push ecx
cmp eax, 1
jne 0x44974d
mov edx, dword [ebp - 0xafc]
push eax
push 0
push eax
push edx
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov eax, dword [ebp - 0xa08]
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x449764
mov edx, dword [0x460804]
push eax
mov eax, dword [ebp - 0xafc]
push 0
push edx
push eax
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov edx, dword [0x46080c]
mov eax, dword [ebp + edx*4 - 0x104]
lea ecx, [ebp - 0xa7c]
push ecx
push 1
push 0x43a
push eax
mov dword [ebp - 0xa7c], 0x3c
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [0x460814]
push 0xfffffffffffffffa
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
push 0
push 2
push 1
push 8
push 8
mov esi, eax
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
push str.IMAGE
push esi
call dword [sym.imp.USER32.dll_LoadBitmapA]
mov cl, byte [0x46080c]
push 0xff
lea edx, [ebp - 0x103]
push 0
push edx
mov byte [ebp - 0x104], cl
call fcn.0044b380
mov edi, dword [0x46080c]
add esp, 0xc
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov esi, eax
test esi, esi
je 0x44984e
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xafc], eax
test eax, eax
je 0x44984e
lea eax, [ebp - 0xa2c]
push eax
push 0x18
push edi
call dword [sym.imp.GDI32.dll_GetObjectA]
push edi
push esi
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
call esi
movzx ecx, word [ebp - 0xa1a]
movzx edx, word [ebp - 0xa1c]
mov eax, dword [ebp - 0xa24]
push 0
push ecx
mov ecx, dword [ebp - 0xa28]
push edx
push eax
push ecx
call dword [sym.imp.GDI32.dll_CreateBitmap]
mov edx, dword [ebp - 0xafc]
push eax
push edx
call esi
mov eax, dword [0x460800]
cmp eax, 1
jne 0x449883
mov ecx, dword [ebp - 0xafc]
lea eax, [ebp - 0x104]
push eax
push 1
push 0
push 1
push ecx
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov edx, dword [ebp - 0xa08]
push 0
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x4498a1
mov edx, dword [0x460804]
lea ecx, [ebp - 0x104]
push ecx
push eax
mov eax, dword [ebp - 0xafc]
push 0
push edx
push eax
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov eax, dword [0x460814]
push 0
push eax
call dword [sym.imp.USER32.dll_GetMenu]
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov edx, dword [0x46080c]
mov eax, dword [ebp + edx*4 - 0x104]
lea ecx, [ebp - 0xa7c]
push ecx
push 1
push 0x43a
push eax
mov dword [ebp - 0xa7c], 0x3c
call dword [sym.imp.USER32.dll_SendMessageA]
mov edi, dword [0x46080c]
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov esi, eax
test esi, esi
je 0x449952
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xafc], eax
test eax, eax
je 0x449952
lea ecx, [ebp - 0xa2c]
push ecx
push 0x18
push edi
call dword [sym.imp.GDI32.dll_GetObjectA]
push edi
push esi
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
call esi
movzx edx, word [ebp - 0xa1a]
movzx eax, word [ebp - 0xa1c]
mov ecx, dword [ebp - 0xa24]
push 0
push edx
mov edx, dword [ebp - 0xa28]
push eax
push ecx
push edx
call dword [sym.imp.GDI32.dll_CreateBitmap]
push eax
mov eax, dword [ebp - 0xafc]
push eax
call esi
mov edx, dword [0x46080c]
mov eax, dword [ebp + edx*4 - 0x104]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
lea ecx, [ebp - 0xa7c]
push ecx
push 1
push 0x43a
push eax
mov dword [ebp - 0xa7c], 0x3c
call edi
mov eax, dword [0x460814]
push 0xfffffffffffffffa
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
push 0
push 2
push 1
push 8
push 8
mov esi, eax
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
push str.IMAGE
push esi
call dword [sym.imp.USER32.dll_LoadBitmapA]
mov cl, byte [0x46080c]
push 0xff
lea edx, [ebp - 0x103]
push 0
push edx
mov byte [ebp - 0x104], cl
call fcn.0044b380
mov ecx, dword [0x46080c]
mov edx, dword [ebp + ecx*4 - 0x104]
add esp, 0xc
lea eax, [ebp - 0xa7c]
push eax
push 1
push 0x43a
push edx
mov dword [ebp - 0xa7c], 0x3c
call edi
mov eax, dword [0x460800]
cmp eax, 1
jne 0x449a2b
mov ecx, dword [ebp - 0xafc]
lea eax, [ebp - 0x104]
push eax
push 1
push 0
push 1
push ecx
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov edx, dword [ebp - 0xa08]
push 0
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x449a49
mov edx, dword [0x460804]
lea ecx, [ebp - 0x104]
push ecx
push eax
mov eax, dword [ebp - 0xafc]
push 0
push edx
push eax
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov eax, dword [0x460814]
push 0
push eax
call dword [sym.imp.USER32.dll_GetMenu]
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov esi, dword [0x46080c]
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov edi, eax
test edi, edi
je 0x449ace
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xafc], eax
test eax, eax
je 0x449ace
lea ecx, [ebp - 0xa2c]
push ecx
push 0x18
push esi
call dword [sym.imp.GDI32.dll_GetObjectA]
push esi
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
push edi
call esi
movzx edx, word [ebp - 0xa1a]
movzx eax, word [ebp - 0xa1c]
mov ecx, dword [ebp - 0xa24]
push 0
push edx
mov edx, dword [ebp - 0xa28]
push eax
push ecx
push edx
call dword [sym.imp.GDI32.dll_CreateBitmap]
push eax
mov eax, dword [ebp - 0xafc]
push eax
call esi
mov cl, byte [0x46080c]
push 0xff
lea edx, [ebp - 0x103]
push 0
push edx
mov byte [ebp - 0x104], cl
call fcn.0044b380
mov eax, dword [0x46080c]
mov ecx, dword [ebp - 0xa08]
imul ecx, dword [ebp - 0xa08]
add eax, 6
imul eax, dword [0x460810]
add esp, 0xc
cmp ecx, eax
jne 0x449b1c
mov edx, dword [0x460800]
sub dword [0x460804], edx
mov eax, dword [0x460814]
push 0xfffffffffffffffa
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
push 0
push 2
push 1
push 8
push 8
mov esi, eax
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
push str.IMAGE
push esi
call dword [sym.imp.USER32.dll_LoadBitmapA]
mov eax, dword [0x460800]
cmp eax, 1
jne 0x449b7d
mov ecx, dword [ebp - 0xafc]
lea eax, [ebp - 0x104]
push eax
push 1
push 0
push 1
push ecx
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov edx, dword [ebp - 0xa08]
push 0
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x449b9b
mov edx, dword [0x460804]
lea ecx, [ebp - 0x104]
push ecx
push eax
mov eax, dword [ebp - 0xafc]
push 0
push edx
push eax
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov eax, dword [0x460814]
mov edi, dword [sym.imp.USER32.dll_GetMenu]
push 0
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov eax, dword [0x46080c]
mov ecx, dword [ebp - 0xa08]
imul ecx, dword [ebp - 0xa08]
add eax, 6
imul eax, dword [0x460810]
cmp ecx, eax
mov ecx, dword [0x460800]
jne 0x449bde
sub dword [0x460804], ecx
mov edx, dword [ebp - 0xa08]
imul edx, dword [ebp - 0xa08]
cmp edx, eax
jne 0x449bf5
sub dword [0x460804], ecx
mov eax, dword [0x460814]
push 0xfffffffffffffffa
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
push 0
push 2
push 1
push 8
push 8
mov esi, eax
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
push str.IMAGE
push esi
call dword [sym.imp.USER32.dll_LoadBitmapA]
mov al, byte [0x46080c]
push 0xff
lea ecx, [ebp - 0x103]
push 0
push ecx
mov byte [ebp - 0x104], al
call fcn.0044b380
mov eax, dword [0x460814]
add esp, 0xc
push 0
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov eax, dword [0x460800]
lea edx, [ebp - 0x104]
push edx
cmp eax, 1
jne 0x449c86
push eax
push 0
push eax
mov eax, dword [ebp - 0xafc]
push eax
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov ecx, dword [ebp - 0xa08]
push 0
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x449c9c
mov ecx, dword [ebp - 0xafc]
push eax
mov eax, dword [0x460804]
push 0
push eax
push ecx
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov eax, dword [0x46080c]
mov ecx, dword [ebp + eax*4 - 0x104]
lea edx, [ebp - 0xa7c]
push edx
push 1
push 0x43a
push ecx
mov dword [ebp - 0xa7c], 0x3c
call dword [sym.imp.USER32.dll_SendMessageA]
mov esi, dword [0x46080c]
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov edi, eax
test edi, edi
je 0x449d37
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xafc], eax
test eax, eax
je 0x449d37
lea edx, [ebp - 0xa2c]
push edx
push 0x18
push esi
call dword [sym.imp.GDI32.dll_GetObjectA]
push esi
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
push edi
call esi
movzx eax, word [ebp - 0xa1a]
movzx ecx, word [ebp - 0xa1c]
mov edx, dword [ebp - 0xa24]
push 0
push eax
mov eax, dword [ebp - 0xa28]
push ecx
push edx
push eax
call dword [sym.imp.GDI32.dll_CreateBitmap]
mov ecx, dword [ebp - 0xafc]
push eax
push ecx
call esi
mov eax, dword [0x460814]
mov edi, dword [sym.imp.USER32.dll_GetMenu]
push 0
push eax
call edi
mov esi, dword [sym.imp.USER32.dll_GetSubMenu]
push eax
call esi
mov eax, dword [0x460814]
push 0
push eax
call edi
push eax
call esi
mov edx, dword [0x46080c]
mov eax, dword [ebp - 0xa08]
imul eax, dword [ebp - 0xa08]
add edx, 6
imul edx, dword [0x460810]
cmp eax, edx
jne 0x449d8a
mov ecx, dword [0x460800]
sub dword [0x460804], ecx
mov dl, byte [0x46080c]
push 0xff
lea eax, [ebp - 0x103]
push 0
push eax
mov byte [ebp - 0x104], dl
call fcn.0044b380
mov edx, dword [0x46080c]
mov eax, dword [ebp + edx*4 - 0x104]
add esp, 0xc
lea ecx, [ebp - 0xa7c]
push ecx
push 1
push 0x43a
push eax
mov dword [ebp - 0xa7c], 0x3c
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [0x460800]
mov esi, dword [sym.imp.USER32.dll_ModifyMenuA]
lea ecx, [ebp - 0x104]
push ecx
cmp eax, 1
jne 0x449e0d
mov edx, dword [ebp - 0xafc]
push eax
push 0
push eax
push edx
call esi
mov eax, dword [ebp - 0xa08]
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x449e20
mov edx, dword [0x460804]
push eax
mov eax, dword [ebp - 0xafc]
push 0
push edx
push eax
call esi
mov eax, dword [0x460814]
push 0
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov cl, byte [0x46080c]
push 0xff
lea edx, [ebp - 0x103]
push 0
push edx
mov byte [ebp - 0x104], cl
call fcn.0044b380
mov eax, dword [0x46080c]
mov ecx, dword [ebp - 0xa08]
imul ecx, dword [ebp - 0xa08]
add eax, 6
imul eax, dword [0x460810]
add esp, 0xc
cmp ecx, eax
mov eax, dword [0x460800]
jne 0x449e7e
sub dword [0x460804], eax
lea edx, [ebp - 0x104]
push edx
cmp eax, 1
jne 0x449ea8
push eax
push 0
push eax
mov eax, dword [ebp - 0xafc]
push eax
call esi
mov ecx, dword [ebp - 0xa08]
push 0
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x449eba
mov ecx, dword [ebp - 0xafc]
push eax
mov eax, dword [0x460804]
push 0
push eax
push ecx
call esi
mov esi, dword [0x46080c]
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov edi, eax
test edi, edi
je 0x449f2a
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xafc], eax
test eax, eax
je 0x449f2a
lea edx, [ebp - 0xa2c]
push edx
push 0x18
push esi
call dword [sym.imp.GDI32.dll_GetObjectA]
push esi
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
push edi
call esi
movzx eax, word [ebp - 0xa1a]
movzx ecx, word [ebp - 0xa1c]
mov edx, dword [ebp - 0xa24]
push 0
push eax
mov eax, dword [ebp - 0xa28]
push ecx
push edx
push eax
call dword [sym.imp.GDI32.dll_CreateBitmap]
mov ecx, dword [ebp - 0xafc]
push eax
push ecx
call esi
mov eax, dword [0x46080c]
mov ecx, dword [ebp + eax*4 - 0x104]
lea edx, [ebp - 0xa7c]
push edx
push 1
push 0x43a
push ecx
mov dword [ebp - 0xa7c], 0x3c
call dword [sym.imp.USER32.dll_SendMessageA]
mov dl, byte [0x46080c]
push 0xff
lea eax, [ebp - 0x103]
push 0
push eax
mov byte [ebp - 0x104], dl
call fcn.0044b380
mov ecx, dword [0x46080c]
mov edx, dword [ebp - 0xa08]
imul edx, dword [ebp - 0xa08]
add ecx, 6
imul ecx, dword [0x460810]
add esp, 0xc
cmp edx, ecx
jne 0x449fa3
mov eax, dword [0x460800]
sub dword [0x460804], eax
mov eax, dword [0x460814]
push 0xfffffffffffffffa
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
push 0
push 2
push 1
push 8
push 8
mov esi, eax
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
push str.IMAGE
push esi
call dword [sym.imp.USER32.dll_LoadBitmapA]
mov eax, dword [0x460814]
push 0
push eax
call dword [sym.imp.USER32.dll_GetMenu]
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov eax, dword [0x460800]
lea ecx, [ebp - 0x104]
push ecx
cmp eax, 1
jne 0x44a017
mov edx, dword [ebp - 0xafc]
push eax
push 0
push eax
push edx
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov eax, dword [ebp - 0xa08]
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x44a02e
mov edx, dword [0x460804]
push eax
mov eax, dword [ebp - 0xafc]
push 0
push edx
push eax
call dword [sym.imp.USER32.dll_ModifyMenuA]
mov ecx, dword [0x460814]
mov esi, dword [ebp - 0xb34]
push 0x103
lea edx, [ebp - 0x30f]
push 0
push edx
mov dword [ebp - 0xb3c], ecx
mov byte [ebp - 0x310], bl
call fcn.0044b380
push 0x103
lea eax, [ebp - 0x107]
push 0
push eax
mov byte [ebp - 0x108], bl
call fcn.0044b380
mov edx, dword [0x46080c]
mov eax, dword [0x460810]
lea ecx, [ebx + ebx + 3]
mov dword [ebp - 0xb10], ecx
lea ecx, [edx + ebx + 1]
mov edx, dword [0x460800]
imul ecx, eax
mov edi, edx
neg edi
add esp, 0x18
cmp edi, ecx
jne 0x44a0a5
add dword [0x460804], edx
mov ecx, dword [0x460814]
sar eax, 8
lea ecx, [ecx*4 + 1]
imul ecx, dword [ebp - 0xb2c]
mov edi, 0x444e58
sub edi, eax
add eax, 0xfffffffc
imul eax, dword [ebp - 0xb18]
add eax, dword [ebp - 0xb38]
mov dword [ebp - 0xb1c], ecx
mov ecx, dword [0x460804]
lea edx, [edx + ecx - 3]
mov dword [0x460800], edx
mov dword [ebp - 0xb14], edi
mov dword [ebp - 0xa80], eax
call dword [sym.imp.USER32.dll_GetDialogBaseUnits]
cmp dword [ebp - 0xb18], 0
je 0x44a12e
cmp dword [0x460810], 0
je 0x44a12e
cmp dword [ebp - 0xb30], 0
je 0x44a12e
mov eax, dword [0x46080c]
lea ecx, [eax*8]
sub ecx, eax
lea edx, [edi + ecx + 7]
mov dword [ebp - 0xb14], edx
push 0
push 0
push 3
push 0
push 0
push 0x80000000
lea eax, [ebp - 0x310]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, dword [ebp - 0xb00]
mov ecx, ebx
imul ecx, dword [ebp - 0xb10]
sub edi, ecx
add edi, 4
imul esi, edi
push 0
push eax
mov dword [ebp - 0xb2c], eax
mov dword [ebp - 0xb08], esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ecx, dword [0x460800]
mov edx, dword [0x460804]
push eax
lea edx, [ecx + edx - 4]
push 2
mov dword [ebp - 0xb0c], eax
mov dword [0x460800], edx
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp - 0xb04], eax
mov eax, dword [ebp - 0xb0c]
cmp dword [ebp - 0xb2c], eax
jne 0x44a1fc
imul esi, edi
mov edi, dword [ebp - 0xb18]
mov edx, 1
sub edx, dword [ebp - 0xb3c]
mov eax, edi
sub eax, ebx
imul eax, edx
mov edx, dword [ebp - 0xb38]
mov ecx, esi
lea esi, [edx + eax*2]
add esi, eax
mov eax, 0x65
sub eax, edx
imul eax, dword [ebp - 0xb28]
sub eax, ecx
mov dword [ebp - 0xb08], ecx
lea ecx, [eax + ebx*2 + 1]
mov dword [0x460804], ecx
jmp 0x44a354
mov esi, dword [sym.imp.USER32.dll_GetDialogBaseUnits]
call esi
movzx edx, ax
mov dword [ebp - 0xb3c], edx
call esi
push 0
push 0
push 0
mov esi, eax
push str.DISPLAY
shr esi, 0x10
call dword [sym.imp.GDI32.dll_CreateICA]
mov edi, eax
push edi
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push edi
mov dword [ebp - 0xb40], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push edi
mov dword [ebp - 0xaac], eax
call dword [sym.imp.GDI32.dll_DeleteDC]
lea eax, [ebp - 0xa2c]
push eax
push 0x18
push ebx
call dword [sym.imp.GDI32.dll_GetObjectA]
mov ecx, dword [ebp - 0xa2c]
mov eax, dword [ebp - 0xa1c]
mov edx, dword [ebp - 0xa20]
mov dword [ebp - 0xa94], eax
mov eax, dword [ebp - 0xb3c]
mov dword [ebp - 0xaa4], ecx
mov ecx, dword [ebp - 0xa28]
imul eax, ecx
mov dword [ebp - 0xa98], edx
mov edx, dword [ebp - 0xa18]
mov dword [ebp - 0xa90], edx
cdq
and edx, 3
mov dword [ebp - 0xaa0], ecx
lea ecx, [edx + eax]
mov eax, dword [ebp - 0xa24]
imul eax, esi
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [ebp - 0xa9c], eax
sar ecx, 2
lea eax, [ecx + 0xf]
cdq
and edx, 0xf
add eax, edx
sar eax, 4
add eax, eax
mov dword [ebp - 0xa98], eax
lea eax, [ebp - 0xaa4]
push eax
mov dword [ebp - 0xaa0], ecx
call dword [sym.imp.GDI32.dll_CreateBitmapIndirect]
mov esi, dword [ebp - 0xb40]
push ebx
push esi
mov edi, eax
call dword [sym.imp.GDI32.dll_SelectObject]
push edi
mov edi, dword [ebp - 0xaac]
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [ebp - 0xa24]
mov edx, dword [ebp - 0xa28]
mov eax, dword [ebp - 0xa9c]
push 0xcc0020
push ecx
mov ecx, dword [ebp - 0xaa0]
push edx
push 0
push 0
push esi
push eax
push ecx
push 0
push 0
push edi
call dword [sym.imp.GDI32.dll_StretchBlt]
push esi
mov esi, dword [sym.imp.GDI32.dll_DeleteDC]
call esi
push edi
call esi
push ebx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov esi, dword [ebp - 0xa80]
mov edi, dword [ebp - 0xb18]
mov edx, dword [ebp - 0xb04]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0xa80], eax
cmp eax, 1
jge 0x44a3ff
mov edx, dword [0x460804]
xor eax, eax
lea ecx, [ebx + 1]
cmp eax, ecx
jg 0x44a398
cmp eax, 1
jne 0x44a38a
lea edx, [edx + edx - 4]
sub edx, ebx
inc eax
cmp eax, 3
jle 0x44a378
mov dword [0x460804], edx
jmp 0x44a3ff
mov dword [0x460804], edx
mov edx, dword [ebp - 0xb00]
lea eax, [ebx + edx]
test eax, eax
je 0x44a3b9
mov ecx, dword [ebp - 0xb10]
add ecx, edi
mov dword [ebp - 0xb08], ecx
cmp dword [ebp - 0xb30], edi
jbe 0x44a3f5
test ebx, ebx
je 0x44a3d0
mov ecx, dword [0x46080c]
add ecx, 4
jmp 0x44a3d2
mov ecx, esi
lea eax, [ebp - 0x20c]
test edi, edi
je 0x44a3e2
mov eax, dword [ebp - 0xb1c]
mov edx, dword [ebp - 0xb14]
push ecx
push edx
push eax
call fcn.0044b010
add esp, 0xc
jmp 0x44a3ff
mov dword [0x460804], 0
mov ecx, dword [ebp - 0xb0c]
mov edx, dword [ebp - 0xa80]
mov edi, dword [ebp - 0xb2c]
push 0
lea eax, [ebp - 0xa34]
push eax
push ecx
push edx
push edi
mov dword [ebp - 0xa34], 0
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, 0x64
jle 0x44a458
mov eax, dword [ebp - 0xb10]
cmp eax, dword [ebp - 0xb00]
jne 0x44a4c7
mov edx, dword [ebp - 0xb30]
add edx, dword [0x460804]
add dword [0x460800], edx
jmp 0x44a4c7
mov ecx, dword [ebp - 0xb28]
add ecx, dword [ebp - 0xb10]
lea eax, [ebx + 1]
imul ecx, eax
cmp ebx, ecx
je 0x44a47f
movzx edx, byte [ebp - 0xb00]
cmp ebx, edx
jne 0x44a47f
inc dword [ebp - 0xb00]
mov eax, dword [0x460814]
cmp ebx, eax
jne 0x44a4c7
mov ecx, dword [0x460810]
cmp dword [0x460818], ecx
jbe 0x44a4c7
test eax, eax
je 0x44a4a3
mov esi, dword [0x46080c]
add esi, 4
lea eax, [ebp - 0xa04]
test ecx, ecx
je 0x44a4b3
mov eax, dword [ebp - 0xb1c]
mov ecx, dword [ebp - 0xb38]
add ecx, 0xea
push ecx
push esi
push eax
call fcn.00446490
mov esi, dword [ebp - 0xb04]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea edx, [ebp - 0xb24]
push edx
push 1
push esi
mov dword [ebp - 0xb24], 0
call dword [sym.imp.ole32.dll_CreateStreamOnHGlobal]
cmp eax, ebx
jle 0x44a51f
mov eax, dword [0x460800]
mov ecx, dword [ebp - 0xa08]
lea eax, [eax + ecx + 0x1b5]
mov dword [0x460800], eax
neg eax
xor edx, edx
lea ecx, [ebx + 1]
div ecx
mov dword [ebp - 0xb10], eax
test ebx, ebx
jne 0x44a52f
cmp dword [0x46080c], ebx
je 0x44a5e1
mov eax, dword [ebp - 0xafc]
test eax, eax
je 0x44a541
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, ebx
shl eax, 4
sub eax, ebx
add eax, dword [ebp - 0xb10]
lea ecx, [ebp - 0xafc]
imul eax, dword [ebp - 0xb00]
cdq
push ecx
sub eax, edx
mov edx, dword [ebp - 0xb0c]
push 0x45a930
sar eax, 1
add dword [0x460800], eax
mov eax, dword [ebp - 0xb24]
push 0
push edx
push eax
call dword [sym.imp.OLEAUT32.dll_OleCreatePictureIndirect]
mov eax, dword [ebp - 0xb24]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, 0x65
sub eax, dword [ebp - 0xb38]
push 0x104
imul eax, dword [ebp - 0xb28]
sub eax, dword [ebp - 0xb08]
lea edx, [ebp - 0x108]
lea ecx, [eax + ebx*2 + 1]
push edx
lea eax, [ebp - 0x61c]
push eax
mov dword [0x460804], ecx
call fcn.0044ba93
mov edx, dword [ebp - 0xafc]
add esp, 0xc
lea ecx, [ebp - 0x61c]
push ecx
push edx
call dword [sym.imp.OLEAUT32.dll_OleLoadPicturePath]
mov ecx, dword [ebp - 0xb1c]
fld qword [ebp - 0xa0c]
lea edx, [ebp - 0xab8]
push edx
lea eax, [ebp - 0xb34]
sub esp, 8
fstp qword [esp]
mov dword [ecx + 1], eax
call dword [sym.imp.OLEAUT32.dll_UnRegisterTypeLib]
mov esi, dword [sym.imp.OLEAUT32.dll_VariantTimeToSystemTime]
lea eax, [ebp - 0xa0c]
push eax
lea ecx, [ebp - 0xa9c]
push ecx
call esi
lea edx, [ebp - 0xa8c]
push edx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
lea eax, [ebp - 0xa0c]
push eax
lea ecx, [ebp - 0xa8c]
push ecx
call esi
inc word [ebp - 0xa80]
lea edx, [ebp - 0xa38]
push edx
lea eax, [ebp - 0xa8c]
push eax
call esi
push 4
push 0
call dword [sym.imp.USER32.dll_GetWindow]
test eax, eax
je 0x44a66d
mov ecx, dword [0x460804]
mov dword [0x460800], ecx
mov edi, dword [sym.imp.USER32.dll_GetParent]
push 0
push 0
push 0x223
push 0
call edi
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push eax
call esi
push 0
push 0
push 0x11
push 0
call esi
push 0
push 0
push 0x221
push 0
call edi
push eax
call esi
mov edi, dword [0x460814]
mov edx, dword [0x460800]
mov eax, dword [0x460804]
lea ecx, [ebx - 1]
cmp ecx, 0xe
ja case.0x44a6c7.3
movzx ecx, byte [ecx + 0x44a958]
jmp dword [ecx*4 + 0x44a944]
push edi
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
push 0x460830
push esi
call dword [sym.imp.GDI32.dll_GetTextMetricsA]
push esi
push edi
call dword [sym.imp.USER32.dll_ReleaseDC]
mov dword [0x46082c], 0
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0044b371
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
movzx edi, ax
shr eax, 0x10
mov ebx, eax
mov eax, dword [0x46082c]
test eax, eax
je 0x44a724
push eax
call esi
push ebx
push edi
push 0
push 0
call dword [sym.imp.GDI32.dll_CreateEllipticRgn]
push ebx
push edi
push 0
push 0
mov dword [0x46082c], eax
call dword [sym.imp.GDI32.dll_CreateEllipticRgn]
push ebx
push edi
push 0
push 0
mov dword [0x460828], eax
call dword [sym.imp.GDI32.dll_CreateEllipticRgn]
mov edx, dword [0x460824]
mov edi, dword [sym.imp.GDI32.dll_CombineRgn]
push 2
push edx
push eax
mov dword [0x460820], eax
mov eax, dword [0x460828]
push eax
call edi
mov ecx, dword [0x46081c]
mov edx, dword [0x460828]
mov eax, dword [0x46082c]
push 4
push ecx
push edx
push eax
call edi
mov ecx, dword [0x460820]
push ecx
call esi
mov edx, dword [0x46081c]
push edx
call esi
mov eax, dword [0x460824]
push eax
call esi
mov ecx, dword [0x460828]
push ecx
call esi
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0044b371
mov esp, ebp
pop ebp
ret 0x10
lea edx, [ebp - 0xaf8]
push edx
push edi
call dword [sym.imp.USER32.dll_BeginPaint]
push 0xff00
mov esi, eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
push 5
push 2
push eax
mov eax, dword [0x46082c]
push eax
push esi
call dword [sym.imp.GDI32.dll_FrameRgn]
mov ecx, dword [0x46082c]
push ecx
push esi
call dword [sym.imp.GDI32.dll_SelectClipRgn]
mov eax, dword [ebp - 0xa08]
mov edx, dword [ebp - 0xa08]
sub edx, eax
push 0x10
lea ecx, [ebp - 0xa14]
mov dword [ebp - 0xa0c], edx
mov dword [ebp - 0xa14], eax
mov eax, dword [ebp - 0xa08]
push ecx
lea edx, [ebp - 0x310]
push edx
mov dword [ebp - 0xa10], 0
mov dword [ebp - 0xa08], eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x310]
push eax
push esi
call dword [sym.imp.USER32.dll_DrawTextA]
lea ecx, [ebp - 0xaf8]
push ecx
push edi
call dword [sym.imp.USER32.dll_EndPaint]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0044b371
mov esp, ebp
pop ebp
ret 0x10
mov edx, dword [0x46082c]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0044b371
mov esp, ebp
pop ebp
ret 0x10
push eax
push edx
push ebx
push edi
call dword [sym.imp.USER32.dll_DefWindowProcA]
xor eax, eax
mov dword [ebp - 0xa64], eax
mov dword [ebp - 0xa60], eax
mov dword [ebp - 0xa5c], eax
mov dword [ebp - 0xa58], eax
mov dword [ebp - 0xa54], eax
mov dword [ebp - 0xa50], eax
mov dword [ebp - 0xa4c], eax
mov dword [ebp - 0xa48], eax
mov dword [ebp - 0xa44], eax
lea eax, [ebp - 0xa68]
push eax
mov dword [ebp - 0xa68], ebx
call dword [sym.imp.COMDLG32.dll_FindTextA]
test eax, eax
je 0x44a901
mov dword [ebp - 0xafc], 0x446480
jmp 0x44a90d
mov ecx, dword [ebp - 0xb1c]
mov dword [ebp - 0xafc], ecx
cmp dword [0x460818], 0
je 0x44a930
mov edx, dword [0x460814]
push ebx
push edx
call dword [sym.imp.USER32.dll_ReleaseDC]
test eax, eax
jne 0x44a930
mov edx, dword [ebp - 0xafc]
call edx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0044b371
mov esp, ebp
pop ebp
ret 0x10