Function at 0x41c960
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov ebx, 0x505288
mov esi, 0x505264
cmp dword [ebp + 0xc], 3
jne 0x41c45e
push 0
push ebx
push edi
call fcn.004eb0a8
mov dword [esi], eax
mov dword [ebp + 0xc], 2
jmp 0x41c469
push 1
push ebx
push edi
call fcn.004eb0a8
mov dword [esi], eax
mov eax, dword [esi]
test eax, eax
je 0x41c478
cmp dword [eax + 0x5fc], 0
jne 0x41c47f
xor eax, eax
jmp 0x41cc64
mov edx, dword [ebx]
sub dword [ebx + 8], edx
xor ecx, ecx
mov dword [ebx], ecx
cmp dword [ebp + 0xc], 0
jne 0x41c51b
mov eax, dword [esi]
mov edx, dword [eax + 0x5e4]
cmp edx, dword [ebx + 8]
jne 0x41c4b4
mov ecx, dword [eax + 0x5e8]
cmp ecx, dword [ebx + 0xc]
jne 0x41c4b4
mov eax, 1
jmp 0x41cc64
mov edx, dword [0x4fd9f0]
push edx
call sub.USER32.dll_GetTopWindow
mov dword [0x5052c4], eax
mov ecx, dword [0x5052c4]
push ecx
call sub.USER32.dll_IsZoomed
test eax, eax
je 0x41c51b
cmp edi, dword [0x5052c4]
jne 0x41c511
mov eax, dword [esi]
mov edx, dword [eax + 0x5e4]
cmp edx, dword [ebx + 8]
jl 0x41c51b
mov ecx, dword [eax + 0x5e8]
cmp ecx, dword [ebx + 0xc]
jl 0x41c51b
mov eax, dword [esi]
mov eax, dword [eax + 0x5f4]
cmp eax, 2
je 0x41c507
cmp eax, 4
jne 0x41c51b
mov eax, 1
jmp 0x41cc64
mov eax, 1
jmp 0x41cc64
mov edx, dword [0x4fd9ec]
push edx
call sub.USER32.dll_GetDC
mov edi, eax
mov dword [0x505268], edi
test edi, edi
jne 0x41c53a
xor eax, eax
jmp 0x41cc64
push edi
call sub.GDI32.dll_CreateCompatibleDC
mov dword [0x50526c], eax
cmp dword [0x50526c], 0
jne 0x41c568
mov edx, dword [0x505268]
push edx
mov ecx, dword [0x4fd9ec]
push ecx
call sub.USER32.dll_ReleaseDC
xor eax, eax
jmp 0x41cc64
mov edx, dword [0x505268]
push edx
call sub.GDI32.dll_CreateCompatibleDC
mov edi, eax
mov dword [0x505270], edi
test edi, edi
jne 0x41c5a5
mov eax, dword [0x50526c]
push eax
call sub.GDI32.dll_DeleteDC
mov edx, dword [0x505268]
push edx
mov ecx, dword [0x4fd9ec]
push ecx
call sub.USER32.dll_ReleaseDC
xor eax, eax
jmp 0x41cc64
mov edx, dword [ebx + 0xc]
push edx
mov ecx, dword [ebx + 8]
push ecx
mov eax, dword [0x505268]
push eax
call sub.GDI32.dll_CreateCompatibleBitmap
mov edi, eax
mov dword [0x505258], edi
test edi, edi
jne 0x41c5f4
mov eax, dword [0x505270]
push eax
call sub.GDI32.dll_DeleteDC
mov edx, dword [0x50526c]
push edx
call sub.GDI32.dll_DeleteDC
mov ecx, dword [0x505268]
push ecx
mov eax, dword [0x4fd9ec]
push eax
call sub.USER32.dll_ReleaseDC
xor eax, eax
jmp 0x41cc64
push 0x5052ac
push 0x18
mov edx, dword [esi]
mov ecx, dword [edx + 0x5fc]
push ecx
call sub.GDI32.dll_GetObjectA
mov eax, dword [0x505258]
push eax
mov edx, dword [0x50526c]
push edx
call sub.GDI32.dll_SelectObject
mov dword [0x50525c], eax
mov ecx, dword [esi]
mov eax, dword [ecx + 0x5fc]
push eax
mov edx, dword [0x505270]
push edx
call sub.GDI32.dll_SelectObject
mov dword [0x505260], eax
mov eax, dword [0x4f1c80]
test eax, eax
je 0x41c65b
cmp eax, dword [esi]
jne 0x41c65b
push 0xc
call sub.USER32.dll_GetSysColor
push eax
call sub.GDI32.dll_CreateSolidBrush
mov dword [0x5052a8], eax
jmp 0x41c673
mov edx, dword [0x4f29c4]
mov ecx, dword [edx*4 + 0x5098ac]
push ecx
call sub.GDI32.dll_CreateSolidBrush
mov dword [0x5052a8], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x5f4]
cmp edx, 5
ja case.0x41c684.2
jmp dword [edx*4 + 0x41c68b]
mov ecx, dword [0x5052a8]
push ecx
push ebx
mov eax, dword [0x50526c]
push eax
call sub.USER32.dll_FillRect
mov ecx, dword [ebx + 8]
mov edx, dword [0x5052b0]
sub ecx, edx
sar ecx, 1
jns 0x41c6c8
adc ecx, 0
mov dword [0x505298], ecx
mov eax, dword [ebx + 0xc]
mov edi, dword [0x5052b4]
sub eax, edi
sar eax, 1
jns 0x41c6e0
adc eax, 0
mov dword [0x50529c], eax
push 0xcc0020
push 0
push 0
mov ecx, dword [0x505270]
push ecx
push edi
push edx
push eax
mov eax, dword [0x505298]
push eax
mov edx, dword [0x50526c]
push edx
call sub.GDI32.dll_BitBlt
jmp 0x41cbd3
push 4
mov eax, dword [0x50526c]
push eax
call sub.GDI32.dll_SetStretchBltMode
push 0
push 0
push 0
mov edx, dword [0x50526c]
push edx
call sub.GDI32.dll_SetBrushOrgEx
push 0xcc0020
mov ecx, dword [0x5052b4]
push ecx
mov eax, dword [0x5052b0]
push eax
push 0
push 0
mov edx, dword [0x505270]
push edx
mov ecx, dword [ebx + 0xc]
push ecx
mov eax, dword [ebx + 8]
push eax
push 0
push 0
mov edx, dword [0x50526c]
push edx
call sub.GDI32.dll_StretchBlt
jmp 0x41cbd3
mov ecx, dword [0x5052a8]
push ecx
push ebx
mov eax, dword [0x50526c]
push eax
call sub.USER32.dll_FillRect
push 0xcc0020
push 0
push 0
mov edx, dword [0x505270]
push edx
mov ecx, dword [0x5052b4]
push ecx
mov eax, dword [0x5052b0]
push eax
push 0
push 0
mov edx, dword [0x50526c]
push edx
call sub.GDI32.dll_BitBlt
jmp 0x41cbd3
mov ecx, dword [0x5052a8]
push ecx
push ebx
mov eax, dword [0x50526c]
push eax
call sub.USER32.dll_FillRect
fild dword [0x5052b0]
fstp dword [0x505274]
wait
fild dword [0x5052b4]
fstp dword [0x505278]
wait
fld dword [0x505278]
fcomp dword [0x41cc6c]
fnstsw ax
sahf
ja 0x41c7f7
mov dword [0x50527c], 0x3f800000
jmp 0x41c80a
fld dword [0x505274]
fdiv dword [0x505278]
fstp dword [0x50527c]
wait
fld dword [0x50527c]
fcomp qword [0x41cc70]
fnstsw ax
sahf
jae 0x41c84d
mov dword [0x50527c], 0x3dcccccd
jmp 0x41c84d
fld dword [0x50527c]
fadd dword [0x505274]
fstp dword [0x505274]
wait
fld dword [0x41cc78]
fadd dword [0x505278]
fstp dword [0x505278]
wait
fild dword [ebx + 8]
fcomp dword [0x505274]
fnstsw ax
sahf
jbe 0x41c891
fild dword [ebx + 0xc]
fcomp dword [0x505278]
fnstsw ax
sahf
ja 0x41c827
jmp 0x41c891
fld dword [0x50527c]
fsubr dword [0x505274]
fstp dword [0x505274]
wait
fld dword [0x41cc78]
fsubr dword [0x505278]
fstp dword [0x505278]
wait
fild dword [ebx + 8]
fcomp dword [0x505274]
fnstsw ax
sahf
jb 0x41c86b
fild dword [ebx + 0xc]
fcomp dword [0x505278]
fnstsw ax
sahf
jb 0x41c86b
fld dword [0x505274]
call fcn.00409360
mov dword [0x5052a0], eax
fld dword [0x505278]
call fcn.00409360
mov dword [0x5052a4], eax
mov edx, dword [ebx + 8]
sub edx, dword [0x5052a0]
sar edx, 1
jns 0x41c8dd
adc edx, 0
mov dword [0x505298], edx
mov ecx, dword [ebx + 0xc]
sub ecx, dword [0x5052a4]
sar ecx, 1
jns 0x41c8f3
adc ecx, 0
mov dword [0x50529c], ecx
push 4
mov eax, dword [0x50526c]
push eax
call sub.GDI32.dll_SetStretchBltMode
push 0
push 0
push 0
mov edx, dword [0x50526c]
push edx
call sub.GDI32.dll_SetBrushOrgEx
push 0xcc0020
mov ecx, dword [0x5052b4]
push ecx
mov eax, dword [0x5052b0]
push eax
push 0
push 0
mov edx, dword [0x505270]
push edx
mov ecx, dword [0x5052a4]
push ecx
mov eax, dword [0x5052a0]
push eax
mov edx, dword [0x50529c]
push edx
mov ecx, dword [0x505298]
push ecx
mov eax, dword [0x50526c]
push eax
call sub.GDI32.dll_StretchBlt
jmp 0x41cbd3
xor edx, edx
mov dword [0x50529c], edx
xor ecx, ecx
mov dword [0x505298], ecx
push 0xcc0020
push 0
push 0
mov eax, dword [0x505270]
push eax
mov edx, dword [0x5052b4]
push edx
mov ecx, dword [0x5052b0]
push ecx
mov eax, dword [0x50529c]
push eax
mov edx, dword [0x505298]
push edx
mov ecx, dword [0x50526c]
push ecx
call sub.GDI32.dll_BitBlt
mov eax, dword [0x5052b0]
add dword [0x505298], eax
mov edx, dword [0x505298]
cmp edx, dword [ebx + 8]
jl 0x41c970
mov ecx, dword [0x5052b4]
add dword [0x50529c], ecx
mov eax, dword [0x50529c]
cmp eax, dword [ebx + 0xc]
jl 0x41c968
jmp 0x41cbd3
mov edx, dword [0x5052a8]
push edx
push ebx
mov ecx, dword [0x50526c]
push ecx
call sub.USER32.dll_FillRect
fild dword [0x5052b0]
fstp dword [0x505274]
wait
fild dword [0x5052b4]
fstp dword [0x505278]
wait
fld dword [0x505278]
fcomp dword [0x41cc6c]
fnstsw ax
sahf
ja 0x41ca22
mov dword [0x50527c], 0x3f800000
jmp 0x41ca35
fld dword [0x505274]
fdiv dword [0x505278]
fstp dword [0x50527c]
wait
fld dword [0x50527c]
fcomp qword [0x41cc70]
fnstsw ax
sahf
jae 0x41ca50
mov dword [0x50527c], 0x3dcccccd
mov edi, 0x78
mov dword [0x505284], edi
mov dword [ebp - 4], edi
fild dword [ebp - 4]
fmul dword [0x50527c]
call fcn.00409360
mov dword [0x505280], eax
fild dword [0x505280]
fcomp dword [0x505274]
fnstsw ax
sahf
jb 0x41cabf
fild dword [0x505284]
fcomp dword [0x505278]
fnstsw ax
sahf
jae 0x41cb2b
jmp 0x41cabf
fld dword [0x50527c]
fadd dword [0x505274]
fstp dword [0x505274]
wait
fld dword [0x41cc78]
fadd dword [0x505278]
fstp dword [0x505278]
wait
fild dword [0x505280]
fcomp dword [0x505274]
fnstsw ax
sahf
jbe 0x41cb09
fild dword [0x505284]
fcomp dword [0x505278]
fnstsw ax
sahf
ja 0x41ca99
jmp 0x41cb09
fld dword [0x50527c]
fsubr dword [0x505274]
fstp dword [0x505274]
wait
fld dword [0x41cc78]
fsubr dword [0x505278]
fstp dword [0x505278]
wait
fild dword [0x505280]
fcomp dword [0x505274]
fnstsw ax
sahf
jb 0x41cae3
fild dword [0x505284]
fcomp dword [0x505278]
fnstsw ax
sahf
jb 0x41cae3
fld dword [0x505274]
call fcn.00409360
mov dword [0x5052a0], eax
fld dword [0x505278]
call fcn.00409360
mov dword [0x5052a4], eax
xor edx, edx
mov dword [0x50529c], edx
mov eax, dword [ebx + 8]
mov edx, dword [0x5052a0]
cmp eax, edx
jle 0x41cb69
sub eax, edx
mov dword [0x505298], eax
jmp 0x41cb71
xor ecx, ecx
mov dword [0x505298], ecx
push 4
mov eax, dword [0x50526c]
push eax
call sub.GDI32.dll_SetStretchBltMode
push 0
push 0
push 0
mov edx, dword [0x50526c]
push edx
call sub.GDI32.dll_SetBrushOrgEx
push 0xcc0020
mov ecx, dword [0x5052b4]
push ecx
mov eax, dword [0x5052b0]
push eax
push 0
push 0
mov edx, dword [0x505270]
push edx
mov ecx, dword [0x5052a4]
push ecx
mov eax, dword [0x5052a0]
push eax
mov edx, dword [0x50529c]
push edx
mov ecx, dword [0x505298]
push ecx
mov eax, dword [0x50526c]
push eax
call sub.GDI32.dll_StretchBlt
mov edx, dword [0x5052a8]
push edx
call sub.GDI32.dll_DeleteObject
mov ecx, dword [0x505260]
push ecx
mov eax, dword [0x505270]
push eax
call sub.GDI32.dll_SelectObject
mov edx, dword [0x50525c]
push edx
mov ecx, dword [0x50526c]
push ecx
call sub.GDI32.dll_SelectObject
mov eax, dword [esi]
mov eax, dword [eax + 0x5dc]
test eax, eax
je 0x41cc16
push eax
call sub.GDI32.dll_DeleteObject
mov eax, dword [esi]
mov edx, dword [0x505258]
mov dword [eax + 0x5dc], edx
mov ecx, dword [ebx + 8]
mov dword [eax + 0x5e4], ecx
mov edx, dword [ebx + 0xc]
mov dword [eax + 0x5e8], edx
mov eax, dword [0x505270]
push eax
call sub.GDI32.dll_DeleteDC
mov ecx, dword [0x50526c]
push ecx
call sub.GDI32.dll_DeleteDC
mov eax, dword [0x505268]
push eax
mov edx, dword [0x4fd9ec]
push edx
call sub.USER32.dll_ReleaseDC
mov eax, 1
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 8