Function at 0x4123e0
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49efb7
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
mov eax, dword [0x4ca00c]
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 esi, ecx
mov dword [ebp - 0x34], esi
push 0x4b690c
call dword [sym.imp.soui.dll_public:_static_struct_SOUI::IBitmap____cdecl_SOUI::SResLoadFromFile::LoadImageW_wchar_t_const__]
add esp, 4
mov dword [esi + 0x2cc], eax
lea eax, [esi + 0x2b8]
push eax
call fcn.004150b0
push 0
push str.cur_colours
call dword [sym.imp.soui.dll_public:_static_class_SOUI::SApplication____cdecl_SOUI::SSingleton_class_SOUI::SApplication_::getSingletonPtr_void_]
mov edi, dword [sym.imp.soui.dll_public:_struct_HICON______thiscall_SOUI::SResProviderMgr::LoadCursorW_wchar_t_const___int_]
lea ecx, [eax + 0x10]
call edi
push 0
push str.cur_mosaic10
mov dword [esi + 0x2a8], eax
call dword [sym.imp.soui.dll_public:_static_class_SOUI::SApplication____cdecl_SOUI::SSingleton_class_SOUI::SApplication_::getSingletonPtr_void_]
lea ecx, [eax + 0x10]
call edi
push 0
push str.cur_mosaic20
mov dword [esi + 0x2ac], eax
call dword [sym.imp.soui.dll_public:_static_class_SOUI::SApplication____cdecl_SOUI::SSingleton_class_SOUI::SApplication_::getSingletonPtr_void_]
lea ecx, [eax + 0x10]
call edi
push 0
push str.cur_mosaic30
mov dword [esi + 0x2b0], eax
call dword [sym.imp.soui.dll_public:_static_class_SOUI::SApplication____cdecl_SOUI::SSingleton_class_SOUI::SApplication_::getSingletonPtr_void_]
lea ecx, [eax + 0x10]
call edi
mov dword [esi + 0x2b4], eax
lea eax, [esi + 0x194]
push eax
mov dword [esi + 0x1f4], 0
mov dword [esi + 0x1f0], 0
call dword [sym.imp.USER32.dll_SetRectEmpty]
mov ebx, dword [esi + 0x234]
mov edi, dword [esi + 0x230]
cmp edi, ebx
je 0x4124d5
mov ecx, edi
call fcn.00412190
add edi, 0x6c
cmp edi, ebx
jne 0x4124c7
mov eax, dword [esi + 0x230]
lea ecx, [esi + 0x214]
mov dword [esi + 0x234], eax
mov eax, dword [esi + 0x1f8]
mov dword [esi + 0x1fc], eax
mov dword [esi + 0x20c], 4
mov dword [esi + 0x210], 0xffff0000
call fcn.00402f40
push str.magnifying
lea ecx, [ebp - 0x24]
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_char__struct_SOUI::char_traits_::constructor_char_const__]
push 0
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0
mov ebx, dword [sym.imp.utilities.dll_public:_static_class_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits____cdecl_SOUI::SStrCpCvt::CvtA2W_class_SOUI::TStringT_char__struct_SOUI::char_traits__const___unsigned_int__unsigned_int_]
push eax
lea eax, [ebp - 0x28]
push eax
call ebx
add esp, 0xc
mov byte [ebp - 4], 1
mov ecx, esi
push dword [eax]
call fcn.004190a0
lea ecx, [ebp - 0x28]
mov edi, eax
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::destructor_void_]
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_char__struct_SOUI::char_traits_::destructor_void_]
lea eax, [ebp - 0x20]
mov dword [esi + 0x1b0], edi
push eax
mov ecx, edi
call dword [sym.imp.soui.dll_public:_class_SOUI::CRect___thiscall_SOUI::SWindow::GetWindowRect_void_]
push str.pixel_tip
lea ecx, [ebp - 0x24]
movups xmm0, xmmword [eax]
movups xmmword [esi + 0x2d0], xmm0
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_char__struct_SOUI::char_traits_::constructor_char_const__]
push 0
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 2
push eax
lea eax, [ebp - 0x28]
push eax
call ebx
add esp, 0xc
mov byte [ebp - 4], 3
mov ecx, esi
push dword [eax]
call fcn.004190a0
lea ecx, [ebp - 0x28]
mov edi, eax
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::destructor_void_]
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_char__struct_SOUI::char_traits_::destructor_void_]
push str.tool_section
lea ecx, [ebp - 0x24]
mov dword [esi + 0x1a4], edi
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_char__struct_SOUI::char_traits_::constructor_char_const__]
push 0
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 4
push eax
lea eax, [ebp - 0x28]
push eax
call ebx
add esp, 0xc
mov byte [ebp - 4], 5
push dword [eax]
mov ecx, esi
call fcn.004190a0
lea ecx, [ebp - 0x28]
mov edi, eax
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::destructor_void_]
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_char__struct_SOUI::char_traits_::destructor_void_]
push str.color_property
lea ecx, [ebp - 0x2c]
mov dword [esi + 0x1a8], edi
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_char__struct_SOUI::char_traits_::constructor_char_const__]
push 0
push 0
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 6
push eax
lea eax, [ebp - 0x30]
push eax
call ebx
add esp, 0xc
mov byte [ebp - 4], 7
mov ecx, esi
push dword [eax]
call fcn.004190a0
lea ecx, [ebp - 0x30]
mov edi, eax
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::destructor_void_]
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_char__struct_SOUI::char_traits_::destructor_void_]
mov ecx, dword [esi + 0x1a8]
push 0
mov dword [esi + 0x1ac], edi
mov edi, dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SWindow::SetVisible_int__int_]
push 0
call edi
mov ecx, dword [esi + 0x1ac]
push 0
push 0
call edi
sub esp, 8
mov ecx, esi
call fcn.004188d0
mov dword [esi + 0x1b4], eax
test eax, eax
je 0x412728
mov ecx, eax
call dword [sym.imp.soui.dll_public:_class_SOUI::SListView____thiscall_SOUI::SComboView::GetListView_void_]
push 0x34
mov edi, eax
call fcn.00438900
add esp, 4
mov dword [ebp - 0x28], eax
mov ecx, eax
mov dword [ebp - 4], 8
call fcn.004100d0
mov ebx, eax
mov dword [ebp - 4], 0xffffffff
push ebx
mov ecx, edi
mov dword [ebx + 0x30], esi
call dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::SListView::SetAdapter_struct_SOUI::ILvAdapter__]
mov ecx, dword [ebx]
mov eax, dword [ecx + 4]
cmp ecx, vtable.SComboAdapter.0
jne 0x412714
lea eax, [ebx + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x412718
mov edx, dword [ebx]
mov ecx, ebx
mov eax, dword [edx + 8]
cmp eax, method.SOUI::TObjRefImpl_class_SOUI::LvAdatperImpl_struct_SOUI::ILvAdapter__.virtual_8
jne 0x412716
push 1
call dword [edx + 0x40]
jmp 0x412718
mov ecx, ebx
call eax
mov ecx, dword [esi + 0x1b4]
push 1
mov eax, dword [ecx]
call dword [eax + 0xfc]
mov ecx, esi
call dword [sym.imp.soui.dll_public:_struct_SOUI::ISwndContainer____thiscall_SOUI::SWindow::GetContainer_void_]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x10]
push 0
push 0x411ef0
push 0
push 0
mov dword [ebp - 0x28], eax
call dword [sym.imp.USER32.dll_EnumDisplayMonitors]
mov ecx, dword [0x4cda7c]
mov eax, 0x66666667
mov edi, dword [0x4cda78]
sub ecx, edi
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x4127bb
lea ecx, [esi + 0x184]
xor ebx, ebx
mov dword [ebp - 0x30], ecx
xor esi, esi
nop dword [eax]
lea eax, [edi + 4]
add eax, ebx
push eax
push ecx
push ecx
call dword [sym.imp.USER32.dll_UnionRect]
mov ecx, dword [0x4cda7c]
mov eax, 0x66666667
mov edi, dword [0x4cda78]
inc esi
sub ecx, edi
add ebx, 0x28
imul ecx
mov ecx, dword [ebp - 0x30]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x412780
mov esi, dword [ebp - 0x34]
push 0
call dword [sym.imp.USER32.dll_GetDC]
mov ebx, eax
push ebx
mov dword [ebp - 0x24], ebx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov edx, dword [esi + 0x190]
mov edi, eax
sub edx, dword [esi + 0x188]
mov ecx, dword [esi + 0x18c]
sub ecx, dword [esi + 0x184]
push edx
push ecx
push ebx
mov dword [ebp - 0x2c], edi
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov ebx, dword [sym.imp.GDI32.dll_SelectObject]
push eax
push edi
mov dword [esi + 0x1e4], eax
call ebx
mov eax, dword [esi + 0x190]
sub eax, dword [esi + 0x188]
push 0xcc0020
push dword [esi + 0x188]
push dword [esi + 0x184]
push dword [ebp - 0x24]
push eax
mov eax, dword [esi + 0x18c]
sub eax, dword [esi + 0x184]
push eax
push 0
push 0
push edi
mov edi, dword [sym.imp.GDI32.dll_BitBlt]
call edi
mov ecx, dword [esi + 0x190]
sub ecx, dword [esi + 0x188]
mov eax, dword [esi + 0x18c]
sub eax, dword [esi + 0x184]
push ecx
push eax
push dword [ebp - 0x24]
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push eax
push dword [ebp - 0x2c]
mov dword [esi + 0x1e8], eax
call ebx
mov eax, dword [esi + 0x190]
sub eax, dword [esi + 0x188]
mov ebx, dword [ebp - 0x2c]
push 0xcc0020
push dword [esi + 0x188]
push dword [esi + 0x184]
push dword [ebp - 0x24]
push eax
mov eax, dword [esi + 0x18c]
sub eax, dword [esi + 0x184]
push eax
push 0
push 0
push ebx
call edi
push ebx
call dword [sym.imp.GDI32.dll_DeleteDC]
push dword [ebp - 0x24]
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
mov ebx, dword [ebp - 0x28]
mov edi, dword [sym.imp.USER32.dll_SetWindowLongW]
push 0x80000000
push 0xfffffffffffffff0
push ebx
call edi
push 0x80
push 0xffffffffffffffec
push ebx
call edi
mov eax, dword [esi + 0x190]
sub eax, dword [esi + 0x188]
push 0x2440
mov edi, dword [sym.imp.USER32.dll_SetWindowPos]
push eax
mov eax, dword [esi + 0x18c]
sub eax, dword [esi + 0x184]
push eax
push dword [esi + 0x188]
push dword [esi + 0x184]
push 0
push ebx
call edi
mov eax, dword [esi + 0x190]
sub eax, dword [esi + 0x188]
push 0x2440
push eax
mov eax, dword [esi + 0x18c]
sub eax, dword [esi + 0x184]
push eax
push dword [esi + 0x188]
push dword [esi + 0x184]
push 0xffffffffffffffff
push ebx
call 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.004388ef
mov esp, ebp
pop ebp
ret