Function at 0x4192f1
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov ebx, 0x56a420
mov esi, 0x56a3fc
cmp dword [0x54bb3c], 0
je 0x419315
xor eax, eax
jmp 0x419bd5
mov dword [0x54bb3c], 1
cmp dword [ebp + 0xc], 3
jne 0x419339
push 0
push ebx
push edi
call fcn.00516353
mov dword [esi], eax
mov dword [ebp + 0xc], 2
jmp 0x419344
push 1
push ebx
push edi
call fcn.00516353
mov dword [esi], eax
mov eax, dword [esi]
test eax, eax
je 0x419353
cmp dword [eax + 0x79c], 0
jne 0x419362
xor edx, edx
mov dword [0x54bb3c], edx
xor eax, eax
jmp 0x419bd5
mov edx, dword [ebx]
sub dword [ebx + 8], edx
xor ecx, ecx
mov dword [ebx], ecx
cmp dword [ebp + 0xc], 0
jne 0x419413
mov eax, dword [esi]
mov edx, dword [eax + 0x784]
cmp edx, dword [ebx + 8]
jne 0x41939e
mov ecx, dword [eax + 0x788]
cmp ecx, dword [ebx + 0xc]
jne 0x41939e
xor eax, eax
mov dword [0x54bb3c], eax
mov eax, 1
jmp 0x419bd5
push dword [0x55b3cc]
call sub.USER32.dll_GetTopWindow
mov dword [0x56a45c], eax
push dword [0x56a45c]
call sub.USER32.dll_IsZoomed
test eax, eax
je 0x419413
cmp edi, dword [0x56a45c]
jne 0x419401
mov eax, dword [esi]
mov edx, dword [eax + 0x784]
cmp edx, dword [ebx + 8]
jl 0x419413
mov ecx, dword [eax + 0x788]
cmp ecx, dword [ebx + 0xc]
jl 0x419413
mov eax, dword [esi]
mov eax, dword [eax + 0x794]
cmp eax, 2
je 0x4193ef
cmp eax, 4
jne 0x419413
xor edx, edx
mov dword [0x54bb3c], edx
mov eax, 1
jmp 0x419bd5
xor edx, edx
mov dword [0x54bb3c], edx
mov eax, 1
jmp 0x419bd5
push dword [0x55b3c8]
call sub.USER32.dll_GetDC
mov edi, eax
mov dword [0x56a400], edi
test edi, edi
jne 0x419438
xor eax, eax
mov dword [0x54bb3c], eax
xor eax, eax
jmp 0x419bd5
push edi
call sub.GDI32.dll_CreateCompatibleDC
mov dword [0x56a404], eax
cmp dword [0x56a404], 0
jne 0x41946c
push dword [0x56a400]
push dword [0x55b3c8]
call sub.USER32.dll_ReleaseDC
xor edx, edx
mov dword [0x54bb3c], edx
xor eax, eax
jmp 0x419bd5
push dword [0x56a400]
call sub.GDI32.dll_CreateCompatibleDC
mov edi, eax
mov dword [0x56a408], edi
test edi, edi
jne 0x4194ad
push dword [0x56a404]
call sub.GDI32.dll_DeleteDC
push dword [0x56a400]
push dword [0x55b3c8]
call sub.USER32.dll_ReleaseDC
xor eax, eax
mov dword [0x54bb3c], eax
xor eax, eax
jmp 0x419bd5
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [0x56a400]
call sub.GDI32.dll_CreateCompatibleBitmap
mov edi, eax
mov dword [0x56a3f0], edi
test edi, edi
jne 0x4194ff
push dword [0x56a408]
call sub.GDI32.dll_DeleteDC
push dword [0x56a404]
call sub.GDI32.dll_DeleteDC
push dword [0x56a400]
push dword [0x55b3c8]
call sub.USER32.dll_ReleaseDC
xor eax, eax
mov dword [0x54bb3c], eax
xor eax, eax
jmp 0x419bd5
push 0x56a444
push 0x18
mov edx, dword [esi]
push dword [edx + 0x79c]
call sub.GDI32.dll_GetObjectA
push dword [0x56a3f0]
push dword [0x56a404]
call sub.GDI32.dll_SelectObject
mov dword [0x56a3f4], eax
mov ecx, dword [esi]
push dword [ecx + 0x79c]
push dword [0x56a408]
call sub.GDI32.dll_SelectObject
mov dword [0x56a3f8], eax
mov eax, dword [0x54bb2c]
test eax, eax
je 0x419562
cmp eax, dword [esi]
jne 0x419562
push 0xc
call sub.USER32.dll_GetSysColor
push eax
call sub.GDI32.dll_CreateSolidBrush
mov dword [0x56a440], eax
jmp 0x419579
mov edx, dword [0x54d290]
push dword [edx*4 + 0x56ecb4]
call sub.GDI32.dll_CreateSolidBrush
mov dword [0x56a440], eax
mov ecx, dword [esi]
mov eax, dword [ecx + 0x794]
cmp eax, 5
ja case.0x41958a.2
jmp dword [eax*4 + 0x419591]
push dword [0x56a440]
push ebx
push dword [0x56a404]
call sub.USER32.dll_FillRect
mov ecx, dword [ebx + 8]
mov edx, dword [0x56a448]
sub ecx, edx
sar ecx, 1
jns 0x4195cd
adc ecx, 0
mov dword [0x56a430], ecx
mov eax, dword [ebx + 0xc]
mov edi, dword [0x56a44c]
sub eax, edi
sar eax, 1
jns 0x4195e5
adc eax, 0
mov dword [0x56a434], eax
push 0xcc0020
push 0
push 0
push dword [0x56a408]
push edi
push edx
push eax
push dword [0x56a430]
push dword [0x56a404]
call sub.GDI32.dll_BitBlt
jmp 0x419b43
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [0x56a44c]
push dword [0x56a448]
call fcn.00419271
test eax, eax
je 0x41963c
push 4
push dword [0x56a404]
call sub.GDI32.dll_SetStretchBltMode
jmp 0x419649
push 3
push dword [0x56a404]
call sub.GDI32.dll_SetStretchBltMode
push 0
push 0
push 0
push dword [0x56a404]
call sub.GDI32.dll_SetBrushOrgEx
push 0xcc0020
push dword [0x56a44c]
push dword [0x56a448]
push 0
push 0
push dword [0x56a408]
push dword [ebx + 0xc]
push dword [ebx + 8]
push 0
push 0
push dword [0x56a404]
call sub.GDI32.dll_StretchBlt
jmp 0x419b43
push dword [0x56a440]
push ebx
push dword [0x56a404]
call sub.USER32.dll_FillRect
push 0xcc0020
push 0
push 0
push dword [0x56a408]
push dword [0x56a44c]
push dword [0x56a448]
push 0
push 0
push dword [0x56a404]
call sub.GDI32.dll_BitBlt
jmp 0x419b43
push dword [0x56a440]
push ebx
push dword [0x56a404]
call sub.USER32.dll_FillRect
fild dword [0x56a448]
fstp dword [0x56a40c]
wait
fild dword [0x56a44c]
fstp dword [0x56a410]
wait
fld dword [0x56a410]
fcomp dword [0x419bdd]
fnstsw ax
sahf
ja 0x419719
mov dword [0x56a414], 0x3f800000
jmp 0x41972c
fld dword [0x56a40c]
fdiv dword [0x56a410]
fstp dword [0x56a414]
wait
fld dword [0x56a414]
fcomp qword [0x419be1]
fnstsw ax
sahf
jae 0x41976f
mov dword [0x56a414], 0x3dcccccd
jmp 0x41976f
fld dword [0x56a414]
fadd dword [0x56a40c]
fstp dword [0x56a40c]
wait
fld dword [0x419be9]
fadd dword [0x56a410]
fstp dword [0x56a410]
wait
fild dword [ebx + 8]
fcomp dword [0x56a40c]
fnstsw ax
sahf
jbe 0x4197b3
fild dword [ebx + 0xc]
fcomp dword [0x56a410]
fnstsw ax
sahf
ja 0x419749
jmp 0x4197b3
fld dword [0x56a414]
fsubr dword [0x56a40c]
fstp dword [0x56a40c]
wait
fld dword [0x419be9]
fsubr dword [0x56a410]
fstp dword [0x56a410]
wait
fild dword [ebx + 8]
fcomp dword [0x56a40c]
fnstsw ax
sahf
jb 0x41978d
fild dword [ebx + 0xc]
fcomp dword [0x56a410]
fnstsw ax
sahf
jb 0x41978d
fld dword [0x56a40c]
call fcn.00542680
mov dword [0x56a438], eax
fld dword [0x56a410]
call fcn.00542680
mov dword [0x56a43c], eax
mov edx, dword [ebx + 8]
sub edx, dword [0x56a438]
sar edx, 1
jns 0x4197ff
adc edx, 0
mov dword [0x56a430], edx
mov ecx, dword [ebx + 0xc]
sub ecx, dword [0x56a43c]
sar ecx, 1
jns 0x419815
adc ecx, 0
mov dword [0x56a434], ecx
push dword [0x56a43c]
push dword [0x56a438]
push dword [0x56a44c]
push dword [0x56a448]
call fcn.00419271
test eax, eax
je 0x41984b
push 4
push dword [0x56a404]
call sub.GDI32.dll_SetStretchBltMode
jmp 0x419858
push 3
push dword [0x56a404]
call sub.GDI32.dll_SetStretchBltMode
push 0
push 0
push 0
push dword [0x56a404]
call sub.GDI32.dll_SetBrushOrgEx
push 0xcc0020
push dword [0x56a44c]
push dword [0x56a448]
push 0
push 0
push dword [0x56a408]
push dword [0x56a43c]
push dword [0x56a438]
push dword [0x56a434]
push dword [0x56a430]
push dword [0x56a404]
call sub.GDI32.dll_StretchBlt
jmp 0x419b43
xor eax, eax
mov dword [0x56a434], eax
xor edx, edx
mov dword [0x56a430], edx
push 0xcc0020
push 0
push 0
push dword [0x56a408]
push dword [0x56a44c]
push dword [0x56a448]
push dword [0x56a434]
push dword [0x56a430]
push dword [0x56a404]
call sub.GDI32.dll_BitBlt
mov ecx, dword [0x56a448]
add dword [0x56a430], ecx
mov eax, dword [0x56a430]
cmp eax, dword [ebx + 8]
jl 0x4198bb
mov edx, dword [0x56a44c]
add dword [0x56a434], edx
mov ecx, dword [0x56a434]
cmp ecx, dword [ebx + 0xc]
jl 0x4198b3
jmp 0x419b43
push dword [0x56a440]
push ebx
push dword [0x56a404]
call sub.USER32.dll_FillRect
fild dword [0x56a448]
fstp dword [0x56a40c]
wait
fild dword [0x56a44c]
fstp dword [0x56a410]
wait
fld dword [0x56a410]
fcomp dword [0x419bdd]
fnstsw ax
sahf
ja 0x419968
mov dword [0x56a414], 0x3f800000
jmp 0x41997b
fld dword [0x56a40c]
fdiv dword [0x56a410]
fstp dword [0x56a414]
wait
fld dword [0x56a414]
fcomp qword [0x419be1]
fnstsw ax
sahf
jae 0x419996
mov dword [0x56a414], 0x3dcccccd
mov edi, 0x78
mov dword [0x56a41c], edi
mov dword [ebp - 4], edi
fild dword [ebp - 4]
fmul dword [0x56a414]
call fcn.00542680
mov dword [0x56a418], eax
fild dword [0x56a418]
fcomp dword [0x56a40c]
fnstsw ax
sahf
jb 0x419a05
fild dword [0x56a41c]
fcomp dword [0x56a410]
fnstsw ax
sahf
jae 0x419a71
jmp 0x419a05
fld dword [0x56a414]
fadd dword [0x56a40c]
fstp dword [0x56a40c]
wait
fld dword [0x419be9]
fadd dword [0x56a410]
fstp dword [0x56a410]
wait
fild dword [0x56a418]
fcomp dword [0x56a40c]
fnstsw ax
sahf
jbe 0x419a4f
fild dword [0x56a41c]
fcomp dword [0x56a410]
fnstsw ax
sahf
ja 0x4199df
jmp 0x419a4f
fld dword [0x56a414]
fsubr dword [0x56a40c]
fstp dword [0x56a40c]
wait
fld dword [0x419be9]
fsubr dword [0x56a410]
fstp dword [0x56a410]
wait
fild dword [0x56a418]
fcomp dword [0x56a40c]
fnstsw ax
sahf
jb 0x419a29
fild dword [0x56a41c]
fcomp dword [0x56a410]
fnstsw ax
sahf
jb 0x419a29
fld dword [0x56a40c]
call fcn.00542680
mov dword [0x56a438], eax
fld dword [0x56a410]
call fcn.00542680
mov dword [0x56a43c], eax
xor edx, edx
mov dword [0x56a434], edx
mov eax, dword [ebx + 8]
mov edx, dword [0x56a438]
cmp eax, edx
jle 0x419aaf
sub eax, edx
mov dword [0x56a430], eax
jmp 0x419ab7
xor ecx, ecx
mov dword [0x56a430], ecx
push dword [0x56a43c]
push dword [0x56a438]
push dword [0x56a44c]
push dword [0x56a448]
call fcn.00419271
test eax, eax
je 0x419ae7
push 4
push dword [0x56a404]
call sub.GDI32.dll_SetStretchBltMode
jmp 0x419af4
push 3
push dword [0x56a404]
call sub.GDI32.dll_SetStretchBltMode
push 0
push 0
push 0
push dword [0x56a404]
call sub.GDI32.dll_SetBrushOrgEx
push 0xcc0020
push dword [0x56a44c]
push dword [0x56a448]
push 0
push 0
push dword [0x56a408]
push dword [0x56a43c]
push dword [0x56a438]
push dword [0x56a434]
push dword [0x56a430]
push dword [0x56a404]
call sub.GDI32.dll_StretchBlt
push dword [0x56a440]
call sub.GDI32.dll_DeleteObject
push dword [0x56a3f8]
push dword [0x56a408]
call sub.GDI32.dll_SelectObject
push dword [0x56a3f4]
push dword [0x56a404]
call sub.GDI32.dll_SelectObject
mov eax, dword [esi]
mov eax, dword [eax + 0x77c]
test eax, eax
je 0x419b82
push eax
call sub.GDI32.dll_DeleteObject
mov eax, dword [esi]
mov edx, dword [0x56a3f0]
mov dword [eax + 0x77c], edx
mov ecx, dword [ebx + 8]
mov dword [eax + 0x784], ecx
mov edx, dword [ebx + 0xc]
mov dword [eax + 0x788], edx
push dword [0x56a408]
call sub.GDI32.dll_DeleteDC
push dword [0x56a404]
call sub.GDI32.dll_DeleteDC
push dword [0x56a400]
push dword [0x55b3c8]
call sub.USER32.dll_ReleaseDC
xor eax, eax
mov dword [0x54bb3c], eax
mov eax, 1
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 8