Function at 0x41ac20
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x41eb10
push eax
mov dword fs:[0], esp
sub esp, 0x34
push esi
mov esi, dword [esp + 0x64]
push edi
mov edi, dword [esp + 0x6c]
cmp esi, 0xffffffff
je 0x41ac4c
cmp edi, 0xffffffff
jne 0x41ac57
cmp dword [esp + 0x70], 0xffffffff
je 0x41afb9
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
push ebx
push ebp
push eax
push ecx
push eax
push ecx
lea ecx, [esp + 0x68]
call sub.MFC42.DLL_CRect::DeflateRect
cmp esi, 0xffffffff
je 0x41aef3
cmp edi, 0xffffffff
je 0x41aef3
cmp esi, edi
je 0x41aef3
mov ebx, dword [esp + 0x68]
cmp ebx, 9
jge 0x41ac9b
cmp dword [esp + 0x6c], 9
jl 0x41ad14
xor ebp, ebp
mov dword [esp + 0x2c], 0x41fad0
mov dword [esp + 0x30], ebp
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x60]
inc eax
push edx
inc ecx
push ebx
push eax
mov eax, dword [esp + 0x68]
push ecx
mov ecx, dword [esp + 0x68]
push eax
push ecx
mov dword [esp + 0x64], ebp
call dword [sym.imp.GDI32.dll_CreateRoundRectRgn]
push eax
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CGdiObject::Attach
mov edi, dword [esp + 0x54]
lea edx, [esp + 0x2c]
push edx
mov ecx, edi
call sub.MFC42.DLL_CDC::SelectClipRgn
mov dword [esp + 0x2c], 0x41fabc
lea ecx, [esp + 0x2c]
mov dword [esp + 0x4c], 1
call sub.MFC42.DLL_CGdiObject::DeleteObject
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x2c], 0x41f7b4
jmp 0x41ad1a
mov edi, dword [esp + 0x54]
xor ebp, ebp
cmp dword [esp + 0x78], 0xffffffff
je 0x41ad32
push 1
push 1
push 1
push 1
lea ecx, [esp + 0x68]
call sub.MFC42.DLL_CRect::DeflateRect
cmp dword [esp + 0x80], ebp
je 0x41ad45
mov esi, dword [esp + 0x64]
mov eax, dword [esp + 0x5c]
jmp 0x41ad4d
mov esi, dword [esp + 0x60]
mov eax, dword [esp + 0x58]
sub esi, eax
mov dword [esp + 0x84], ebp
cmp esi, ebp
jle 0x41ae93
mov eax, dword [esp + 0x70]
mov ebx, dword [esp + 0x70]
xor ecx, ecx
mov edi, eax
mov cl, ah
mov eax, dword [esp + 0x74]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], ebp
mov ebp, eax
xor edx, edx
and ecx, 0xff
shr edi, 0x10
shr ebp, 0x10
mov dl, ah
and edi, 0xff
and ebp, 0xff
and edx, 0xff
and ebx, 0xff
and eax, 0xff
sub ebp, edi
sub edx, ecx
sub eax, ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], eax
jmp 0x41adc7
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
cdq
idiv esi
mov ecx, eax
mov eax, dword [esp + 0x14]
cdq
idiv esi
add ecx, ebx
and ecx, 0xff
mov ebx, eax
mov eax, dword [esp + 0x20]
add ebx, eax
mov eax, dword [esp + 0x18]
cdq
idiv esi
xor edx, edx
add eax, edi
mov dh, al
mov dl, bl
shl edx, 8
or edx, ecx
mov ecx, dword [esp + 0x80]
mov eax, edx
test ecx, ecx
push eax
je 0x41ae27
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x88]
sub eax, ecx
push 1
push eax
mov eax, dword [esp + 0x68]
add edx, eax
push edx
push ecx
jmp 0x41ae43
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x60]
sub eax, ecx
push eax
mov eax, dword [esp + 0x8c]
push 1
push ecx
mov ecx, dword [esp + 0x68]
add eax, ecx
push eax
mov ecx, dword [esp + 0x68]
call sub.MFC42.DLL_CDC::FillSolidRect_1
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x84]
mov ebx, dword [esp + 0x14]
add ecx, edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x28]
inc eax
add ebx, ecx
add edx, ebp
cmp eax, esi
mov dword [esp + 0x84], eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edx
jl 0x41adc3
mov edi, dword [esp + 0x54]
mov ebx, dword [esp + 0x68]
xor ebp, ebp
cmp dword [esp + 0x78], 0xffffffff
je 0x41aeab
push 1
push 1
push 1
push 1
lea ecx, [esp + 0x68]
call sub.MFC42.DLL_CRect::InflateRect
cmp ebx, 9
jge 0x41aeb7
cmp dword [esp + 0x6c], 9
jl 0x41aebf
push ebp
mov ecx, edi
call sub.MFC42.DLL_CDC::SelectClipRgn
mov esi, dword [esp + 0x70]
mov ebp, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
push ebp
push 1
push edx
lea ecx, [esp + 0x48]
call sub.MFC42.DLL_CPen::CPen
cmp ebp, 0xffffffff
mov dword [esp + 0x4c], 2
je 0x41aefd
lea eax, [esp + 0x3c]
mov ecx, edi
push eax
call sub.MFC42.DLL_CDC::SelectObject
jmp 0x41af06
mov edi, dword [esp + 0x54]
mov ebx, dword [esp + 0x68]
jmp 0x41aec3
mov edx, dword [edi]
push 8
mov ecx, edi
call dword [edx + 0x2c]
push esi
lea ecx, [esp + 0x38]
mov ebp, eax
call sub.MFC42.DLL_CBrush::CBrush
mov eax, dword [esp + 0x74]
mov byte [esp + 0x4c], 3
cmp esi, eax
jne 0x41af32
cmp esi, 0xffffffff
je 0x41af32
lea eax, [esp + 0x34]
mov ecx, edi
push eax
call sub.MFC42.DLL_CDC::SelectObject_1
jmp 0x41af3b
mov edx, dword [edi]
push 5
mov ecx, edi
call dword [edx + 0x2c]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
mov esi, eax
mov eax, dword [esp + 0x6c]
push eax
mov eax, dword [esp + 0x60]
push ebx
push ecx
mov ecx, dword [esp + 0x64]
push edx
mov edx, dword [edi + 4]
push eax
push ecx
push edx
call dword [sym.imp.GDI32.dll_RoundRect]
push ebp
mov ecx, edi
call sub.MFC42.DLL_CDC::SelectObject
push esi
mov ecx, edi
call sub.MFC42.DLL_CDC::SelectObject_1
lea ecx, [esp + 0x3c]
call sub.MFC42.DLL_CGdiObject::DeleteObject
lea ecx, [esp + 0x34]
call sub.MFC42.DLL_CGdiObject::DeleteObject
mov esi, 0x41fabc
mov dword [esp + 0x34], esi
lea ecx, [esp + 0x34]
mov byte [esp + 0x4c], 4
call sub.MFC42.DLL_CGdiObject::DeleteObject
mov dword [esp + 0x34], 0x41f7b4
mov dword [esp + 0x3c], esi
lea ecx, [esp + 0x3c]
mov dword [esp + 0x4c], 5
call sub.MFC42.DLL_CGdiObject::DeleteObject
pop ebp
pop ebx
mov ecx, dword [esp + 0x3c]
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x40
ret 0x38