Function at 0x46f2f8
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffac
push ebx
push esi
push edi
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
mov byte [ebp - 0xd], 0
mov byte [ebp - 0xe], 0
cmp ebx, 1
jge 0x46f319
mov ebx, 1
cmp ebx, 0xa
jle 0x46f323
mov ebx, 0xa
xor eax, eax
xor edx, edx
mov dword [ebp - 0x14], eax
mov eax, dword [0x58670c]
xor esi, esi
test eax, eax
mov dword [ebp - 0x18], edx
jne 0x46f347
push 0x5d750f
call sub.KERNEL32.dll_GetModuleHandleA
mov dword [0x58670c], eax
mov edx, dword [0x58670c]
test edx, edx
jne 0x46f360
push 0x5d7519
call sub.KERNEL32.dll_LoadLibraryA
mov dword [0x58670c], eax
mov eax, dword [0x58670c]
test eax, eax
je 0x46f4f5
push 0x5d7523
push eax
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
je 0x46f4f5
push 0x5d752b
mov edx, dword [0x58670c]
push edx
call sub.KERNEL32.dll_GetProcAddress
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x46f4f5
push 0x5d7533
mov eax, dword [0x58670c]
push eax
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
je 0x46f4f5
push 0x5d753b
mov edx, dword [0x58670c]
push edx
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
je 0x46f4f5
push 0x5d7543
mov ecx, dword [0x58670c]
push ecx
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
je 0x46f4f5
push 0x5d754e
mov eax, dword [0x58670c]
push eax
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
je 0x46f4f5
push 0x5d7560
mov edx, dword [0x58670c]
push edx
call sub.KERNEL32.dll_GetProcAddress
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
test ecx, ecx
je 0x46f4f5
push 0x5d756b
mov eax, dword [0x58670c]
push eax
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
je 0x46f4f5
push 0x5d7575
mov edx, dword [0x58670c]
push edx
call sub.KERNEL32.dll_GetProcAddress
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
test ecx, ecx
je 0x46f4f5
push edi
call sub.USER32.dll_IsWindow
test eax, eax
jne 0x46f468
call sub.USER32.dll_GetDesktopWindow
mov edi, eax
push edi
call sub.USER32.dll_GetDC
mov esi, eax
push esi
call sub.GDI32.dll_CreateCompatibleDC
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x54]
push eax
push edi
call sub.USER32.dll_GetWindowRect
push 0x18
lea ecx, [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cdq
idiv ebx
push eax
mov eax, dword [ebp - 0x4c]
cdq
idiv ebx
push eax
push ecx
call dword [ebp - 0xc]
test eax, eax
jne 0x46f4f5
mov byte [ebp - 0xe], 1
mov eax, dword [ebp - 0x1c]
push eax
mov edx, dword [ebp - 0x18]
push edx
call sub.GDI32.dll_SelectObject
mov dword [ebp - 0x14], eax
push 0xcc0020
mov eax, dword [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x4c]
push ecx
push 0
push 0
push esi
mov eax, dword [ebp - 0x48]
cdq
idiv ebx
push eax
mov eax, ecx
cdq
idiv ebx
push eax
push 0
push 0
mov ecx, dword [ebp - 0x18]
push ecx
call sub.GDI32.dll_StretchBlt
mov eax, dword [ebp + 0x14]
lea edx, [ebp - 0x44]
push eax
push edx
mov ecx, dword [ebp + 8]
push ecx
call dword [ebp - 4]
test eax, eax
jne 0x46f4f5
mov byte [ebp - 0xd], 1
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x46f506
mov edx, dword [ebp - 0x14]
push edx
push esi
call sub.GDI32.dll_SelectObject
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x46f516
mov eax, dword [ebp - 0x18]
push eax
call sub.GDI32.dll_DeleteDC
test esi, esi
je 0x46f521
push esi
push edi
call sub.USER32.dll_ReleaseDC
mov dl, byte [ebp - 0xe]
test dl, dl
je 0x46f52f
lea ecx, [ebp - 0x44]
push ecx
call dword [ebp - 8]
mov al, byte [ebp - 0xd]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret