Function at 0x47a4a0
Capabilities:
Capture screenshot

Disassembly:
sub esp, 0x50
push ebx
push ebp
push esi
mov esi, ecx
mov eax, dword [esi + 4]
xor ebp, ebp
cmp eax, ebp
mov ebx, 1
mov byte [esp + 0xf], 0
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
mov byte [esp + 0xd], 0
mov byte [esp + 0xe], bl
mov dword [esp + 0x34], 0xcc0020
je 0x47a54f
cmp byte [eax], 0x2d
jne 0x47a54f
push 0x68
push eax
call fcn.005912e0
add esp, 8
test eax, eax
je 0x47a4ec
mov byte [esp + 0xf], bl
mov eax, dword [esi + 4]
push 0x69
push eax
call fcn.005912e0
add esp, 8
test eax, eax
je 0x47a506
mov dword [esp + 0x34], 0xbb0226
mov ecx, dword [esi + 4]
push 0x6e
push ecx
call fcn.005912e0
add esp, 8
test eax, eax
je 0x47a51d
mov byte [esp + 0xe], 0
mov edx, dword [esi + 4]
push 0x74
push edx
call fcn.005912e0
add esp, 8
test eax, eax
je 0x47a534
mov byte [esp + 0xd], 1
mov eax, dword [esi + 4]
push 0x6d
push eax
call fcn.005912e0
add esp, 8
test eax, eax
je 0x47a54a
mov dword [esp + 0x2c], ebx
mov ebx, 2
mov ecx, dword [esi + ebx*4]
cmp ecx, ebp
jne 0x47a568
mov edx, dword [esi]
push ebp
push ebp
xor ecx, ecx
call fcn.004803b0
pop esi
pop ebp
pop ebx
add esp, 0x50
ret
push edi
xor edx, edx
call fcn.004f11f0
mov edi, eax
cmp edi, ebp
mov dword [esp + 0x1c], edi
je 0x47acdb
cmp dword [edi + 0x87c], ebp
je 0x47acdb
cmp dword [edi + 0x758], ebp
je 0x47acdb
cmp dword [edi + 0x960], ebp
je 0x47acdb
cmp dword [edi + 0x71c], 9
jne 0x47acdb
mov al, byte [esp + 0x13]
test al, al
je 0x47a5be
mov ecx, dword [edi]
call fcn.00499b50
mov eax, dword [esi + ebx*4 + 4]
cmp eax, ebp
je 0x47a5dc
mov cl, byte [esp + 0x11]
test cl, cl
je 0x47a5dc
push eax
call fcn.005915c3
add esp, 4
mov dword [esp + 0x34], eax
inc ebx
mov eax, dword [esi + ebx*4 + 4]
cmp eax, ebp
je 0x47acac
cmp dword [esi + ebx*4 + 8], ebp
je 0x47acac
cmp dword [esi + ebx*4 + 0xc], ebp
je 0x47acac
cmp dword [esi + ebx*4 + 0x10], ebp
je 0x47acac
cmp dword [esi + ebx*4 + 0x14], ebp
je 0x47acac
cmp dword [esi + ebx*4 + 0x18], ebp
je 0x47acac
cmp dword [esi + ebx*4 + 0x1c], ebp
je 0x47acac
push eax
call fcn.0059164b
mov ecx, dword [esi + ebx*4 + 8]
push ecx
mov dword [esp + 0x58], eax
call fcn.0059164b
mov edx, dword [esi + ebx*4 + 0xc]
push edx
mov dword [esp + 0x60], eax
call fcn.0059164b
mov edi, eax
mov eax, dword [esi + ebx*4 + 0x10]
push eax
call fcn.0059164b
mov ecx, dword [esi + ebx*4 + 0x14]
add esp, 0x10
xor edx, edx
mov ebp, eax
call fcn.004f11f0
test eax, eax
mov dword [esp + 0x28], eax
je 0x47ac97
mov ecx, dword [eax + 0x87c]
test ecx, ecx
je 0x47ac97
mov ecx, dword [eax + 0x758]
test ecx, ecx
je 0x47ac97
mov ecx, dword [eax + 0x960]
test ecx, ecx
je 0x47ac97
cmp dword [eax + 0x71c], 9
jne 0x47ac97
mov ecx, dword [esi + ebx*4 + 0x18]
push ecx
call fcn.0059164b
mov edx, dword [esi + ebx*4 + 0x1c]
push edx
mov dword [esp + 0x48], eax
call fcn.0059164b
mov dword [esp + 0x4c], eax
mov eax, dword [esi + ebx*4 + 0x20]
add esp, 8
test eax, eax
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], ebp
je 0x47a6f7
mov ecx, dword [esi + ebx*4 + 0x24]
test ecx, ecx
je 0x47a6f7
push eax
call fcn.0059164b
mov dword [esp + 0x4c], eax
mov eax, dword [esi + ebx*4 + 0x24]
push eax
call fcn.0059164b
add esp, 8
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x28]
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
cmp eax, ecx
jne 0x47a9a9
mov edx, eax
mov eax, dword [edx + 0x87c]
push eax
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
test esi, esi
mov dword [esp + 0x14], esi
jne 0x47a738
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x50
ret
push ebp
push edi
push esi
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
test eax, eax
mov dword [esp + 0x20], eax
je 0x47a98a
push esi
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x28], ebx
je 0x47a97f
mov ecx, dword [esp + 0x20]
push ecx
push ebx
call dword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [esp + 0x14]
push edx
mov dword [esp + 0x28], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov esi, eax
test esi, esi
je 0x47a964
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x960]
push ecx
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [esp + 0x54]
push 0xcc0020
push edx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x58]
push eax
push esi
push ebp
push edi
push 0
push 0
push ebx
call dword [sym.imp.GDI32.dll_BitBlt]
cmp dword [esp + 0x30], 1
jne 0x47a7ce
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
push ebp
push edi
push ecx
jmp 0x47a7d6
push 0
push 0
push 0
xor edx, edx
mov ecx, esi
call fcn.0041c150
mov al, byte [esp + 0x11]
test al, al
je 0x47a89f
mov edx, dword [esp + 0x14]
push edx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
test eax, eax
mov dword [esp + 0x18], eax
je 0x47a949
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
push eax
push ebp
push edi
mov edx, ebx
call fcn.0047d1e0
push 0
push esi
mov dword [esp + 0x34], eax
call dword [sym.imp.GDI32.dll_SetTextColor]
push 0xffffff
push esi
mov dword [esp + 0x3c], eax
call dword [sym.imp.GDI32.dll_SetBkColor]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
push 0x8800c6
push ebp
push edi
push 0
push 0
push ebx
mov ebx, dword [esp + 0x58]
push ecx
push edx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x64]
push eax
push ebx
push esi
call dword [sym.imp.GDI32.dll_StretchBlt]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
push 0xee0086
push ebp
push edi
push 0
push 0
push ecx
mov ecx, dword [esp + 0x5c]
push edx
push eax
push ecx
push ebx
push esi
call dword [sym.imp.GDI32.dll_StretchBlt]
mov edx, dword [esp + 0x34]
push edx
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov eax, dword [esp + 0x30]
push eax
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
jmp 0x47a8ca
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x4c]
push ebp
push edi
push 0
push 0
push edx
mov edx, dword [esp + 0x5c]
push eax
push ecx
push edx
push ebx
push esi
call dword [sym.imp.GDI32.dll_StretchBlt]
mov al, byte [esp + 0x12]
test al, al
mov edi, dword [esp + 0x44]
je 0x47a8f5
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x14]
push 0xcc0020
push edi
push ebx
push esi
push eax
push ecx
push edi
push ebx
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0x48]
add ebx, eax
mov eax, dword [esp + 0x1c]
cmp ebx, dword [eax + 0x96c]
jle 0x47a90d
mov dword [eax + 0x96c], ebx
mov ecx, dword [esp + 0x4c]
mov edx, dword [eax + 0x970]
add ecx, edi
cmp ecx, edx
jle 0x47a923
mov dword [eax + 0x970], ecx
mov edi, dword [esp + 0x18]
test edi, edi
je 0x47a949
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x47a942
push eax
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
push edi
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x47a959
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x47a974
push eax
push ebx
call dword [sym.imp.GDI32.dll_SelectObject]
push ebx
call dword [sym.imp.GDI32.dll_DeleteDC]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x87c]
push esi
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x50
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0x87c]
push eax
call dword [sym.imp.USER32.dll_GetDC]
test eax, eax
mov dword [esp + 0x14], eax
je 0x47a72e
mov ecx, eax
push ecx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov ebx, eax
test ebx, ebx
je 0x47ac74
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x960]
push eax
push ebx
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [esp + 0x14]
push ecx
mov dword [esp + 0x28], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov esi, eax
test esi, esi
je 0x47ac4e
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0x960]
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0x3c], eax
cmp dword [esp + 0x30], 1
jne 0x47aa2e
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
push ebp
push edi
push ecx
jmp 0x47aa36
push 0
push 0
push 0
xor edx, edx
mov ecx, esi
call fcn.0041c150
mov al, byte [esp + 0x11]
test al, al
je 0x47ab87
mov edx, dword [esp + 0x14]
push edx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
test eax, eax
mov dword [esp + 0x18], eax
je 0x47ac37
mov eax, dword [esp + 0x14]
push ebp
push edi
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
test eax, eax
mov dword [esp + 0x20], eax
je 0x47ac11
mov edx, dword [esp + 0x18]
mov ecx, eax
push ecx
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x18]
push 0xcc0020
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x58]
push eax
push ecx
push ebx
push ebp
push edi
push 0
push 0
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
push eax
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [esp + 0x24]
push edx
push ebx
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [esp + 0x20]
push eax
push ebx
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x4c]
push ecx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x4c]
push edx
mov edx, dword [esp + 0x20]
push eax
mov ecx, ebx
call fcn.0047d1e0
test eax, eax
mov dword [esp + 0x2c], eax
je 0x47ac11
push 0
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
push 0xffffff
push esi
mov dword [esp + 0x3c], eax
call dword [sym.imp.GDI32.dll_SetBkColor]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x4c]
push 0x8800c6
push ebp
push edi
push 0
push 0
push ecx
mov ecx, dword [esp + 0x5c]
push edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x64]
push eax
push ecx
push edx
push esi
call dword [sym.imp.GDI32.dll_StretchBlt]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
push 0xee0086
push ebp
push edi
push 0
push 0
push ebx
push eax
mov eax, dword [esp + 0x5c]
push ecx
push edx
push eax
push esi
call dword [sym.imp.GDI32.dll_StretchBlt]
mov ecx, dword [esp + 0x34]
push ecx
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov edx, dword [esp + 0x30]
push edx
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
jmp 0x47abb4
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
push eax
mov eax, dword [esp + 0x50]
push ebp
push edi
push ecx
mov ecx, dword [esp + 0x58]
push edx
mov edx, dword [esp + 0x58]
push ebx
push eax
mov eax, dword [esp + 0x5c]
push ecx
push edx
push eax
push esi
call dword [sym.imp.GDI32.dll_StretchBlt]
mov al, byte [esp + 0x12]
test al, al
mov edi, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
je 0x47abe3
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x14]
push 0xcc0020
push ebp
push edi
push esi
push ecx
push edx
push ebp
push edi
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x1c]
add edi, ecx
cmp edi, dword [eax + 0x96c]
jle 0x47abfb
mov dword [eax + 0x96c], edi
mov edx, dword [esp + 0x4c]
mov ecx, dword [eax + 0x970]
add ebp, edx
cmp ebp, ecx
jle 0x47ac11
mov dword [eax + 0x970], ebp
mov edi, dword [esp + 0x18]
test edi, edi
je 0x47ac37
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x47ac30
push eax
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
push edi
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x47ac47
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x47ac5e
push eax
push ebx
call dword [sym.imp.GDI32.dll_SelectObject]
push ebx
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x47ac74
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 0x87c]
push eax
push edx
call dword [sym.imp.USER32.dll_ReleaseDC]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x50
ret
mov edx, dword [esi]
push 7
push 0
xor ecx, ecx
call fcn.004803b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret
mov al, byte [esp + 0x12]
test al, al
je 0x47acc8
mov ecx, edi
call fcn.00477e90
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x50
ret
mov edx, dword [esi]
push ebp
push ebp
xor ecx, ecx
call fcn.004803b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret
mov edx, dword [esi]
push 7
push ebp
xor ecx, ecx
call fcn.004803b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret