Function at 0x401bf0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x539c78
mov eax, dword fs:[0]
push eax
sub esp, 0x50
mov eax, dword [0x589c40]
xor eax, esp
mov dword [esp + 0x48], eax
push ebx
push esi
push edi
mov eax, dword [0x589c40]
xor eax, esp
push eax
lea eax, [esp + 0x60]
mov dword fs:[0], eax
mov esi, ecx
call fcn.0041c85b
mov eax, dword [esi + 0x158]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push eax
mov eax, dword [esi + 0x20]
push 1
push 0x80
push eax
call edi
mov eax, dword [esi + 0x158]
mov ecx, dword [esi + 0x20]
push eax
xor ebx, ebx
push ebx
push 0x80
push ecx
call edi
call fcn.0041c284
mov edi, dword [eax + 8]
push 0x567e98
lea eax, [esi + 0x2ec]
push str.INSTALL_BACK
push eax
mov eax, edi
call fcn.004124e0
push 0x567e98
push str.INSTALL_LOGO
lea edx, [esi + 0x2f4]
push edx
mov eax, edi
call fcn.004124e0
push 0x567e98
push str.INTERVAL_LINE
lea eax, [esi + 0x2fc]
push eax
mov eax, edi
call fcn.004124e0
push 0x567e98
push str.INSTALL_ARROW
lea ecx, [esi + 0x304]
push ecx
mov eax, edi
call fcn.004124e0
mov eax, dword [esi + 0x2f0]
cmp eax, ebx
je 0x401cd9
mov ecx, dword [eax + 8]
mov dword [eax + 8], ebx
cmp ecx, ebx
je 0x401cdf
mov dword [esp + 0x1c], ebx
jmp 0x401d0e
mov eax, dword [esi + 0x2f0]
lea edx, [esp + 0x14]
mov dword [esp + 0x18], eax
mov eax, dword [eax + 4]
push edx
push eax
mov dword [esp + 0x1c], ebx
call sub.gdiplus.dll_GdipGetImageHeight
cmp eax, ebx
je 0x401d06
mov ecx, dword [esp + 0x18]
mov dword [ecx + 8], eax
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1c], edx
mov eax, dword [esi + 0x2f0]
cmp eax, ebx
je 0x401d22
mov ecx, dword [eax + 8]
mov dword [eax + 8], ebx
cmp ecx, ebx
je 0x401d28
mov dword [esp + 0x14], ebx
jmp 0x401d57
mov eax, dword [esi + 0x2f0]
mov edx, dword [eax + 4]
lea ecx, [esp + 0x18]
push ecx
push edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], ebx
call sub.gdiplus.dll_GdipGetImageWidth
cmp eax, ebx
je 0x401d4f
mov ecx, dword [esp + 0x28]
mov dword [ecx + 8], eax
mov edx, dword [esp + 0x18]
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push 0xe
push eax
push ecx
push ebx
push ebx
push ebx
mov ecx, esi
call fcn.0041a704
mov edx, dword [esi + 0x15c]
mov edx, dword [edx + 4]
push esi
push 0xc9
lea ecx, [esi + 0x15c]
push 0x10000000
lea eax, [esp + 0x34]
push eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
call edx
mov eax, dword [esi + 0x1a4]
mov eax, dword [eax + 4]
push esi
push 0xca
lea ecx, [esi + 0x1a4]
push 0x10000000
lea edx, [esp + 0x34]
push edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
call eax
mov edx, dword [esi + 0x1ec]
mov edx, dword [edx + 4]
push esi
push 0x12d
lea ecx, [esi + 0x1ec]
push ebx
lea eax, [esp + 0x34]
push eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
call edx
mov eax, dword [esi + 0x234]
mov eax, dword [eax + 4]
push esi
push 0x12e
lea ecx, [esi + 0x234]
push ebx
lea edx, [esp + 0x34]
push edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
call eax
mov edx, dword [esi + 0x27c]
mov edx, dword [edx + 4]
push esi
push 0xca
lea ecx, [esi + 0x27c]
push ebx
lea eax, [esp + 0x34]
push eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
call edx
mov eax, dword [esi + 0x15c]
mov edx, dword [eax + 8]
push 0x567e98
lea ecx, [esi + 0x15c]
push 0x567f10
push edi
call edx
mov eax, dword [esi + 0x1a4]
mov edx, dword [eax + 8]
push 0x567e98
lea ecx, [esi + 0x1a4]
push 0x567f28
push edi
call edx
mov eax, dword [esi + 0x1ec]
mov edx, dword [eax + 8]
push 0x567e98
lea ecx, [esi + 0x1ec]
push 0x567f44
push edi
call edx
mov eax, dword [esi + 0x234]
mov edx, dword [eax + 8]
push 0x567e98
lea ecx, [esi + 0x234]
push 0x567f44
push edi
call edx
mov eax, dword [esi + 0x27c]
mov edx, dword [eax + 8]
push 0x567e98
lea ecx, [esi + 0x27c]
push 0x567f44
push edi
call edx
mov eax, dword [esi + 0x1ec]
mov edx, dword [eax + 0x14]
lea ecx, [esi + 0x1ec]
push 0x567f58
call edx
mov eax, dword [esi + 0x234]
mov edx, dword [eax + 0x14]
lea ecx, [esi + 0x234]
push 0x567f60
call edx
mov eax, dword [esi + 0x27c]
mov edx, dword [eax + 0x14]
lea ecx, [esi + 0x27c]
push 0x567f68
call edx
push 0x567f70
push 0x567f80
push edi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov dword [esp + 0x28], eax
cmp eax, ebx
je 0x401f74
push eax
push edi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp dword [esp + 0x18], ebx
je 0x401f74
cmp eax, ebx
je 0x401f74
push eax
lea ecx, [esi + 0x94]
push 0x567f8c
push ecx
call fcn.0040a810
add esp, 0xc
push 4
push 0x567f94
lea ecx, [esi + 0x94]
call fcn.0040a410
mov edi, dword [esi + 0x94]
push edi
mov ecx, esi
call fcn.0041a437
mov edx, dword [esi + 0x20]
lea ecx, [esp + 0x38]
push ecx
push edx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
sub eax, dword [esp + 0x38]
sub ecx, dword [esp + 0x3c]
mov edx, 3
sub eax, edx
sub ecx, edx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], vtable.CRgn.0
mov eax, dword [esp + 0x1c]
push 7
push 7
mov dword [esp + 0x70], ebx
mov ecx, dword [esp + 0x1c]
add eax, 0xfffffffe
push eax
add ecx, 0xfffffffe
push ecx
push edx
push edx
call dword [sym.imp.GDI32.dll_CreateRoundRectRgn]
push eax
lea ecx, [esp + 0x24]
call fcn.0041ea8f
mov edx, dword [esp + 0x24]
mov eax, dword [esi + 0x20]
push ebx
push edx
push eax
call dword [sym.imp.USER32.dll_SetWindowRgn]
lea edi, [esi + 0xe0]
cmp dword [esi + 0x20], ebx
je 0x402051
mov edx, dword [edi]
mov edx, dword [edx + 0x58]
push ebx
push ebx
push esi
lea eax, [esp + 0x44]
push eax
push ebx
push 0x569324
push 0x5691b0
push 0x80000
mov ecx, edi
mov dword [edi + 0x74], esi
call edx
mov eax, 7
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x4c]
push ecx
push edi
lea edi, [esi + 0x2ec]
call fcn.00410ff0
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x38]
mov edx, dword [esi + 0x15c]
mov edx, dword [edx + 0x34]
lea ecx, [esi + 0x15c]
push 3
sub eax, 0x4a
push eax
call edx
mov edx, dword [esp + 0x40]
sub edx, dword [esp + 0x38]
mov eax, dword [esi + 0x1a4]
mov eax, dword [eax + 0x34]
lea ecx, [esi + 0x1a4]
push 3
sub edx, 0x27
push edx
call eax
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x38]
mov edx, dword [esi + 0x27c]
mov edx, dword [edx + 0x34]
lea ecx, [esi + 0x27c]
push 0x169
sub eax, 0x5c
push eax
call edx
mov edx, dword [esp + 0x40]
sub edx, dword [esp + 0x38]
mov eax, dword [esi + 0x1ec]
mov eax, dword [eax + 0x34]
lea ecx, [esi + 0x1ec]
push 0x169
sub edx, 0xac
push edx
call eax
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x38]
mov edx, dword [esi + 0x234]
mov edx, dword [edx + 0x34]
lea ecx, [esi + 0x234]
push 0x169
sub eax, 0xfc
push eax
call edx
push 0x567fa0
push ebx
push ebx
mov edi, dword [sym.imp.GDI32.dll_CreateFontW]
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x190
push ebx
push ebx
push ebx
push 0xc
call edi
push eax
lea ecx, [esi + 0x2c4]
call fcn.0041ea8f
push 0x567fa0
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x320
push ebx
push ebx
push ebx
push 0xc
call edi
push eax
lea ecx, [esi + 0x2cc]
call fcn.0041ea8f
push 0x567fa0
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x320
push ebx
push ebx
push ebx
push 0xe
call edi
push eax
lea ecx, [esi + 0x2dc]
call fcn.0041ea8f
push 0x567fa0
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x190
push ebx
push ebx
push ebx
push 0xe
call edi
push eax
lea ecx, [esi + 0x2e4]
call fcn.0041ea8f
push 0xffffff
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
push eax
lea ecx, [esi + 0x2d4]
call fcn.0041ea8f
mov ecx, esi
call fcn.00403430
mov ecx, esi
call fcn.004036d0
call fcn.00403f60
mov ecx, esi
call fcn.00404010
push ebx
mov ecx, esi
call fcn.004043f0
mov edi, dword [sym.imp.USER32.dll_SetTimer]
cmp dword [esi + 0x98], ebx
jne 0x402209
mov eax, dword [esi + 0x20]
push ebx
push 0x32
push 0x65
push eax
call edi
mov ecx, dword [esi + 0x20]
push ebx
push 0x1e
push 0x64
push ecx
call edi
push esi
mov ecx, esi
call fcn.00415fe2
mov dword [esp + 0x68], 0xffffffff
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], vtable.CRgn.0
call fcn.0040a830
mov eax, 1
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x48]
xor ecx, esp
call fcn.005121e3
mov esp, ebp
pop ebp
ret