Function at 0x4dd110
Capabilities:
Resume thread

Disassembly:
push ebx
push esi
push edi
add esp, 0xffffffdc
mov byte [esp], cl
mov ebx, edx
mov esi, eax
xor eax, eax
call fcn.004dd0a4
xor eax, eax
mov dword [esp + 1], eax
xor eax, eax
mov dword [esp + 5], eax
call fcn.004070f0
inc dword [eax + 0x7c]
call fcn.004070f0
lea eax, [eax + 0x2c]
xor ecx, ecx
mov edx, 0x50
call fcn.004030d0
call fcn.004070f0
lea edi, [eax + 0x2c]
call fcn.004070f0
mov eax, dword [eax + 0x7c]
mov dword [edi], eax
mov dword [edi + 4], esi
test bl, bl
je 0x4dd17a
cmp dword [0x56f5b0], 0
jne 0x4dd17e
xor eax, eax
jmp 0x4dd180
mov al, 1
mov byte [edi + 0xc], al
mov al, byte [esp]
mov byte [edi + 0x40], al
lea eax, [edi + 0x38]
push eax
call sub.user32.dll_GetCursorPos
lea eax, [edi + 0x20]
push eax
mov eax, dword [edi + 4]
push eax
call sub.user32.dll_GetClientRect
push 2
lea eax, [edi + 0x20]
push eax
push 0
mov eax, dword [edi + 4]
push eax
call sub.user32.dll_MapWindowPoints
lea eax, [esp + 0x14]
push eax
mov eax, dword [edi + 4]
push eax
call sub.user32.dll_GetWindowRect
push 3
push 0
mov eax, dword [edi + 4]
push eax
call sub.user32.dll_GetDCEx
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x1c]
sub eax, dword [esp + 0x14]
mov dword [edi + 0x30], eax
mov esi, dword [esp + 0x20]
sub esi, dword [esp + 0x18]
mov dword [edi + 0x34], esi
push esi
mov eax, dword [edi + 0x30]
push eax
mov eax, dword [edi + 0x14]
push eax
call sub.gdi32.dll_CreateCompatibleBitmap
mov dword [edi + 0x1c], eax
mov eax, dword [edi + 0x14]
push eax
call sub.gdi32.dll_CreateCompatibleDC
mov esi, eax
mov dword [edi + 0x18], esi
mov eax, dword [edi + 0x1c]
push eax
push esi
call sub.gdi32.dll_SelectObject
push 0x1e
mov eax, dword [edi + 0x18]
push eax
push 0x317
mov eax, dword [edi + 4]
push eax
call sub.user32.dll_SendMessageA
cmp byte [edi + 0xc], 0
je 0x4dd289
push 0xffffffffffffffec
mov ebx, dword [edi + 4]
push ebx
call sub.user32.dll_GetWindowLongA
or eax, 0x80000
push eax
push 0xffffffffffffffec
push ebx
call sub.user32.dll_SetWindowLongA
mov dword [edi + 8], 0xaf
mov dword [edi + 0x10], 0x28
xor eax, eax
mov dword [esp + 0x10], eax
mov byte [esp + 0x10], 0
mov al, byte [edi + 0x10]
mov byte [esp + 0x12], al
push 2
lea eax, [esp + 0x14]
push eax
push 0
lea eax, [esp + 0xd]
push eax
mov eax, dword [edi + 0x18]
push eax
lea eax, [edi + 0x30]
push eax
lea eax, [esp + 0x2c]
push eax
push 0
mov eax, dword [edi + 4]
push eax
call dword [0x56f5b0]
jmp 0x4dd2ba
mov dword [edi + 8], 0x96
xor eax, eax
mov dword [edi + 0x10], eax
push 0
push 0
push 0
push 0
call sub.gdi32.dll_CreateRectRgn
mov ebx, eax
push 0
push ebx
mov eax, dword [edi + 4]
push eax
call sub.user32.dll_SetWindowRgn
test eax, eax
jne 0x4dd2ba
push ebx
call sub.gdi32.dll_DeleteObject
push 0x425f
push 0
push 0
push 0
push 0
push 0
mov eax, dword [edi + 4]
push eax
call sub.user32.dll_SetWindowPos
call fcn.004070f0
lea eax, [eax + 0x2c]
push eax
push 4
lea eax, [esp + 0x14]
push eax
mov ecx, 0x4dcee0
xor edx, edx
xor eax, eax
call fcn.00404928
mov ebx, eax
call fcn.004070f0
mov dword [eax + 0x28], ebx
call fcn.004070f0
cmp dword [eax + 0x28], 0
jne 0x4dd315
call fcn.004dd010
jmp 0x4dd326
call fcn.004070f0
mov eax, dword [eax + 0x28]
push eax
call sub.kernel32.dll_ResumeThread
add esp, 0x24
pop edi
pop esi
pop ebx
ret