Function at 0x46eb44
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 0x46eb65
mov ebx, 1
cmp ebx, 0xa
jle 0x46eb6f
mov ebx, 0xa
xor eax, eax
xor edx, edx
mov dword [ebp - 0x14], eax
mov eax, dword [0x5851ac]
xor esi, esi
test eax, eax
mov dword [ebp - 0x18], edx
jne 0x46eb93
push 0x5d5eba
call sub.KERNEL32.dll_GetModuleHandleA
mov dword [0x5851ac], eax
mov edx, dword [0x5851ac]
test edx, edx
jne 0x46ebac
push 0x5d5ec4
call sub.KERNEL32.dll_LoadLibraryA
mov dword [0x5851ac], eax
mov eax, dword [0x5851ac]
test eax, eax
je 0x46ed41
push 0x5d5ece
push eax
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
je 0x46ed41
push 0x5d5ed6
mov edx, dword [0x5851ac]
push edx
call sub.KERNEL32.dll_GetProcAddress
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x46ed41
push 0x5d5ede
mov eax, dword [0x5851ac]
push eax
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
je 0x46ed41
push 0x5d5ee6
mov edx, dword [0x5851ac]
push edx
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
je 0x46ed41
push 0x5d5eee
mov ecx, dword [0x5851ac]
push ecx
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
je 0x46ed41
push 0x5d5ef9
mov eax, dword [0x5851ac]
push eax
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
je 0x46ed41
push 0x5d5f0b
mov edx, dword [0x5851ac]
push edx
call sub.KERNEL32.dll_GetProcAddress
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
test ecx, ecx
je 0x46ed41
push 0x5d5f16
mov eax, dword [0x5851ac]
push eax
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
je 0x46ed41
push 0x5d5f20
mov edx, dword [0x5851ac]
push edx
call sub.KERNEL32.dll_GetProcAddress
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
test ecx, ecx
je 0x46ed41
push edi
call sub.USER32.dll_IsWindow
test eax, eax
jne 0x46ecb4
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 0x46ed41
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 0x46ed41
mov byte [ebp - 0xd], 1
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x46ed52
mov edx, dword [ebp - 0x14]
push edx
push esi
call sub.GDI32.dll_SelectObject
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x46ed62
mov eax, dword [ebp - 0x18]
push eax
call sub.GDI32.dll_DeleteDC
test esi, esi
je 0x46ed6d
push esi
push edi
call sub.USER32.dll_ReleaseDC
mov dl, byte [ebp - 0xe]
test dl, dl
je 0x46ed7b
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