	.file	"extr_comboex.c_COMBOEX_DrawItem.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC0:
	.string	"DRAWITEMSTRUCT: CtlType=0x%08x CtlID=0x%08x\n"
	.align 8
.LC1:
	.string	"itemID=0x%08x itemAction=0x%08x itemState=0x%08x\n"
	.align 8
.LC2:
	.string	"hWnd=%p hDC=%p (%s) itemData=0x%08lx\n"
	.align 8
.LC3:
	.string	"drawing item -1 special focus, rect=(%s)\n"
	.align 8
.LC4:
	.string	"window rects ex=(%s), cb=(%s), ed=(%s)\n"
	.align 8
.LC5:
	.string	"NOT drawing item  -1 special focus, rect=(%s), action=%08x, state=%08x\n"
	.align 8
.LC6:
	.string	"edit control hwndEdit=%p, text len=%d str=%s\n"
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC7:
	.string	"invalid item for id %d\n"
	.section	.rodata.str1.8
	.align 8
.LC8:
	.string	"drawing item %d text, rect=(%s)\n"
	.text
	.p2align 4
	.type	COMBOEX_DrawItem, @function
COMBOEX_DrawItem:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	mov	r15, rsi
	push	r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	lea	rbp, 24[r15]
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	mov	rbx, rdi
	lea	rdi, .LC0[rip]
	sub	rsp, 120
	.cfi_def_cfa_offset 176
	mov	edx, DWORD PTR 48[rsi]
	mov	rsi, QWORD PTR [rsi]
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR 104[rsp], rax
	xor	eax, eax
	call	TRACE@PLT
	mov	ecx, DWORD PTR 16[r15]
	mov	edx, DWORD PTR 12[r15]
	xor	eax, eax
	movsx	rsi, DWORD PTR 8[r15]
	lea	rdi, .LC1[rip]
	call	TRACE@PLT
	mov	r12d, DWORD PTR 40[r15]
	mov	rdi, rbp
	call	wine_dbgstr_rect@PLT
	movsx	rsi, DWORD PTR 44[r15]
	mov	edx, DWORD PTR 20[r15]
	lea	rdi, .LC2[rip]
	mov	ecx, eax
	mov	r8d, r12d
	xor	eax, eax
	call	TRACE@PLT
	mov	esi, DWORD PTR 8[r15]
	cmp	esi, -1
	je	.L104
.L2:
	mov	rdi, rbx
	call	get_item_data@PLT
	cmp	rax, QWORD PTR CB_ERR[rip]
	mov	rbp, rax
	je	.L105
.L12:
	mov	edi, DWORD PTR comboex[rip]
	call	TRACE_ON@PLT
	test	rax, rax
	jne	.L106
.L14:
	mov	eax, DWORD PTR CBE_STARTOFFSET[rip]
	mov	edx, DWORD PTR 16[r15]
	mov	ecx, DWORD PTR ODS_COMBOEXLBOX[rip]
	mov	DWORD PTR 4[rsp], eax
	mov	eax, DWORD PTR 0[rbp]
	and	ecx, edx
	test	DWORD PTR CBEIF_INDENT[rip], eax
	je	.L15
	test	ecx, ecx
	je	.L15
	mov	esi, DWORD PTR 4[rbp]
	cmp	DWORD PTR I_INDENTCALLBACK[rip], esi
	je	.L107
.L16:
	imul	esi, DWORD PTR CBE_INDENT[rip]
	add	DWORD PTR 4[rsp], esi
.L15:
	mov	esi, DWORD PTR [rbx]
	mov	edi, DWORD PTR 8[r15]
	mov	r13d, -2
	mov	r14d, DWORD PTR ILD_NORMAL[rip]
	mov	DWORD PTR 8[rsp], esi
	mov	DWORD PTR 20[rsp], edi
	test	DWORD PTR CBEIF_IMAGE[rip], eax
	je	.L19
	mov	r13d, DWORD PTR 8[rbp]
.L19:
	test	DWORD PTR CBEIF_SELECTEDIMAGE[rip], eax
	je	.L20
	mov	esi, DWORD PTR 20[rsp]
	cmp	DWORD PTR 8[rsp], esi
	je	.L108
.L20:
	test	ecx, ecx
	je	.L21
	test	DWORD PTR ODS_SELECTED[rip], edx
	cmovne	r14d, DWORD PTR ILD_SELECTED[rip]
.L22:
	mov	rdi, QWORD PTR 24[rbx]
	mov	DWORD PTR 16[rsp], 0
	test	rdi, rdi
	je	.L25
	mov	eax, DWORD PTR 8[rbx]
	test	DWORD PTR CBES_EX_NOEDITIMAGEINDENT[rip], eax
	je	.L109
.L25:
	mov	rsi, rbp
	mov	rdi, rbx
	call	COMBOEX_GetText@PLT
	test	rax, rax
	mov	r12, rax
	lea	rax, nil.2117[rip]
	cmove	r12, rax
	mov	rdi, r12
	call	strlenW@PLT
	mov	edi, DWORD PTR 20[r15]
	lea	rcx, 48[rsp]
	mov	rsi, r12
	mov	edx, eax
	mov	DWORD PTR 24[rsp], eax
	call	GetTextExtentPoint32W@PLT
	mov	edx, DWORD PTR 12[r15]
	mov	eax, DWORD PTR ODA_SELECT[rip]
	or	eax, DWORD PTR ODA_DRAWENTIRE[rip]
	test	eax, edx
	je	.L27
	mov	eax, DWORD PTR I_IMAGECALLBACK[rip]
	mov	r8d, DWORD PTR 16[rbp]
	cmp	eax, r13d
	je	.L110
.L28:
	cmp	r8d, eax
	je	.L111
.L35:
	test	r13d, r13d
	js	.L38
	mov	eax, DWORD PTR CBES_EX_NOEDITIMAGE[rip]
	or	eax, DWORD PTR CBES_EX_NOEDITIMAGEINDENT[rip]
	test	DWORD PTR 8[rbx], eax
	jne	.L38
	mov	rdi, QWORD PTR 24[rbx]
	test	r8d, r8d
	jle	.L39
	mov	edx, 1
	mov	esi, r8d
	call	ImageList_SetOverlayImage@PLT
	mov	edi, 1
	call	INDEXTOOVERLAYMASK@PLT
	mov	rdi, QWORD PTR 24[rbx]
	or	r14d, eax
.L39:
	mov	edx, DWORD PTR 20[r15]
	mov	r8d, DWORD PTR 24[r15]
	mov	r9d, r14d
	mov	esi, r13d
	mov	ecx, DWORD PTR 4[rsp]
	call	ImageList_Draw@PLT
.L38:
	mov	rdi, QWORD PTR 16[rbx]
	call	IsWindowVisible@PLT
	test	rax, rax
	je	.L40
	mov	edx, DWORD PTR 12[r15]
.L27:
	test	DWORD PTR ODA_FOCUS[rip], edx
	jne	.L112
.L9:
	mov	rax, QWORD PTR 104[rsp]
	xor	rax, QWORD PTR fs:40
	jne	.L113
	add	rsp, 120
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	xor	eax, eax
	pop	rbx
	.cfi_def_cfa_offset 48
	pop	rbp
	.cfi_def_cfa_offset 40
	pop	r12
	.cfi_def_cfa_offset 32
	pop	r13
	.cfi_def_cfa_offset 24
	pop	r14
	.cfi_def_cfa_offset 16
	pop	r15
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L104:
	.cfi_restore_state
	mov	r12d, DWORD PTR 12[r15]
	test	DWORD PTR ODA_FOCUS[rip], r12d
	je	.L3
	mov	eax, DWORD PTR 16[r15]
	test	DWORD PTR ODS_SELECTED[rip], eax
	je	.L3
.L4:
	mov	rdi, rbp
	call	wine_dbgstr_rect@PLT
	lea	rdi, .LC3[rip]
	movsx	rsi, eax
	xor	eax, eax
	call	TRACE@PLT
.L6:
	mov	esi, DWORD PTR 8[r15]
	cmp	esi, -1
	jne	.L2
	cmp	QWORD PTR 16[rbx], 0
	lea	rbp, 32[rbx]
	je	.L12
	mov	rdi, rbp
	call	COMBOEX_FreeText@PLT
	mov	eax, DWORD PTR CBEIF_TEXT[rip]
	mov	rdi, QWORD PTR 16[rbx]
	not	eax
	and	DWORD PTR 32[rbx], eax
	call	GetWindowTextLengthW@PLT
	mov	r12d, eax
	test	eax, eax
	je	.L12
	mov	eax, DWORD PTR CBEIF_TEXT[rip]
	or	DWORD PTR 32[rbx], eax
	lea	r13d, 1[r12]
	lea	edi, 0[0+r13*4]
	call	Alloc@PLT
	mov	QWORD PTR 56[rbx], rax
	mov	rdi, rax
	test	rax, rax
	jne	.L114
.L13:
	call	debugstr_txt@PLT
	mov	rsi, QWORD PTR 16[rbx]
	mov	edx, r12d
	lea	rdi, .LC6[rip]
	mov	ecx, eax
	xor	eax, eax
	call	TRACE@PLT
	jmp	.L12
	.p2align 4,,10
	.p2align 3
.L3:
	mov	eax, DWORD PTR ODA_DRAWENTIRE[rip]
	mov	edx, DWORD PTR ODA_SELECT[rip]
	or	edx, eax
	test	edx, r12d
	jne	.L115
.L5:
	mov	rcx, QWORD PTR ODT_COMBOBOX[rip]
	cmp	QWORD PTR [r15], rcx
	jne	.L7
	cmp	r12d, eax
	je	.L116
.L7:
	mov	r13d, DWORD PTR 16[r15]
	mov	rdi, rbp
	call	wine_dbgstr_rect@PLT
	mov	edx, r12d
	lea	rdi, .LC5[rip]
	mov	esi, eax
	mov	ecx, r13d
	xor	eax, eax
	call	ERR@PLT
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L112:
	mov	eax, DWORD PTR 4[rsp]
	mov	ebx, DWORD PTR 16[rsp]
	lea	rsi, 64[rsp]
	mov	edi, DWORD PTR 20[r15]
	lea	eax, -1[rax+rbx]
	mov	DWORD PTR 72[rsp], eax
	add	eax, DWORD PTR 52[rsp]
	add	eax, 2
	mov	DWORD PTR 76[rsp], eax
	mov	rax, QWORD PTR 24[r15]
	mov	QWORD PTR 64[rsp], rax
	call	DrawFocusRect@PLT
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L21:
	mov	rdi, QWORD PTR 16[rbx]
	call	IsWindowVisible@PLT
	test	rax, rax
	jne	.L117
	mov	eax, DWORD PTR 16[r15]
	test	DWORD PTR ODS_SELECTED[rip], eax
	je	.L22
.L24:
	mov	r14d, DWORD PTR ILD_SELECTED[rip]
	jmp	.L22
	.p2align 4,,10
	.p2align 3
.L106:
	mov	rdi, rbp
	call	COMBOEX_DumpItem@PLT
	jmp	.L14
	.p2align 4,,10
	.p2align 3
.L40:
	mov	eax, DWORD PTR 16[r15]
	mov	esi, DWORD PTR comctl32_color[rip+12]
	lea	rbx, 64[rsp]
	test	DWORD PTR ODS_SELECTED[rip], eax
	mov	edi, DWORD PTR 20[r15]
	cmove	esi, DWORD PTR comctl32_color[rip+8]
	call	SetBkColor@PLT
	mov	esi, DWORD PTR comctl32_color[rip+4]
	mov	edi, DWORD PTR 20[r15]
	mov	ebp, eax
	mov	eax, DWORD PTR 16[r15]
	test	DWORD PTR ODS_SELECTED[rip], eax
	cmove	esi, DWORD PTR comctl32_color[rip]
	call	SetTextColor@PLT
	mov	esi, DWORD PTR 28[r15]
	mov	edx, DWORD PTR 24[r15]
	mov	rdi, rbx
	mov	r14d, eax
	mov	r13d, DWORD PTR 4[rsp]
	add	r13d, DWORD PTR 16[rsp]
	mov	eax, esi
	lea	r8d, -1[rsi]
	mov	esi, r13d
	sub	eax, edx
	sub	eax, DWORD PTR 48[rsp]
	mov	ecx, eax
	shr	eax, 31
	add	eax, ecx
	mov	ecx, DWORD PTR 52[rsp]
	sar	eax
	lea	r10d, [rax+rdx]
	add	ecx, r13d
	add	edx, 1
	mov	DWORD PTR 8[rsp], r10d
	call	SetRect@PLT
	mov	rdi, rbx
	call	wine_dbgstr_rect@PLT
	movsx	rsi, DWORD PTR 8[r15]
	lea	rdi, .LC8[rip]
	mov	edx, eax
	xor	eax, eax
	call	TRACE@PLT
	push	0
	.cfi_def_cfa_offset 184
	mov	eax, DWORD PTR 32[rsp]
	mov	r9, r12
	mov	edi, DWORD PTR 20[r15]
	mov	r8, rbx
	mov	ecx, DWORD PTR ETO_OPAQUE[rip]
	mov	esi, r13d
	push	rax
	.cfi_def_cfa_offset 192
	mov	r10d, DWORD PTR 24[rsp]
	or	ecx, DWORD PTR ETO_CLIPPED[rip]
	mov	edx, r10d
	call	ExtTextOutW@PLT
	mov	edi, DWORD PTR 20[r15]
	mov	esi, ebp
	call	SetBkColor@PLT
	mov	edi, DWORD PTR 20[r15]
	mov	esi, r14d
	call	SetTextColor@PLT
	pop	rax
	.cfi_def_cfa_offset 184
	mov	edx, DWORD PTR 12[r15]
	pop	rcx
	.cfi_def_cfa_offset 176
	jmp	.L27
	.p2align 4,,10
	.p2align 3
.L108:
	mov	r13d, DWORD PTR 12[rbp]
	jmp	.L20
	.p2align 4,,10
	.p2align 3
.L109:
	mov	QWORD PTR 64[rsp], 0
	lea	rdx, 64[rsp]
	xor	esi, esi
	call	ImageList_GetImageInfo@PLT
	mov	eax, DWORD PTR 68[rsp]
	sub	eax, DWORD PTR 64[rsp]
	add	eax, DWORD PTR CBE_SEP[rip]
	mov	DWORD PTR 16[rsp], eax
	jmp	.L25
	.p2align 4,,10
	.p2align 3
.L117:
	mov	eax, DWORD PTR 4[rbx]
	test	DWORD PTR WCBE_EDITFOCUSED[rip], eax
	je	.L22
	jmp	.L24
	.p2align 4,,10
	.p2align 3
.L115:
	mov	edx, DWORD PTR 16[r15]
	test	DWORD PTR ODS_FOCUS[rip], edx
	je	.L5
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L111:
	lea	rdx, 64[rsp]
	mov	esi, 28
	mov	rdi, rdx
	mov	QWORD PTR 8[rsp], rdx
	call	ZeroMemory@PLT
	mov	eax, DWORD PTR CBEIF_OVERLAY[rip]
	mov	rdx, QWORD PTR 8[rsp]
	mov	rdi, rbx
	mov	esi, DWORD PTR CBEN_GETDISPINFOW[rip]
	mov	DWORD PTR 64[rsp], eax
	mov	eax, DWORD PTR 20[rbp]
	mov	DWORD PTR 88[rsp], eax
	mov	eax, DWORD PTR 8[r15]
	mov	DWORD PTR 68[rsp], eax
	call	COMBOEX_NotifyItem@PLT
	mov	eax, DWORD PTR 64[rsp]
	mov	r8d, DWORD PTR 84[rsp]
	test	DWORD PTR CBEIF_DI_SETITEM[rip], eax
	je	.L35
	mov	DWORD PTR 16[rbp], r8d
	jmp	.L35
	.p2align 4,,10
	.p2align 3
.L110:
	lea	r13, 64[rsp]
	mov	esi, 28
	mov	DWORD PTR 28[rsp], r8d
	mov	rdi, r13
	call	ZeroMemory@PLT
	mov	r8d, DWORD PTR 28[rsp]
	mov	ecx, DWORD PTR 20[rsp]
	cmp	DWORD PTR 8[rsp], ecx
	mov	DWORD PTR 8[rsp], r8d
	je	.L118
	mov	eax, DWORD PTR CBEIF_IMAGE[rip]
	mov	esi, DWORD PTR CBEN_GETDISPINFOW[rip]
	mov	rdx, r13
	mov	rdi, rbx
	mov	DWORD PTR 64[rsp], eax
	mov	eax, DWORD PTR 20[rbp]
	mov	DWORD PTR 88[rsp], eax
	mov	eax, DWORD PTR 8[r15]
	mov	DWORD PTR 68[rsp], eax
	call	COMBOEX_NotifyItem@PLT
	mov	eax, DWORD PTR 64[rsp]
	test	DWORD PTR CBEIF_DI_SETITEM[rip], eax
	mov	r13d, DWORD PTR 76[rsp]
	mov	r8d, DWORD PTR 8[rsp]
	je	.L34
	mov	DWORD PTR 8[rbp], r13d
.L34:
	mov	eax, DWORD PTR I_IMAGECALLBACK[rip]
	jmp	.L28
	.p2align 4,,10
	.p2align 3
.L107:
	lea	r12, 64[rsp]
	mov	esi, 28
	mov	rdi, r12
	call	ZeroMemory@PLT
	mov	eax, DWORD PTR CBEIF_INDENT[rip]
	mov	rdx, r12
	mov	rdi, rbx
	mov	esi, DWORD PTR CBEN_GETDISPINFOW[rip]
	mov	DWORD PTR 64[rsp], eax
	mov	eax, DWORD PTR 20[rbp]
	mov	DWORD PTR 88[rsp], eax
	mov	eax, DWORD PTR 8[r15]
	mov	DWORD PTR 68[rsp], eax
	call	COMBOEX_NotifyItem@PLT
	mov	eax, DWORD PTR 64[rsp]
	mov	esi, DWORD PTR 72[rsp]
	test	DWORD PTR CBEIF_DI_SETITEM[rip], eax
	je	.L18
	mov	DWORD PTR 4[rbp], esi
.L18:
	mov	edx, DWORD PTR 16[r15]
	mov	ecx, DWORD PTR ODS_COMBOEXLBOX[rip]
	mov	eax, DWORD PTR 0[rbp]
	and	ecx, edx
	jmp	.L16
	.p2align 4,,10
	.p2align 3
.L105:
	mov	esi, DWORD PTR 8[r15]
	lea	rdi, .LC7[rip]
	xor	eax, eax
	call	ERR@PLT
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L116:
	mov	edi, DWORD PTR comboex[rip]
	call	TRACE_ON@PLT
	test	rax, rax
	je	.L6
	mov	rdi, QWORD PTR 72[rbx]
	lea	rbp, 32[rsp]
	lea	r12, 48[rsp]
	mov	rsi, rbp
	lea	r13, 64[rsp]
	call	GetWindowRect@PLT
	mov	rdi, QWORD PTR 64[rbx]
	mov	rsi, r12
	call	GetWindowRect@PLT
	mov	rdi, r13
	mov	r8d, -1
	mov	ecx, -1
	mov	edx, -1
	mov	esi, -1
	call	SetRect@PLT
	mov	rdi, QWORD PTR 16[rbx]
	test	rdi, rdi
	jne	.L119
.L8:
	mov	rdi, r13
	call	wine_dbgstr_rect@PLT
	mov	rdi, r12
	mov	r13d, eax
	call	wine_dbgstr_rect@PLT
	mov	rdi, rbp
	mov	r12d, eax
	call	wine_dbgstr_rect@PLT
	mov	ecx, r13d
	mov	edx, r12d
	lea	rdi, .LC4[rip]
	movsx	rsi, eax
	xor	eax, eax
	call	TRACE@PLT
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L118:
	mov	eax, DWORD PTR CBEIF_SELECTEDIMAGE[rip]
	mov	esi, DWORD PTR CBEN_GETDISPINFOW[rip]
	mov	rdx, r13
	mov	rdi, rbx
	mov	DWORD PTR 64[rsp], eax
	mov	eax, DWORD PTR 20[rbp]
	mov	DWORD PTR 88[rsp], eax
	mov	eax, DWORD PTR 8[r15]
	mov	DWORD PTR 68[rsp], eax
	call	COMBOEX_NotifyItem@PLT
	mov	eax, DWORD PTR 64[rsp]
	test	DWORD PTR CBEIF_DI_SETITEM[rip], eax
	mov	r13d, DWORD PTR 80[rsp]
	mov	r8d, DWORD PTR 8[rsp]
	je	.L34
	mov	DWORD PTR 12[rbp], r13d
	jmp	.L34
	.p2align 4,,10
	.p2align 3
.L114:
	mov	r8, QWORD PTR 16[rbx]
	mov	edx, r13d
	mov	rsi, rax
	mov	rdi, r8
	call	GetWindowTextW@PLT
	mov	rdi, QWORD PTR 56[rbx]
	jmp	.L13
.L119:
	mov	rsi, r13
	call	GetWindowRect@PLT
	jmp	.L8
.L113:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE0:
	.size	COMBOEX_DrawItem, .-COMBOEX_DrawItem
	.section	.rodata
	.align 4
	.type	nil.2117, @object
	.size	nil.2117, 4
nil.2117:
	.zero	4
	.comm	comctl32_color,16,16
	.comm	comboex,4,4
	.comm	WCBE_EDITFOCUSED,4,4
	.comm	ODT_COMBOBOX,8,8
	.comm	ODS_SELECTED,4,4
	.comm	ODS_FOCUS,4,4
	.comm	ODS_COMBOEXLBOX,4,4
	.comm	ODA_SELECT,4,4
	.comm	ODA_FOCUS,4,4
	.comm	ODA_DRAWENTIRE,4,4
	.comm	I_INDENTCALLBACK,4,4
	.comm	I_IMAGECALLBACK,4,4
	.comm	ILD_SELECTED,4,4
	.comm	ILD_NORMAL,4,4
	.comm	ETO_OPAQUE,4,4
	.comm	ETO_CLIPPED,4,4
	.comm	CB_ERR,8,8
	.comm	CBE_STARTOFFSET,4,4
	.comm	CBE_SEP,4,4
	.comm	CBE_INDENT,4,4
	.comm	CBES_EX_NOEDITIMAGEINDENT,4,4
	.comm	CBES_EX_NOEDITIMAGE,4,4
	.comm	CBEN_GETDISPINFOW,4,4
	.comm	CBEIF_TEXT,4,4
	.comm	CBEIF_SELECTEDIMAGE,4,4
	.comm	CBEIF_OVERLAY,4,4
	.comm	CBEIF_INDENT,4,4
	.comm	CBEIF_IMAGE,4,4
	.comm	CBEIF_DI_SETITEM,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_comboex.c_COMBOEX_DrawItem.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"DRAWITEMSTRUCT: CtlType=0x%08x CtlID=0x%08x\012\000"
	.align	2
.LC1:
	.ascii	"itemID=0x%08x itemAction=0x%08x itemState=0x%08x\012"
	.ascii	"\000"
	.align	2
.LC2:
	.ascii	"hWnd=%p hDC=%p (%s) itemData=0x%08lx\012\000"
	.align	2
.LC3:
	.ascii	"drawing item -1 special focus, rect=(%s)\012\000"
	.align	2
.LC4:
	.ascii	"window rects ex=(%s), cb=(%s), ed=(%s)\012\000"
	.align	2
.LC5:
	.ascii	"NOT drawing item  -1 special focus, rect=(%s), acti"
	.ascii	"on=%08x, state=%08x\012\000"
	.align	2
.LC6:
	.ascii	"edit control hwndEdit=%p, text len=%d str=%s\012\000"
	.align	2
.LC7:
	.ascii	"invalid item for id %d\012\000"
	.align	2
.LC8:
	.ascii	"drawing item %d text, rect=(%s)\012\000"
	.section	.rodata.cst4,"aM",%progbits,4
	.align	2
.LC9:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	COMBOEX_DrawItem, %function
COMBOEX_DrawItem:
	@ args = 0, pretend = 0, frame = 96
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	mov	r4, r1
	ldr	r3, .L117
	sub	sp, sp, #116
	ldr	r2, [r1, #44]
	mov	r5, r0
	ldr	r1, [r1]
	ldr	r0, .L117+4
	ldr	r3, [r3]
	str	r3, [sp, #108]
	mov	r3,#0
	add	r6, r4, #20
	bl	TRACE
	ldmib	r4, {r1, r2, r3}
	ldr	r0, .L117+8
	bl	TRACE
	mov	r0, r6
	ldr	r7, [r4, #40]
	ldr	r8, [r4, #16]
	bl	wine_dbgstr_rect
	ldr	ip, [r4, #36]
	mov	r3, r0
	mov	r1, r7
	mov	r2, r8
	ldr	r0, .L117+12
	str	ip, [sp]
	bl	TRACE
	ldr	r1, [r4, #4]
	cmn	r1, #1
	beq	.L102
.L2:
	mov	r0, r5
	bl	get_item_data
	ldr	r3, .L117+16
	mov	r6, r0
	ldr	r3, [r3]
	cmp	r0, r3
	beq	.L11
	ldr	r3, .L117+20
	str	r3, [sp, #32]
.L12:
	ldr	r3, .L117+24
	ldr	r0, [r3]
	bl	TRACE_ON
	cmp	r0, #0
	bne	.L103
.L14:
	ldr	r8, .L117+28
	ldr	r7, .L117+32
	ldr	r0, .L117+36
	ldr	ip, [r8]
	ldr	r3, [r6]
	ldr	r2, [r7]
	ldr	r1, [r4, #12]
	ldr	r0, [r0]
	tst	r3, ip
	and	r2, r2, r1
	str	r0, [sp, #20]
	beq	.L15
	cmp	r2, #0
	beq	.L15
	ldr	ip, .L117+40
	ldr	r0, [r6, #4]
	ldr	ip, [ip]
	cmp	ip, r0
	beq	.L104
.L16:
	ldr	ip, .L117+44
	ldr	r7, [sp, #20]
	ldr	ip, [ip]
	mla	lr, ip, r0, r7
	str	lr, [sp, #20]
.L15:
	ldr	r10, .L117+48
	ldr	ip, .L117+52
	ldr	r0, [r10]
	ldr	fp, .L117+56
	tst	r3, r0
	ldr	r0, [r5]
	ldr	ip, [ip]
	str	r0, [sp, #24]
	ldr	r0, [r4, #4]
	str	ip, [sp, #36]
	str	r0, [sp, #28]
	ldr	r0, [fp]
	ldr	ip, [sp, #24]
	and	r3, r3, r0
	ldr	r0, [sp, #28]
	mvneq	r9, #1
	sub	r0, ip, r0
	clz	r0, r0
	ldrne	r9, [r6, #8]
	cmp	r3, #0
	lsr	r0, r0, #5
	moveq	r0, #0
	cmp	r0, #0
	ldrne	r9, [r6, #12]
	cmp	r2, #0
	beq	.L21
	ldr	r3, .L117+60
	ldr	r3, [r3]
	tst	r1, r3
	beq	.L22
.L24:
	ldr	r3, .L117+64
	ldr	r3, [r3]
	str	r3, [sp, #36]
.L22:
	ldr	r8, [r5, #16]
	cmp	r8, #0
	beq	.L25
	ldr	r3, .L117+68
	ldr	r1, [r5, #8]
	ldr	r3, [r3]
	ands	r1, r1, r3
	movne	r8, #0
	beq	.L105
.L25:
	mov	r1, r6
	mov	r0, r5
	bl	COMBOEX_GetText
	cmp	r0, #0
	ldr	r7, .L117+72
	movne	r7, r0
	mov	r0, r7
	bl	strlenW
	mov	r1, r7
	mov	r2, r0
	str	r0, [sp, #40]
	add	r3, sp, #64
	ldr	r0, [r4, #16]
	bl	GetTextExtentPoint32W
	ldr	r2, .L117+76
	ldr	r3, .L117+80
	ldr	r1, [r2]
	ldr	r3, [r3]
	ldr	r2, [r4, #8]
	orr	r3, r3, r1
	tst	r3, r2
	beq	.L27
	ldr	r2, .L117+84
	ldr	r3, [r6, #16]
	ldr	r2, [r2]
	cmp	r2, r9
	beq	.L106
.L28:
	cmp	r3, r2
	beq	.L107
.L35:
	cmp	r9, #0
	blt	.L38
	ldr	r1, .L117+68
	ldr	r2, .L117+88
	ldr	r0, [r1]
	ldr	r2, [r2]
	ldr	r1, [r5, #8]
	orr	r2, r2, r0
	tst	r2, r1
	beq	.L108
.L38:
	ldr	r0, [r5, #12]
	bl	IsWindowVisible
	subs	r3, r0, #0
	str	r3, [sp, #24]
	bne	.L100
	ldr	r6, .L117+60
	ldr	r5, .L117+92
	ldr	r2, [r6]
	ldr	r0, [r4, #12]
	ldr	r3, [r5, #8]
	tst	r0, r2
	ldr	r1, [r5, #12]
	ldr	r0, [r4, #16]
	moveq	r1, r3
	bl	SetBkColor
	ldr	r2, [r6]
	mov	fp, r0
	ldr	r0, [r4, #12]
	ldr	r3, [r5]
	tst	r0, r2
	ldr	r1, [r5, #4]
	ldr	r0, [r4, #16]
	moveq	r1, r3
	bl	SetTextColor
	ldr	lr, [r4, #20]
	ldr	r2, [r4, #24]
	ldr	ip, [sp, #64]
	ldr	r1, [sp, #20]
	sub	r6, r2, lr
	ldr	r3, [sp, #68]
	add	r5, r1, r8
	add	r10, sp, #80
	sub	r2, r2, #1
	sub	r6, r6, ip
	add	ip, r6, r6, lsr #31
	add	r3, r5, r3
	mov	r9, r0
	mov	r1, r5
	str	r2, [sp]
	mov	r0, r10
	add	r2, lr, #1
	add	r6, lr, ip, asr #1
	bl	SetRect
	ldr	r1, [r4, #4]
	mov	r0, r10
	str	r1, [sp, #28]
	bl	wine_dbgstr_rect
	ldr	r1, [sp, #28]
	mov	r2, r0
	ldr	r0, .L117+96
	bl	TRACE
	ldr	ip, [sp, #24]
	ldr	r2, .L117+100
	ldr	r3, .L117+104
	ldr	r0, [r2]
	ldr	r3, [r3]
	str	ip, [sp, #12]
	ldr	ip, [sp, #40]
	str	r10, [sp]
	stmib	sp, {r7, ip}
	orr	r3, r0, r3
	mov	r2, r6
	mov	r1, r5
	ldr	r0, [r4, #16]
	bl	ExtTextOutW
	mov	r1, fp
	ldr	r0, [r4, #16]
	bl	SetBkColor
	mov	r1, r9
	ldr	r0, [r4, #16]
	bl	SetTextColor
.L100:
	ldr	r2, [r4, #8]
.L27:
	ldr	r3, [sp, #32]
	ldr	r3, [r3]
	tst	r2, r3
	bne	.L109
.L9:
	ldr	r3, .L117
	ldr	r2, [r3]
	ldr	r3, [sp, #108]
	eors	r2, r3, r2
	mov	r3, #0
	bne	.L110
	mov	r0, #0
	add	sp, sp, #116
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L102:
	ldr	r3, .L117+20
	mov	r2, r3
	str	r3, [sp, #32]
	ldr	r2, [r2]
	ldr	r3, [r4, #8]
	tst	r3, r2
	beq	.L3
	ldr	r2, .L117+60
	ldr	r1, [r4, #12]
	ldr	r2, [r2]
	tst	r1, r2
	beq	.L3
.L4:
	mov	r0, r6
	bl	wine_dbgstr_rect
	mov	r1, r0
	ldr	r0, .L117+108
	bl	TRACE
.L6:
	ldr	r1, [r4, #4]
	cmn	r1, #1
	bne	.L2
	ldr	r3, [r5, #12]
	add	r6, r5, #20
	cmp	r3, #0
	beq	.L12
	ldr	r7, .L117+112
	mov	r0, r6
	bl	COMBOEX_FreeText
	ldr	r3, [r5, #20]
	ldr	r2, [r7]
	ldr	r0, [r5, #12]
	bic	r3, r3, r2
	str	r3, [r5, #20]
	bl	GetWindowTextLengthW
	subs	r8, r0, #0
	beq	.L12
	ldr	r2, [r7]
	ldr	r3, [r5, #20]
	add	r7, r8, #1
	orr	r3, r3, r2
	str	r3, [r5, #20]
	lsl	r0, r7, #2
	bl	Alloc
	cmp	r0, #0
	str	r0, [r5, #44]
	bne	.L111
.L13:
	ldr	r7, [r5, #12]
	bl	debugstr_txt
	mov	r2, r8
	mov	r3, r0
	mov	r1, r7
	ldr	r0, .L117+116
	bl	TRACE
	b	.L12
.L3:
	ldr	r1, .L117+76
	ldr	r2, .L117+80
	ldr	r1, [r1]
	ldr	r2, [r2]
	orr	r2, r1, r2
	tst	r2, r3
	bne	.L112
.L5:
	ldr	r2, .L117+120
	ldr	r0, [r4]
	ldr	r2, [r2]
	cmp	r0, r2
	cmpeq	r3, r1
	beq	.L113
	mov	r0, r6
	bl	wine_dbgstr_rect
	ldr	r3, [r4, #12]
	mov	r1, r0
	ldr	r2, [r4, #8]
	ldr	r0, .L117+124
	bl	ERR
	b	.L9
.L109:
	ldr	r3, [sp, #20]
	ldr	ip, [r4, #20]
	add	r8, r3, r8
	ldr	r3, [sp, #68]
	sub	r8, r8, #1
	ldr	r2, [r4, #24]
	add	r3, r8, r3
	add	r3, r3, #2
	ldr	r0, [r4, #16]
	add	r1, sp, #80
	str	r8, [sp, #88]
	str	r3, [sp, #92]
	str	ip, [sp, #80]
	str	r2, [sp, #84]
	bl	DrawFocusRect
	b	.L9
.L21:
	ldr	r0, [r5, #12]
	bl	IsWindowVisible
	cmp	r0, #0
	beq	.L23
	ldr	r3, .L117+128
	ldr	r2, [r5, #4]
	ldr	r3, [r3]
	tst	r2, r3
	beq	.L22
	b	.L24
.L103:
	mov	r0, r6
	bl	COMBOEX_DumpItem
	b	.L14
.L23:
	ldr	r3, .L117+60
	ldr	r2, [r4, #12]
	ldr	r3, [r3]
	tst	r2, r3
	bne	.L24
	b	.L22
.L112:
	ldr	r2, .L117+132
	ldr	r0, [r4, #12]
	ldr	r2, [r2]
	tst	r0, r2
	beq	.L5
	b	.L4
.L108:
	cmp	r3, #0
	ldr	r6, [r5, #16]
	bgt	.L114
	ldr	fp, [r4, #16]
	ldr	r10, [r4, #20]
.L43:
	ldr	r3, [sp, #36]
	mov	r2, fp
	str	r3, [sp, #4]
	mov	r1, r9
	mov	r0, r6
	ldr	r3, [sp, #20]
	str	r10, [sp]
	bl	ImageList_Draw
	b	.L38
.L105:
	mov	r0, r8
	add	r2, sp, #80
	str	r1, [sp, #84]
	str	r1, [sp, #80]
	bl	ImageList_GetImageInfo
	ldr	r3, .L117+136
	ldr	r8, [sp, #84]
	ldr	r2, [sp, #80]
	ldr	r3, [r3]
	sub	r8, r8, r2
	add	r8, r8, r3
	b	.L25
.L107:
	mov	r1, #28
	add	r0, sp, #80
	bl	ZeroMemory
	ldr	r3, .L117+140
	ldr	r0, [r6, #20]
	ldr	r3, [r3]
	ldr	r1, .L117+144
	str	r3, [sp, #80]
	ldr	r3, [r4, #4]
	add	r2, sp, #80
	str	r0, [sp, #104]
	ldr	r1, [r1]
	mov	r0, r5
	str	r3, [sp, #84]
	bl	COMBOEX_NotifyItem
	ldr	r3, .L117+148
	ldr	r2, [sp, #80]
	ldr	r3, [r3]
	tst	r2, r3
	ldr	r3, [sp, #100]
	strne	r3, [r6, #16]
	b	.L35
.L106:
	mov	r1, #28
	add	r0, sp, #80
	str	r3, [sp, #44]
	bl	ZeroMemory
	ldr	r3, [sp, #24]
	ldr	r2, [sp, #28]
	ldr	r1, .L117+144
	cmp	r3, r2
	ldr	r3, [sp, #44]
	str	r3, [sp, #24]
	beq	.L115
	ldr	ip, [r10]
	ldr	r0, [r6, #20]
	str	ip, [sp, #80]
	ldr	ip, [r4, #4]
	ldr	r1, [r1]
	add	r2, sp, #80
	str	r0, [sp, #104]
	mov	r0, r5
	str	ip, [sp, #84]
	bl	COMBOEX_NotifyItem
	ldr	r2, .L117+148
	ldr	r1, [sp, #80]
	ldr	r2, [r2]
	ldr	r9, [sp, #92]
	tst	r1, r2
	ldr	r3, [sp, #24]
	strne	r9, [r6, #8]
.L34:
	ldr	r2, .L117+84
	ldr	r2, [r2]
	b	.L28
.L104:
	mov	r1, #28
	add	r0, sp, #80
	bl	ZeroMemory
	ldr	r0, [r8]
	ldr	r1, .L117+144
	ldr	ip, [r6, #20]
	ldr	r3, [r4, #4]
	ldr	r1, [r1]
	add	r2, sp, #80
	str	r0, [sp, #80]
	mov	r0, r5
	str	r3, [sp, #84]
	str	ip, [sp, #104]
	bl	COMBOEX_NotifyItem
	ldr	r3, .L117+148
	ldr	r2, [sp, #80]
	ldr	r3, [r3]
	ldr	r0, [sp, #88]
	tst	r2, r3
	ldr	r1, [r4, #12]
	ldr	r2, [r7]
	ldr	r3, [r6]
	strne	r0, [r6, #4]
	and	r2, r2, r1
	b	.L16
.L11:
	ldr	r1, [r4, #4]
	ldr	r0, .L117+152
	bl	ERR
	b	.L9
.L114:
	mov	r1, r3
	mov	r0, r6
	mov	r2, #1
	bl	ImageList_SetOverlayImage
	mov	r0, #1
	ldr	r6, [r5, #16]
	ldr	fp, [r4, #16]
	ldr	r10, [r4, #20]
	bl	INDEXTOOVERLAYMASK
	ldr	r3, [sp, #36]
	orr	r3, r3, r0
	str	r3, [sp, #36]
	b	.L43
.L113:
	ldr	r3, .L117+24
	ldr	r0, [r3]
	bl	TRACE_ON
	cmp	r0, #0
	beq	.L6
	add	r1, sp, #48
	ldr	r0, [r5, #52]
	bl	GetWindowRect
	add	r1, sp, #64
	ldr	r0, [r5, #48]
	bl	GetWindowRect
	mvn	r3, #0
	add	r0, sp, #80
	mov	r2, r3
	mov	r1, r3
	str	r3, [sp]
	bl	SetRect
	ldr	r0, [r5, #12]
	cmp	r0, #0
	bne	.L116
.L8:
	add	r0, sp, #48
	bl	wine_dbgstr_rect
	mov	r6, r0
	add	r0, sp, #64
	bl	wine_dbgstr_rect
	mov	r7, r0
	add	r0, sp, #80
	bl	wine_dbgstr_rect
	mov	r2, r7
	mov	r3, r0
	mov	r1, r6
	ldr	r0, .L117+156
	bl	TRACE
	b	.L6
.L115:
	ldr	ip, [fp]
	ldr	r0, [r6, #20]
	str	ip, [sp, #80]
	ldr	ip, [r4, #4]
	ldr	r1, [r1]
	add	r2, sp, #80
	str	r0, [sp, #104]
	mov	r0, r5
	str	ip, [sp, #84]
	bl	COMBOEX_NotifyItem
	ldr	r2, .L117+148
	ldr	r1, [sp, #80]
	ldr	r2, [r2]
	ldr	r9, [sp, #96]
	tst	r1, r2
	ldr	r3, [sp, #24]
	strne	r9, [r6, #12]
	b	.L34
.L111:
	mov	r1, r0
	mov	r2, r7
	ldr	r0, [r5, #12]
	bl	GetWindowTextW
	ldr	r0, [r5, #44]
	b	.L13
.L116:
	add	r1, sp, #80
	bl	GetWindowRect
	b	.L8
.L110:
	bl	__stack_chk_fail
.L118:
	.align	2
.L117:
	.word	.LC9
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	CB_ERR
	.word	ODA_FOCUS
	.word	comboex
	.word	CBEIF_INDENT
	.word	ODS_COMBOEXLBOX
	.word	CBE_STARTOFFSET
	.word	I_INDENTCALLBACK
	.word	CBE_INDENT
	.word	CBEIF_IMAGE
	.word	ILD_NORMAL
	.word	CBEIF_SELECTEDIMAGE
	.word	ODS_SELECTED
	.word	ILD_SELECTED
	.word	CBES_EX_NOEDITIMAGEINDENT
	.word	.LANCHOR0
	.word	ODA_DRAWENTIRE
	.word	ODA_SELECT
	.word	I_IMAGECALLBACK
	.word	CBES_EX_NOEDITIMAGE
	.word	comctl32_color
	.word	.LC8
	.word	ETO_OPAQUE
	.word	ETO_CLIPPED
	.word	.LC3
	.word	CBEIF_TEXT
	.word	.LC6
	.word	ODT_COMBOBOX
	.word	.LC5
	.word	WCBE_EDITFOCUSED
	.word	ODS_FOCUS
	.word	CBE_SEP
	.word	CBEIF_OVERLAY
	.word	CBEN_GETDISPINFOW
	.word	CBEIF_DI_SETITEM
	.word	.LC7
	.word	.LC4
	.size	COMBOEX_DrawItem, .-COMBOEX_DrawItem
	.comm	comctl32_color,16,4
	.comm	comboex,4,4
	.comm	WCBE_EDITFOCUSED,4,4
	.comm	ODT_COMBOBOX,4,4
	.comm	ODS_SELECTED,4,4
	.comm	ODS_FOCUS,4,4
	.comm	ODS_COMBOEXLBOX,4,4
	.comm	ODA_SELECT,4,4
	.comm	ODA_FOCUS,4,4
	.comm	ODA_DRAWENTIRE,4,4
	.comm	I_INDENTCALLBACK,4,4
	.comm	I_IMAGECALLBACK,4,4
	.comm	ILD_SELECTED,4,4
	.comm	ILD_NORMAL,4,4
	.comm	ETO_OPAQUE,4,4
	.comm	ETO_CLIPPED,4,4
	.comm	CB_ERR,4,4
	.comm	CBE_STARTOFFSET,4,4
	.comm	CBE_SEP,4,4
	.comm	CBE_INDENT,4,4
	.comm	CBES_EX_NOEDITIMAGEINDENT,4,4
	.comm	CBES_EX_NOEDITIMAGE,4,4
	.comm	CBEN_GETDISPINFOW,4,4
	.comm	CBEIF_TEXT,4,4
	.comm	CBEIF_SELECTEDIMAGE,4,4
	.comm	CBEIF_OVERLAY,4,4
	.comm	CBEIF_INDENT,4,4
	.comm	CBEIF_IMAGE,4,4
	.comm	CBEIF_DI_SETITEM,4,4
	.section	.rodata
	.align	2
	.set	.LANCHOR0,. + 0
	.type	nil.4401, %object
	.size	nil.4401, 4
nil.4401:
	.space	4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
