Function at 0x4592e4
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov ebx, dword [ebp + 8]
mov esi, 0x50c25c
mov edi, 0x50c230
mov dword [esi], 1
mov byte [0x50c1f5], 0
mov byte [0x50c1f3], 0
mov byte [0x50c1f2], 0
mov byte [0x50c1f4], 0
mov byte [0x50c1f0], 1
mov byte [0x50c1f1], 0
mov dword [0x50c258], 0xcc0020
mov eax, dword [esi]
mov eax, dword [ebx + eax*4]
test eax, eax
je 0x4593ed
mov edx, dword [esi]
cmp byte [eax], 0x2d
jne 0x4593ed
push 0x68
mov ecx, dword [esi]
push eax
call fcn.00401278
add esp, 8
test eax, eax
je 0x459361
mov byte [0x50c1f5], 1
push 0x69
mov eax, dword [esi]
mov edx, dword [ebx + eax*4]
push edx
call fcn.00401278
add esp, 8
test eax, eax
je 0x45937f
mov dword [0x50c258], 0xbb0226
push 0x6e
mov ecx, dword [esi]
mov eax, dword [ebx + ecx*4]
push eax
call fcn.00401278
add esp, 8
test eax, eax
je 0x45939a
mov byte [0x50c1f0], 0
push 0x63
mov edx, dword [esi]
mov ecx, dword [ebx + edx*4]
push ecx
call fcn.00401278
add esp, 8
test eax, eax
je 0x4593b5
mov byte [0x50c1f2], 1
push 0x73
mov eax, dword [esi]
mov edx, dword [ebx + eax*4]
push edx
call fcn.00401278
add esp, 8
test eax, eax
je 0x4593d0
mov byte [0x50c1f3], 1
push 0x74
mov ecx, dword [esi]
mov eax, dword [ebx + ecx*4]
push eax
call fcn.00401278
add esp, 8
test eax, eax
je 0x4593eb
mov byte [0x50c1f4], 1
inc dword [esi]
mov edx, dword [esi]
cmp dword [ebx + edx*4], 0
jne 0x459422
cmp byte [0x50c1f2], 0
je 0x45940f
push 0
call fcn.00459268
mov eax, 1
jmp 0x459d08
push 0
push 0
mov edx, dword [ebx]
push edx
push 0
call fcn.0045bf34
jmp 0x459d08
push 0x4f1c84
mov ecx, dword [esi]
mov eax, dword [ebx + ecx*4]
push eax
call fcn.004014a8
add esp, 8
test eax, eax
jne 0x459443
xor edx, edx
mov dword [0x50c214], edx
jmp 0x459453
mov ecx, dword [esi]
mov eax, dword [ebx + ecx*4]
push eax
call fcn.004eae20
mov dword [0x50c214], eax
mov eax, dword [0x50c214]
test eax, eax
je 0x45946e
cmp byte [eax + 0x4e9], 0
je 0x45946e
cmp dword [eax + 0x5dc], 0
jne 0x459481
push 7
push 0
mov edx, dword [ebx]
push edx
push 0
call fcn.0045bf34
jmp 0x459d08
cmp byte [0x50c1f5], 0
je 0x459498
mov ecx, dword [0x50c214]
mov eax, dword [ecx]
push eax
call fcn.0046d36c
inc dword [esi]
mov edx, dword [esi]
cmp dword [ebx + edx*4], 0
jne 0x4594d4
cmp byte [0x50c1f0], 0
je 0x4594c1
mov ecx, dword [0x50c214]
push ecx
call fcn.004562a8
mov eax, 1
jmp 0x459d08
push 0
push 0
mov edx, dword [ebx]
push edx
push 0
call fcn.0045bf34
jmp 0x459d08
cmp byte [0x50c1f4], 0
je 0x4594f0
mov ecx, dword [esi]
mov eax, dword [ebx + ecx*4]
push eax
call fcn.00409a14
pop ecx
mov dword [0x50c210], eax
inc dword [esi]
mov edx, dword [esi]
cmp dword [ebx + edx*4], 0
je 0x459501
mov ecx, dword [esi]
cmp dword [ebx + ecx*4 + 4], 0
jne 0x459514
push 0
push 0
mov eax, dword [ebx]
push eax
push 0
call fcn.0045bf34
jmp 0x459d08
mov edx, dword [esi]
mov ecx, dword [ebx + edx*4]
push ecx
call fcn.00409a14
pop ecx
mov dword [0x50c220], eax
mov eax, dword [esi]
mov edx, dword [ebx + eax*4 + 4]
push edx
call fcn.00409a14
pop ecx
mov dword [0x50c224], eax
mov dword [0x50c228], 0xffffffff
mov dword [0x50c22c], 0xffffffff
add dword [esi], 2
cmp byte [0x50c1f3], 0
je 0x45959d
mov ecx, dword [esi]
cmp dword [ebx + ecx*4], 0
je 0x45959d
mov eax, dword [esi]
mov edx, dword [ebx + eax*4]
push edx
call fcn.004b6a38
test eax, eax
je 0x45959d
mov ecx, dword [esi]
cmp dword [ebx + ecx*4 + 4], 0
je 0x45959d
mov eax, dword [esi]
mov edx, dword [ebx + eax*4]
push edx
call fcn.00409a14
pop ecx
mov dword [0x50c228], eax
mov ecx, dword [esi]
mov eax, dword [ebx + ecx*4 + 4]
push eax
call fcn.00409a14
pop ecx
mov dword [0x50c22c], eax
add dword [esi], 2
mov edx, dword [esi]
mov eax, dword [ebx + edx*4]
test eax, eax
je 0x459610
mov edx, dword [esi]
push eax
call fcn.004b6a38
test eax, eax
je 0x459610
mov ecx, dword [esi]
cmp dword [ebx + ecx*4 + 4], 0
je 0x459610
mov eax, dword [esi]
cmp dword [ebx + eax*4 + 8], 0
je 0x459610
mov edx, dword [esi]
cmp dword [ebx + edx*4 + 0xc], 0
je 0x459610
mov ecx, dword [esi]
mov eax, dword [ebx + ecx*4]
push eax
call fcn.00409a14
pop ecx
mov dword [edi], eax
mov edx, dword [esi]
mov ecx, dword [ebx + edx*4 + 4]
push ecx
call fcn.00409a14
pop ecx
mov dword [edi + 4], eax
mov eax, dword [esi]
mov edx, dword [ebx + eax*4 + 8]
push edx
call fcn.00409a14
pop ecx
mov dword [edi + 8], eax
mov ecx, dword [esi]
mov eax, dword [ebx + ecx*4 + 0xc]
push eax
call fcn.00409a14
pop ecx
mov dword [edi + 0xc], eax
add dword [esi], 4
jmp 0x459627
xor edx, edx
mov dword [edi], edx
xor ecx, ecx
mov dword [edi + 4], ecx
mov dword [edi + 8], 0xffffffff
mov dword [edi + 0xc], 0xffffffff
mov eax, dword [esi]
cmp dword [ebx + eax*4], 0
jne 0x459642
push 0
push 0
mov edx, dword [ebx]
push edx
push 0
call fcn.0045bf34
jmp 0x459d08
push 0
push pe_nt_image_headers32
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [esi]
push eax
push ebx
call fcn.004b7ad4
mov dword [esi], eax
cmp dword [esi], 0
jge 0x459670
push 3
push 0
mov edx, dword [ebx]
push edx
push 0
call fcn.0045bf34
jmp 0x459d08
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 0xc]
push eax
call fcn.0041ff0c
test eax, eax
jne 0x459694
push 3
push 0
mov edx, dword [ebx]
push edx
push 0
call fcn.0045bf34
jmp 0x459d08
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00408b88
pop ecx
push 0x4f5236
mov eax, dword [ebp + 0xc]
push eax
call fcn.004015f8
add esp, 8
test eax, eax
jne 0x4596c6
push 3
push 0
mov edx, dword [ebx]
push edx
push 0
call fcn.0045bf34
jmp 0x459d08
cmp byte [0x50c1f2], 0
je 0x4596f4
push 0
push 0x50c218
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.004591ec
mov esi, eax
mov dword [0x50c1d8], esi
test esi, esi
je 0x459704
mov byte [0x50c1f1], 1
jmp 0x459770
push 1
push 0x50c218
mov eax, dword [ebp + 0xc]
push eax
call fcn.004591ec
xor edx, edx
mov dword [0x50c1d8], edx
xor ecx, ecx
mov dword [0x50c218], ecx
push 0x50c218
push 0x50c1d8
mov eax, dword [0x50c214]
mov edx, dword [eax]
push edx
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00420f6c
cmp dword [0x50c1d8], 0
jne 0x459770
cmp dword [0x4f522c], 0
je 0x459748
call fcn.00459048
jmp 0x459704
mov eax, dword [ebp + 0xc]
push eax
mov edx, dword [ebx]
push edx
push 0
push 0x835
call fcn.0041f178
push eax
push 0x50cbd8
call sub.USER32.dll_wsprintfA
add esp, 0x10
xor eax, eax
jmp 0x459d08
mov edx, dword [0x50c214]
mov ecx, dword [edx]
push ecx
call sub.USER32.dll_GetDC
mov ebx, eax
mov dword [0x50c1f8], ebx
test ebx, ebx
jne 0x459791
xor eax, eax
jmp 0x459d08
xor edx, edx
mov dword [0x50c1e0], edx
xor ecx, ecx
mov dword [0x50c1e4], ecx
xor eax, eax
mov dword [0x50c200], eax
xor edx, edx
mov dword [0x50c1dc], edx
xor ecx, ecx
mov dword [0x50c204], ecx
xor eax, eax
mov dword [0x50c1e8], eax
push ebx
call sub.GDI32.dll_CreateCompatibleDC
mov esi, eax
mov dword [0x50c1fc], esi
test esi, esi
je 0x459bbc
mov eax, dword [0x50c1d8]
push eax
push esi
call sub.GDI32.dll_SelectObject
mov dword [0x50c1e0], eax
push 0x50c240
push 0x18
mov edx, dword [0x50c1d8]
push edx
call sub.GDI32.dll_GetObjectA
mov ecx, dword [0x50c1f8]
push ecx
call sub.GDI32.dll_CreateCompatibleDC
mov ebx, eax
mov dword [0x50c200], ebx
test ebx, ebx
je 0x459bbc
mov eax, dword [0x50c214]
mov edx, dword [eax + 0x5dc]
push edx
push ebx
call sub.GDI32.dll_SelectObject
mov dword [0x50c1e4], eax
cmp dword [0x50c218], 0
je 0x459872
mov ecx, dword [0x50c214]
mov eax, dword [ecx + 0x5e0]
test eax, eax
je 0x459861
push eax
call fcn.00458fd8
test eax, eax
jne 0x459861
mov edx, dword [0x50c214]
mov ecx, dword [edx + 0x5e0]
push ecx
call sub.GDI32.dll_DeleteObject
mov eax, dword [0x50c214]
mov edx, dword [0x50c218]
mov dword [eax + 0x5e0], edx
cmp dword [0x50c228], 0xffffffff
jne 0x4598b9
cmp dword [0x50c22c], 0xffffffff
jne 0x4598b9
mov eax, dword [edi + 8]
cmp eax, 0xffffffff
jne 0x4598ac
cmp dword [edi + 0xc], 0xffffffff
jne 0x4598ac
mov edx, dword [0x50c244]
mov dword [0x50c228], edx
mov ecx, dword [0x50c248]
mov dword [0x50c22c], ecx
jmp 0x4598b9
mov dword [0x50c228], eax
mov eax, dword [edi + 0xc]
mov dword [0x50c22c], eax
cmp dword [edi + 8], 0xffffffff
jne 0x4598d7
cmp dword [edi + 0xc], 0xffffffff
jne 0x4598d7
mov edx, dword [0x50c244]
mov dword [edi + 8], edx
mov ecx, dword [0x50c248]
mov dword [edi + 0xc], ecx
push 4
mov eax, dword [0x50c200]
push eax
call sub.GDI32.dll_SetStretchBltMode
push 0
push 0
push 0
mov edx, dword [0x50c200]
push edx
call sub.GDI32.dll_SetBrushOrgEx
cmp byte [0x50c1f4], 0
je 0x459ab5
mov ecx, dword [0x50c1f8]
push ecx
call sub.GDI32.dll_CreateCompatibleDC
mov ebx, eax
mov dword [0x50c204], ebx
test ebx, ebx
je 0x459bbc
mov eax, dword [edi + 0xc]
push eax
mov edx, dword [edi + 8]
push edx
mov ecx, dword [0x50c1f8]
push ecx
call sub.GDI32.dll_CreateCompatibleBitmap
mov ebx, eax
mov dword [0x50c1e8], ebx
test ebx, ebx
je 0x459bbc
push ebx
mov eax, dword [0x50c204]
push eax
call sub.GDI32.dll_SelectObject
mov dword [0x50c1ec], eax
push 0xcc0020
mov edx, dword [edi + 4]
push edx
mov ecx, dword [edi]
push ecx
mov eax, dword [0x50c1fc]
push eax
mov edx, dword [edi + 0xc]
push edx
mov ecx, dword [edi + 8]
push ecx
push 0
push 0
mov eax, dword [0x50c204]
push eax
call sub.GDI32.dll_BitBlt
mov edx, dword [0x50c1ec]
push edx
mov ecx, dword [0x50c204]
push ecx
call sub.GDI32.dll_SelectObject
mov eax, dword [0x50c1e0]
push eax
mov edx, dword [0x50c1fc]
push edx
call sub.GDI32.dll_SelectObject
mov ecx, dword [0x50c1e8]
push ecx
mov eax, dword [0x50c1fc]
push eax
call sub.GDI32.dll_SelectObject
mov dword [0x50c1e0], eax
mov edx, dword [0x50c210]
push edx
mov ecx, dword [edi + 0xc]
push ecx
mov eax, dword [edi + 8]
push eax
mov edx, dword [0x50c204]
push edx
mov ecx, dword [0x50c1fc]
push ecx
call fcn.004584c4
mov ebx, eax
mov dword [0x50c1dc], ebx
test ebx, ebx
je 0x459bbc
push 0
mov eax, dword [0x50c200]
push eax
call sub.GDI32.dll_SetTextColor
mov dword [0x50c208], eax
push 0xffffff
mov edx, dword [0x50c200]
push edx
call sub.GDI32.dll_SetBkColor
mov dword [0x50c20c], eax
push 0x8800c6
mov ecx, dword [edi + 0xc]
push ecx
mov eax, dword [edi + 8]
push eax
push 0
push 0
mov edx, dword [0x50c204]
push edx
mov ecx, dword [0x50c22c]
push ecx
mov eax, dword [0x50c228]
push eax
mov edx, dword [0x50c224]
push edx
mov ecx, dword [0x50c220]
push ecx
mov eax, dword [0x50c200]
push eax
call sub.GDI32.dll_StretchBlt
push 0xee0086
mov edx, dword [edi + 0xc]
push edx
mov ecx, dword [edi + 8]
push ecx
push 0
push 0
mov eax, dword [0x50c1fc]
push eax
mov edx, dword [0x50c22c]
push edx
mov ecx, dword [0x50c228]
push ecx
mov eax, dword [0x50c224]
push eax
mov edx, dword [0x50c220]
push edx
mov ecx, dword [0x50c200]
push ecx
call sub.GDI32.dll_StretchBlt
mov eax, dword [0x50c208]
push eax
mov edx, dword [0x50c200]
push edx
call sub.GDI32.dll_SetTextColor
mov ecx, dword [0x50c20c]
push ecx
mov eax, dword [0x50c200]
push eax
call sub.GDI32.dll_SetBkColor
jmp 0x459af8
mov edx, dword [0x50c258]
push edx
mov ecx, dword [edi + 0xc]
push ecx
mov eax, dword [edi + 8]
push eax
mov edx, dword [edi + 4]
push edx
mov ecx, dword [edi]
push ecx
mov eax, dword [0x50c1fc]
push eax
mov edx, dword [0x50c22c]
push edx
mov ecx, dword [0x50c228]
push ecx
mov eax, dword [0x50c224]
push eax
mov edx, dword [0x50c220]
push edx
mov ecx, dword [0x50c200]
push ecx
call sub.GDI32.dll_StretchBlt
cmp byte [0x50c1f0], 0
je 0x459b89
mov eax, dword [0x50c214]
mov ebx, dword [eax + 0x5e0]
test ebx, ebx
je 0x459b35
push 0
push ebx
mov eax, dword [0x50c1f8]
push eax
call sub.GDI32.dll_SelectPalette
mov dword [0x50c21c], eax
mov edx, dword [0x50c1f8]
push edx
call sub.GDI32.dll_RealizePalette
jmp 0x459b3d
xor ecx, ecx
mov dword [0x50c21c], ecx
push 0xcc0020
mov edx, dword [0x50c224]
push edx
mov eax, dword [0x50c220]
push eax
mov ecx, dword [0x50c200]
push ecx
mov ecx, dword [0x50c22c]
push ecx
mov ecx, dword [0x50c228]
push ecx
push edx
push eax
mov eax, dword [0x50c1f8]
push eax
call sub.GDI32.dll_BitBlt
mov eax, dword [0x50c21c]
test eax, eax
je 0x459b89
push 0
push eax
mov edx, dword [0x50c1f8]
push edx
call sub.GDI32.dll_SelectPalette
mov eax, dword [edi]
add eax, dword [edi + 8]
mov edx, dword [0x50c214]
cmp eax, dword [edx + 0x5ec]
jle 0x459ba2
mov dword [edx + 0x5ec], eax
mov eax, dword [edi + 4]
add eax, dword [edi + 0xc]
mov edx, dword [0x50c214]
cmp eax, dword [edx + 0x5f0]
jle 0x459bbc
mov dword [edx + 0x5f0], eax
cmp dword [0x50c204], 0
je 0x459bfd
cmp dword [0x50c1dc], 0
je 0x459bf1
mov ecx, dword [0x50c1dc]
push ecx
mov eax, dword [0x50c204]
push eax
call sub.GDI32.dll_SelectObject
mov dword [0x50c1dc], eax
mov edx, dword [0x50c1dc]
push edx
call sub.GDI32.dll_DeleteObject
mov ecx, dword [0x50c204]
push ecx
call sub.GDI32.dll_DeleteDC
cmp dword [0x50c200], 0
je 0x459c2d
cmp dword [0x50c1e4], 0
je 0x459c21
mov eax, dword [0x50c1e4]
push eax
mov edx, dword [0x50c200]
push edx
call sub.GDI32.dll_SelectObject
mov ecx, dword [0x50c200]
push ecx
call sub.GDI32.dll_DeleteDC
cmp dword [0x50c1fc], 0
je 0x459c71
cmp dword [0x50c1e0], 0
je 0x459c66
mov eax, dword [0x50c1e0]
push eax
mov edx, dword [0x50c1fc]
push edx
call sub.GDI32.dll_SelectObject
cmp dword [0x50c1e8], 0
je 0x459c66
mov ecx, dword [0x50c1e8]
push ecx
call sub.GDI32.dll_DeleteObject
mov eax, dword [0x50c1fc]
push eax
call sub.GDI32.dll_DeleteDC
cmp byte [0x50c1f1], 0
jne 0x459cef
cmp byte [0x50c1f2], 0
je 0x459c9e
mov edx, dword [0x50c218]
push edx
mov ecx, dword [0x50c1d8]
push ecx
mov eax, dword [ebp + 0xc]
push eax
call fcn.00459104
test eax, eax
jne 0x459cef
cmp dword [0x50c1d8], 0
je 0x459cb3
mov edx, dword [0x50c1d8]
push edx
call sub.GDI32.dll_DeleteObject
xor ecx, ecx
mov dword [0x50c1d8], ecx
cmp dword [0x50c218], 0
je 0x459cef
mov eax, dword [0x50c218]
push eax
call fcn.00459010
test eax, eax
jne 0x459cef
mov edx, dword [0x50c218]
push edx
call fcn.00458fd8
test eax, eax
jne 0x459cef
mov ecx, dword [0x50c218]
push ecx
call sub.GDI32.dll_DeleteObject
mov eax, dword [0x50c1f8]
push eax
mov edx, dword [0x50c214]
mov ecx, dword [edx]
push ecx
call sub.USER32.dll_ReleaseDC
mov eax, 1
pop edi
pop esi
pop ebx
pop ebp
ret 8