Function at 0x40a270
Capabilities:
Inspect load icon resource

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x484a68
mov eax, dword fs:[0]
push eax
sub esp, 0x54
mov eax, dword [0x4a7f70]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebp + 8]
push 1
push 0
push 1
sub esp, 0x18
mov ecx, esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov dword [ebp - 0x48], edi
mov byte [ecx], 0
call fcn.0040f1b0
mov ecx, edi
call fcn.00418e40
push 0
mov byte [0x4a94e1], 0
mov dword [0x4a94f8], 0
mov dword [0x4a9500], 1
mov eax, dword [edi + 0x1c]
push 0x4a501c
push 0x4a94f4
mov dword [ebp - 4], 0
mov dword [0x4a9504], eax
call sub.gdiplus.dll_GdiplusStartup
push 0x64
push dword [0x4a94e4]
call dword [sym.imp.USER32.dll_LoadIconW]
push eax
push 0xfffffffffffffff2
push dword [edi + 0x1c]
call dword [sym.imp.USER32.dll_SetClassLongW]
mov esi, dword [sym.imp.USER32.dll_GetWindowLongW]
push 0xfffffffffffffff0
push dword [edi + 0x1c]
call esi
and eax, 0xfffbffff
push eax
push 0xfffffffffffffff0
push dword [edi + 0x1c]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 0
push dword [edi + 0x1c]
call dword [sym.imp.USER32.dll_GetSystemMenu]
push 2
push 0xf060
push eax
call dword [sym.imp.USER32.dll_EnableMenuItem]
push 0x65
push dword [0x4a94e4]
call dword [sym.imp.USER32.dll_LoadBitmapW]
lea ecx, [ebp - 0x60]
push ecx
push 0x18
push eax
mov dword [0x4a94f0], eax
call dword [sym.imp.GDI32.dll_GetObjectW]
mov eax, dword [ebp - 0x5c]
push 0
push 0xfffffffffffffff0
push dword [edi + 0x1c]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x14], eax
call esi
push eax
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.USER32.dll_AdjustWindowRect]
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
push 4
mov dword [0x4a94e8], ecx
mov dword [0x4a94ec], eax
push eax
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push ecx
push 1
call esi
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [0x4a94ec]
cdq
sub eax, edx
sar ecx, 1
sar eax, 1
sub ecx, eax
push ecx
push 0
call esi
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [0x4a94e8]
cdq
sub eax, edx
sar ecx, 1
sar eax, 1
sub ecx, eax
push ecx
push 0
push dword [edi + 0x1c]
call dword [sym.imp.USER32.dll_SetWindowPos]
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x24], ecx
mov dword [ecx], 0
mov eax, dword [0x48b060]
lea ebx, [ecx + 8]
test eax, eax
je 0x40a42c
push 2
push ebx
push ebx
call eax
mov ecx, dword [ebp - 0x24]
add esp, 0xc
mov eax, 0x40ceb0
mov esi, 0x48b060
test eax, eax
je 0x40a449
mov eax, esi
or eax, 1
mov dword [ebx], 0x40ceb0
mov dword [ecx], eax
jmp 0x40a44f
mov dword [ecx], 0
push 0
push 0x112
lea eax, [ebp - 0x44]
push eax
mov ecx, edi
call fcn.00419d00
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x40a481
test al, 1
jne 0x40a481
and eax, 0xfffffffe
mov eax, dword [eax]
test eax, eax
je 0x40a481
lea ecx, [ebp - 0x3c]
push 2
push ecx
push ecx
call eax
add esp, 0xc
sub esp, 0x20
mov ebx, esp
mov dword [ebx], 0
mov ecx, dword [0x48b060]
lea eax, [ebx + 8]
test ecx, ecx
je 0x40a4a5
push 2
push eax
push eax
call ecx
add esp, 0xc
lea eax, [ebx + 8]
mov ecx, 0x40c9b0
test ecx, ecx
je 0x40a4bd
mov dword [eax], 0x40c9b0
mov eax, esi
or eax, 1
mov dword [ebx], eax
jmp 0x40a4c3
mov dword [ebx], 0
push 0
push 0x24
lea eax, [ebp - 0x44]
push eax
mov ecx, edi
call fcn.00419d00
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x40a4f2
test al, 1
jne 0x40a4f2
and eax, 0xfffffffe
mov eax, dword [eax]
test eax, eax
je 0x40a4f2
lea ecx, [ebp - 0x3c]
push 2
push ecx
push ecx
call eax
add esp, 0xc
sub esp, 0x20
mov ebx, esp
mov dword [ebx], 0
mov ecx, dword [0x48b060]
lea eax, [ebx + 8]
test ecx, ecx
je 0x40a516
push 2
push eax
push eax
call ecx
add esp, 0xc
lea eax, [ebx + 8]
mov ecx, 0x40c9a0
test ecx, ecx
je 0x40a52e
mov dword [eax], 0x40c9a0
mov eax, esi
or eax, 1
mov dword [ebx], eax
jmp 0x40a534
mov dword [ebx], 0
push 0
push 0x14
lea eax, [ebp - 0x44]
push eax
mov ecx, edi
call fcn.00419d00
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x40a563
test al, 1
jne 0x40a563
and eax, 0xfffffffe
mov eax, dword [eax]
test eax, eax
je 0x40a563
lea ecx, [ebp - 0x3c]
push 2
push ecx
push ecx
call eax
add esp, 0xc
sub esp, 0x20
mov ebx, esp
mov dword [ebx], 0
mov ecx, dword [0x48b060]
lea eax, [ebx + 8]
test ecx, ecx
je 0x40a587
push 2
push eax
push eax
call ecx
add esp, 0xc
lea eax, [ebx + 8]
mov ecx, 0x40cb60
test ecx, ecx
je 0x40a59d
or esi, 1
mov dword [eax], 0x40cb60
mov dword [ebx], esi
jmp 0x40a5a3
mov dword [ebx], 0
push 0
push 0xf
lea eax, [ebp - 0x44]
push eax
mov ecx, edi
call fcn.00419d00
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x40a5d2
test al, 1
jne 0x40a5d2
and eax, 0xfffffffe
mov eax, dword [eax]
test eax, eax
je 0x40a5d2
lea ecx, [ebp - 0x3c]
push 2
push ecx
push ecx
call eax
add esp, 0xc
push 1
push 0
push dword [edi + 0x1c]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00464acc
mov esp, ebp
pop ebp
ret 4