Function at 0x401760
Capabilities:
Extract resource via kernel32 functions
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x424962
mov eax, dword fs:[0]
push eax
sub esp, 0xb4
mov eax, dword [0x436524]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0
lea eax, [ebp - 0x64]
mov dword [ebp - 0x64], 1
push eax
lea eax, [ebp - 0x68]
mov dword [ebp - 0x60], 0
push eax
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
call sub.gdiplus.dll_GdiplusStartup
push 0
push 0x403a50
push 0
push 0
mov dword [ebp - 4], 0
call dword [sym.imp.USER32.dll_EnumDisplayMonitors]
call sub.MAGNIFICATION.dll_MagInitialize
test eax, eax
je 0x401c90
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edi, eax
lea eax, [ebp - 0x40]
push 0x30
push 0
push eax
mov dword [ebp - 0x54], edi
call fcn.0040a330
add esp, 0xc
mov dword [ebp - 0x40], 0x30
mov dword [ebp - 0x3c], 3
mov dword [ebp - 0x38], 0x4011b0
mov dword [ebp - 0x2c], edi
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x40]
push eax
mov dword [ebp - 0x20], 0x10
mov dword [ebp - 0x18], str.WINDOW_CLASS_FOR_COLOR_PICKER
call dword [sym.imp.USER32.dll_RegisterClassExW]
push 0
mov esi, dword [sym.imp.USER32.dll_CreateWindowExW]
push edi
push 0
push 0
push 0xab
push 0xab
push 0
push 0x190
push 0x80000000
push str.ColorPicker
push str.WINDOW_CLASS_FOR_COLOR_PICKER
push 0x80088
mov byte [ebp - 4], 2
call esi
mov dword [0x437720], eax
test eax, eax
jne 0x401899
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.CreateWindowEx_HWND_UI_Failed__d_n
call fcn.00405aa0
add esp, 8
push str.::Create_UI_Window_Failed
jmp 0x401ca9
push 0
push edi
push 0
push 0
push 0x11
push 0x11
push 0
push 0
push 0x80000000
push str.MagnifierWindowHost
push str.WINDOW_CLASS_FOR_COLOR_PICKER
push 0
mov byte [ebp - 4], 3
call esi
mov dword [0x437724], eax
test eax, eax
jne 0x4018fc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.CreateWindow_HWND_MAGNIFIER_HOST_Failed__d_n
call fcn.00405aa0
add esp, 8
lea ecx, [ebp - 0xac]
push str.::CreateWindowEx_HWND_MAGNIFIER_HOST_Failed
call fcn.00402ed0
push 0x433c5c
lea eax, [ebp - 0xac]
jmp 0x401cb9
push 0
push edi
push 0
push eax
push 0x11
push 0x11
push 0
push 0
push 0x50000000
push str.MagnifierWindow
push str.Magnifier
push 0
call esi
mov dword [0x437728], eax
test eax, eax
jne 0x40195a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.CreateWindow_HWND_MAGNIFIER_Failed__d_n
call fcn.00405aa0
add esp, 8
lea ecx, [ebp - 0xb8]
push str.::CreateWindow_HWND_MAGNIFIER_Failed
call fcn.00402ed0
push 0x433c5c
lea eax, [ebp - 0xb8]
jmp 0x401cb9
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x14], 0
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0x3f800000
push ecx
movups xmmword [ebp - 0x34], xmm0
push eax
movups xmmword [ebp - 0x24], xmm0
mov dword [ebp - 0x34], 0x3f800000
mov dword [ebp - 0x24], 0x3f800000
call sub.MAGNIFICATION.dll_MagSetWindowTransform
test eax, eax
jne 0x4019bd
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.MagSetWindowTransform__d_n
call fcn.00405aa0
add esp, 8
lea ecx, [ebp - 0x80]
push str.::MagSetWindowTransform_Failed
call fcn.00402ed0
push 0x433c5c
lea eax, [ebp - 0x80]
jmp 0x401cb9
push 0
push 0x10
push 0
push dword [0x437720]
call dword [sym.imp.USER32.dll_SetTimer]
mov esi, eax
mov dword [ebp - 0x84], esi
push dword [0x437720]
call dword [sym.imp.USER32.dll_GetDC]
push 0
mov dword [0x43772c], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [0x437730], eax
push 0x100
push 1
push edi
mov byte [ebp - 4], 6
call dword [sym.imp.KERNEL32.dll_FindResourceW]
push eax
push edi
mov dword [ebp - 0x44], eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push eax
push 2
mov dword [ebp - 0x50], eax
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
push eax
mov dword [ebp - 0x4c], eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov edi, eax
mov dword [ebp - 0x48], 0
lea eax, [ebp - 0x48]
push eax
push 0
push dword [ebp - 0x4c]
call dword [sym.imp.ole32.dll_CreateStreamOnHGlobal]
push dword [ebp - 0x44]
push dword [ebp - 0x54]
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push dword [ebp - 0x50]
push eax
push edi
call fcn.00409830
mov eax, dword [ebp - 0x48]
add esp, 0xc
mov dword [ebp - 0x50], eax
push 0x10
call sub.gdiplus.dll_GdipAlloc
mov edi, eax
test edi, edi
je 0x401a97
lea eax, [ebp - 0x44]
mov dword [edi], vtable.Gdiplus::Bitmap.0
push eax
push dword [ebp - 0x50]
mov dword [ebp - 0x44], 0
call sub.gdiplus.dll_GdipCreateBitmapFromStream
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x44]
mov dword [edi + 4], eax
jmp 0x401a99
xor edi, edi
mov eax, dword [ebp - 0x48]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
push dword [ebp - 0x4c]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push dword [ebp - 0x4c]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [0x437734], edi
mov ecx, dword [0x437738]
mov eax, dword [0x437720]
push 0x401220
push dword [0x437728]
mov dword [ecx*4 + 0x437740], eax
inc ecx
mov byte [ebp - 4], 7
mov dword [0x437738], ecx
call sub.MAGNIFICATION.dll_MagSetImageScalingCallback
test eax, eax
jne 0x401b19
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.MagSetImageScalingCallback__d_n
call fcn.00405aa0
add esp, 8
lea ecx, [ebp - 0x80]
push str.::MagSetImageScalingCallback_Failed
call fcn.00402ed0
push 0x433c5c
lea eax, [ebp - 0x80]
jmp 0x401cb9
push 0
call dword [sym.imp.USER32.dll_ShowCursor]
push 5
push dword [0x437720]
call dword [sym.imp.USER32.dll_ShowWindow]
mov edi, dword [sym.imp.USER32.dll_GetMessageW]
lea eax, [ebp - 0xa0]
push 0
push 0
push 0
push eax
call edi
test eax, eax
je 0x401b7d
nop dword [eax + eax]
lea eax, [ebp - 0xa0]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0xa0]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push 0
push 0
push 0
lea eax, [ebp - 0xa0]
push eax
call edi
test eax, eax
jne 0x401b50
cmp byte [0x43741c], 0
jne 0x401bbb
mov eax, dword [section..data]
mov ecx, dword [eax]
movzx eax, cl
push eax
mov eax, ecx
shr ecx, 0x10
shr eax, 8
movzx eax, al
push eax
movzx eax, cl
push eax
push str._02X_02X_02X_n
call fcn.00405aa0
push 1
call fcn.0040dc1d
push eax
call fcn.0040dfb7
add esp, 0x18
push 1
call dword [sym.imp.USER32.dll_ShowCursor]
mov ecx, dword [0x437734]
mov edi, dword [ebp - 0x98]
test ecx, ecx
je 0x401bd9
mov eax, dword [ecx]
push 1
call dword [eax]
push dword [0x437730]
call dword [sym.imp.GDI32.dll_DeleteDC]
push dword [0x43772c]
push dword [0x437720]
call dword [sym.imp.USER32.dll_ReleaseDC]
push esi
push 0
call dword [sym.imp.USER32.dll_KillTimer]
push dword [0x437728]
mov esi, dword [sym.imp.USER32.dll_DestroyWindow]
call esi
test eax, eax
jne 0x401c1f
push str.DestroyWindow_HWND_MAGNIFIER_Failed_n
call fcn.00405aa0
add esp, 4
push dword [0x437724]
call esi
test eax, eax
jne 0x401c38
push str.DestroyWindow_HWND_MAGNIFIER_HOST_Failed_n
call fcn.00405aa0
add esp, 4
push dword [0x437720]
call esi
push dword [ebp - 0x54]
push str.WINDOW_CLASS_FOR_COLOR_PICKER
call dword [sym.imp.USER32.dll_UnregisterClassW]
call sub.MAGNIFICATION.dll_MagUninitialize
test eax, eax
jne 0x401c6b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.MagUninitialize_Failed__d_n
call fcn.00405aa0
add esp, 8
push dword [ebp - 0x68]
call sub.gdiplus.dll_GdiplusShutdown
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0040866f
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.MagInitialize_Failed__d_n
call fcn.00405aa0
add esp, 8
push str.::MagInitialize_Failed
lea ecx, [ebp - 0x74]
call fcn.00402ed0
push 0x433c5c
lea eax, [ebp - 0x74]
push eax
call fcn.00409416
int3