Function at 0x412d52
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov ebx, 0x544478
mov esi, 0x544454
cmp dword [0x5291e4], 0
je 0x412d76
xor eax, eax
jmp 0x413636
mov dword [0x5291e4], 1
cmp dword [ebp + 0xc], 3
jne 0x412d9a
push 0
push ebx
push edi
call fcn.004f9e67
mov dword [esi], eax
mov dword [ebp + 0xc], 2
jmp 0x412da5
push 1
push ebx
push edi
call fcn.004f9e67
mov dword [esi], eax
mov eax, dword [esi]
test eax, eax
je 0x412db4
cmp dword [eax + 0x770], 0
jne 0x412dc3
xor edx, edx
mov dword [0x5291e4], edx
xor eax, eax
jmp 0x413636
mov edx, dword [ebx]
sub dword [ebx + 8], edx
xor ecx, ecx
mov dword [ebx], ecx
cmp dword [ebp + 0xc], 0
jne 0x412e74
mov eax, dword [esi]
mov edx, dword [eax + 0x758]
cmp edx, dword [ebx + 8]
jne 0x412dff
mov ecx, dword [eax + 0x75c]
cmp ecx, dword [ebx + 0xc]
jne 0x412dff
xor eax, eax
mov dword [0x5291e4], eax
mov eax, 1
jmp 0x413636
push dword [0x537424]
call sub.USER32.dll_GetTopWindow
mov dword [0x5444b4], eax
push dword [0x5444b4]
call sub.USER32.dll_IsZoomed
test eax, eax
je 0x412e74
cmp edi, dword [0x5444b4]
jne 0x412e62
mov eax, dword [esi]
mov edx, dword [eax + 0x758]
cmp edx, dword [ebx + 8]
jl 0x412e74
mov ecx, dword [eax + 0x75c]
cmp ecx, dword [ebx + 0xc]
jl 0x412e74
mov eax, dword [esi]
mov eax, dword [eax + 0x768]
cmp eax, 2
je 0x412e50
cmp eax, 4
jne 0x412e74
xor edx, edx
mov dword [0x5291e4], edx
mov eax, 1
jmp 0x413636
xor edx, edx
mov dword [0x5291e4], edx
mov eax, 1
jmp 0x413636
push dword [0x537420]
call sub.USER32.dll_GetDC
mov edi, eax
mov dword [0x544458], edi
test edi, edi
jne 0x412e99
xor eax, eax
mov dword [0x5291e4], eax
xor eax, eax
jmp 0x413636
push edi
call sub.GDI32.dll_CreateCompatibleDC
mov dword [0x54445c], eax
cmp dword [0x54445c], 0
jne 0x412ecd
push dword [0x544458]
push dword [0x537420]
call sub.USER32.dll_ReleaseDC
xor edx, edx
mov dword [0x5291e4], edx
xor eax, eax
jmp 0x413636
push dword [0x544458]
call sub.GDI32.dll_CreateCompatibleDC
mov edi, eax
mov dword [0x544460], edi
test edi, edi
jne 0x412f0e
push dword [0x54445c]
call sub.GDI32.dll_DeleteDC
push dword [0x544458]
push dword [0x537420]
call sub.USER32.dll_ReleaseDC
xor eax, eax
mov dword [0x5291e4], eax
xor eax, eax
jmp 0x413636
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [0x544458]
call sub.GDI32.dll_CreateCompatibleBitmap
mov edi, eax
mov dword [0x544448], edi
test edi, edi
jne 0x412f60
push dword [0x544460]
call sub.GDI32.dll_DeleteDC
push dword [0x54445c]
call sub.GDI32.dll_DeleteDC
push dword [0x544458]
push dword [0x537420]
call sub.USER32.dll_ReleaseDC
xor eax, eax
mov dword [0x5291e4], eax
xor eax, eax
jmp 0x413636
push 0x54449c
push 0x18
mov edx, dword [esi]
push dword [edx + 0x770]
call sub.GDI32.dll_GetObjectA
push dword [0x544448]
push dword [0x54445c]
call sub.GDI32.dll_SelectObject
mov dword [0x54444c], eax
mov ecx, dword [esi]
push dword [ecx + 0x770]
push dword [0x544460]
call sub.GDI32.dll_SelectObject
mov dword [0x544450], eax
mov eax, dword [0x5291d4]
test eax, eax
je 0x412fc3
cmp eax, dword [esi]
jne 0x412fc3
push 0xc
call sub.USER32.dll_GetSysColor
push eax
call sub.GDI32.dll_CreateSolidBrush
mov dword [0x544498], eax
jmp 0x412fda
mov edx, dword [0x52a370]
push dword [edx*4 + 0x5481ec]
call sub.GDI32.dll_CreateSolidBrush
mov dword [0x544498], eax
mov ecx, dword [esi]
mov eax, dword [ecx + 0x768]
cmp eax, 5
ja case.0x412feb.2
jmp dword [eax*4 + 0x412ff2]
push dword [0x544498]
push ebx
push dword [0x54445c]
call sub.USER32.dll_FillRect
mov ecx, dword [ebx + 8]
mov edx, dword [0x5444a0]
sub ecx, edx
sar ecx, 1
jns 0x41302e
adc ecx, 0
mov dword [0x544488], ecx
mov eax, dword [ebx + 0xc]
mov edi, dword [0x5444a4]
sub eax, edi
sar eax, 1
jns 0x413046
adc eax, 0
mov dword [0x54448c], eax
push 0xcc0020
push 0
push 0
push dword [0x544460]
push edi
push edx
push eax
push dword [0x544488]
push dword [0x54445c]
call sub.GDI32.dll_BitBlt
jmp 0x4135a4
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [0x5444a4]
push dword [0x5444a0]
call fcn.00412cd2
test eax, eax
je 0x41309d
push 4
push dword [0x54445c]
call sub.GDI32.dll_SetStretchBltMode
jmp 0x4130aa
push 3
push dword [0x54445c]
call sub.GDI32.dll_SetStretchBltMode
push 0
push 0
push 0
push dword [0x54445c]
call sub.GDI32.dll_SetBrushOrgEx
push 0xcc0020
push dword [0x5444a4]
push dword [0x5444a0]
push 0
push 0
push dword [0x544460]
push dword [ebx + 0xc]
push dword [ebx + 8]
push 0
push 0
push dword [0x54445c]
call sub.GDI32.dll_StretchBlt
jmp 0x4135a4
push dword [0x544498]
push ebx
push dword [0x54445c]
call sub.USER32.dll_FillRect
push 0xcc0020
push 0
push 0
push dword [0x544460]
push dword [0x5444a4]
push dword [0x5444a0]
push 0
push 0
push dword [0x54445c]
call sub.GDI32.dll_BitBlt
jmp 0x4135a4
push dword [0x544498]
push ebx
push dword [0x54445c]
call sub.USER32.dll_FillRect
fild dword [0x5444a0]
fstp dword [0x544464]
wait
fild dword [0x5444a4]
fstp dword [0x544468]
wait
fld dword [0x544468]
fcomp dword [0x41363e]
fnstsw ax
sahf
ja 0x41317a
mov dword [0x54446c], 0x3f800000
jmp 0x41318d
fld dword [0x544464]
fdiv dword [0x544468]
fstp dword [0x54446c]
wait
fld dword [0x54446c]
fcomp qword [0x413642]
fnstsw ax
sahf
jae 0x4131d0
mov dword [0x54446c], 0x3dcccccd
jmp 0x4131d0
fld dword [0x54446c]
fadd dword [0x544464]
fstp dword [0x544464]
wait
fld dword [0x41364a]
fadd dword [0x544468]
fstp dword [0x544468]
wait
fild dword [ebx + 8]
fcomp dword [0x544464]
fnstsw ax
sahf
jbe 0x413214
fild dword [ebx + 0xc]
fcomp dword [0x544468]
fnstsw ax
sahf
ja 0x4131aa
jmp 0x413214
fld dword [0x54446c]
fsubr dword [0x544464]
fstp dword [0x544464]
wait
fld dword [0x41364a]
fsubr dword [0x544468]
fstp dword [0x544468]
wait
fild dword [ebx + 8]
fcomp dword [0x544464]
fnstsw ax
sahf
jb 0x4131ee
fild dword [ebx + 0xc]
fcomp dword [0x544468]
fnstsw ax
sahf
jb 0x4131ee
fld dword [0x544464]
call fcn.00521034
mov dword [0x544490], eax
fld dword [0x544468]
call fcn.00521034
mov dword [0x544494], eax
mov edx, dword [ebx + 8]
sub edx, dword [0x544490]
sar edx, 1
jns 0x413260
adc edx, 0
mov dword [0x544488], edx
mov ecx, dword [ebx + 0xc]
sub ecx, dword [0x544494]
sar ecx, 1
jns 0x413276
adc ecx, 0
mov dword [0x54448c], ecx
push dword [0x544494]
push dword [0x544490]
push dword [0x5444a4]
push dword [0x5444a0]
call fcn.00412cd2
test eax, eax
je 0x4132ac
push 4
push dword [0x54445c]
call sub.GDI32.dll_SetStretchBltMode
jmp 0x4132b9
push 3
push dword [0x54445c]
call sub.GDI32.dll_SetStretchBltMode
push 0
push 0
push 0
push dword [0x54445c]
call sub.GDI32.dll_SetBrushOrgEx
push 0xcc0020
push dword [0x5444a4]
push dword [0x5444a0]
push 0
push 0
push dword [0x544460]
push dword [0x544494]
push dword [0x544490]
push dword [0x54448c]
push dword [0x544488]
push dword [0x54445c]
call sub.GDI32.dll_StretchBlt
jmp 0x4135a4
xor eax, eax
mov dword [0x54448c], eax
xor edx, edx
mov dword [0x544488], edx
push 0xcc0020
push 0
push 0
push dword [0x544460]
push dword [0x5444a4]
push dword [0x5444a0]
push dword [0x54448c]
push dword [0x544488]
push dword [0x54445c]
call sub.GDI32.dll_BitBlt
mov ecx, dword [0x5444a0]
add dword [0x544488], ecx
mov eax, dword [0x544488]
cmp eax, dword [ebx + 8]
jl 0x41331c
mov edx, dword [0x5444a4]
add dword [0x54448c], edx
mov ecx, dword [0x54448c]
cmp ecx, dword [ebx + 0xc]
jl 0x413314
jmp 0x4135a4
push dword [0x544498]
push ebx
push dword [0x54445c]
call sub.USER32.dll_FillRect
fild dword [0x5444a0]
fstp dword [0x544464]
wait
fild dword [0x5444a4]
fstp dword [0x544468]
wait
fld dword [0x544468]
fcomp dword [0x41363e]
fnstsw ax
sahf
ja 0x4133c9
mov dword [0x54446c], 0x3f800000
jmp 0x4133dc
fld dword [0x544464]
fdiv dword [0x544468]
fstp dword [0x54446c]
wait
fld dword [0x54446c]
fcomp qword [0x413642]
fnstsw ax
sahf
jae 0x4133f7
mov dword [0x54446c], 0x3dcccccd
mov edi, 0x78
mov dword [0x544474], edi
mov dword [ebp - 4], edi
fild dword [ebp - 4]
fmul dword [0x54446c]
call fcn.00521034
mov dword [0x544470], eax
fild dword [0x544470]
fcomp dword [0x544464]
fnstsw ax
sahf
jb 0x413466
fild dword [0x544474]
fcomp dword [0x544468]
fnstsw ax
sahf
jae 0x4134d2
jmp 0x413466
fld dword [0x54446c]
fadd dword [0x544464]
fstp dword [0x544464]
wait
fld dword [0x41364a]
fadd dword [0x544468]
fstp dword [0x544468]
wait
fild dword [0x544470]
fcomp dword [0x544464]
fnstsw ax
sahf
jbe 0x4134b0
fild dword [0x544474]
fcomp dword [0x544468]
fnstsw ax
sahf
ja 0x413440
jmp 0x4134b0
fld dword [0x54446c]
fsubr dword [0x544464]
fstp dword [0x544464]
wait
fld dword [0x41364a]
fsubr dword [0x544468]
fstp dword [0x544468]
wait
fild dword [0x544470]
fcomp dword [0x544464]
fnstsw ax
sahf
jb 0x41348a
fild dword [0x544474]
fcomp dword [0x544468]
fnstsw ax
sahf
jb 0x41348a
fld dword [0x544464]
call fcn.00521034
mov dword [0x544490], eax
fld dword [0x544468]
call fcn.00521034
mov dword [0x544494], eax
xor edx, edx
mov dword [0x54448c], edx
mov eax, dword [ebx + 8]
mov edx, dword [0x544490]
cmp eax, edx
jle 0x413510
sub eax, edx
mov dword [0x544488], eax
jmp 0x413518
xor ecx, ecx
mov dword [0x544488], ecx
push dword [0x544494]
push dword [0x544490]
push dword [0x5444a4]
push dword [0x5444a0]
call fcn.00412cd2
test eax, eax
je 0x413548
push 4
push dword [0x54445c]
call sub.GDI32.dll_SetStretchBltMode
jmp 0x413555
push 3
push dword [0x54445c]
call sub.GDI32.dll_SetStretchBltMode
push 0
push 0
push 0
push dword [0x54445c]
call sub.GDI32.dll_SetBrushOrgEx
push 0xcc0020
push dword [0x5444a4]
push dword [0x5444a0]
push 0
push 0
push dword [0x544460]
push dword [0x544494]
push dword [0x544490]
push dword [0x54448c]
push dword [0x544488]
push dword [0x54445c]
call sub.GDI32.dll_StretchBlt
push dword [0x544498]
call sub.GDI32.dll_DeleteObject
push dword [0x544450]
push dword [0x544460]
call sub.GDI32.dll_SelectObject
push dword [0x54444c]
push dword [0x54445c]
call sub.GDI32.dll_SelectObject
mov eax, dword [esi]
mov eax, dword [eax + 0x750]
test eax, eax
je 0x4135e3
push eax
call sub.GDI32.dll_DeleteObject
mov eax, dword [esi]
mov edx, dword [0x544448]
mov dword [eax + 0x750], edx
mov ecx, dword [ebx + 8]
mov dword [eax + 0x758], ecx
mov edx, dword [ebx + 0xc]
mov dword [eax + 0x75c], edx
push dword [0x544460]
call sub.GDI32.dll_DeleteDC
push dword [0x54445c]
call sub.GDI32.dll_DeleteDC
push dword [0x544458]
push dword [0x537420]
call sub.USER32.dll_ReleaseDC
xor eax, eax
mov dword [0x5291e4], eax
mov eax, 1
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 8