	.file	"speed"
gcc2_compiled.:
___gnu_compiled_c:
.globl _szAppName
.data
_szAppName:
	.ascii "speed\0"
.globl _szTitle
_szTitle:
	.ascii "speed test\0"
	.align 2
_iCount.16:
	.long 0
.text
	.align 2,0x90
.globl _DrawPoint
_DrawPoint:
	pushl %ebp
	movl %esp,%ebp
	subl $4,%esp
	incl _iCount.16
	cmpl $8,_iCount.16
	jne L26
	movl 16(%ebp),%eax
	movl %eax,-4(%ebp)
	movl $0,_iCount.16
	pushl $0
	movl 12(%ebp),%eax
	addl $-3,%eax
	pushl %eax
	movl 8(%ebp),%eax
	pushl %eax
	movl -4(%ebp),%eax
	pushl %eax
	call _MoveToEx
	movl 12(%ebp),%eax
	addl $3,%eax
	pushl %eax
	movl 8(%ebp),%eax
	pushl %eax
	movl -4(%ebp),%eax
	pushl %eax
	call _LineTo
	pushl $0
	movl 12(%ebp),%eax
	pushl %eax
	movl 8(%ebp),%eax
	addl $-3,%eax
	pushl %eax
	movl -4(%ebp),%eax
	pushl %eax
	call _MoveToEx
	movl 12(%ebp),%eax
	pushl %eax
	movl 8(%ebp),%eax
	addl $3,%eax
	pushl %eax
	movl -4(%ebp),%eax
	pushl %eax
	call _LineTo
L26:
L25:
	leave
	ret $12
LC0:
	.ascii "Durchlauf: %i\0"
	.align 2,0x90
.globl _TestProc1
_TestProc1:
	pushl %ebp
	movl %esp,%ebp
	subl $112,%esp
	movl _hwndMain,%eax
	pushl %eax
	call _GetDC
	movl %eax,%eax
	movl %eax,-4(%ebp)
	movl $_DrawPoint,-96(%ebp)
	leal -112(%ebp),%eax
	pushl %eax
	movl _hwndMain,%eax
	pushl %eax
	call _GetClientRect
	movl $0,-12(%ebp)
L28:
	cmpl $9,-12(%ebp)
	jle L31
	jmp L29
	.align 2,0x90
L31:
	movl -12(%ebp),%eax
	pushl %eax
	pushl $LC0
	leal -92(%ebp),%eax
	pushl %eax
	call _sprintf
	addl $12,%esp
	leal -92(%ebp),%eax
	pushl %eax
	movl _hwndMain,%eax
	pushl %eax
	call _SetWindowTextA
	movl -12(%ebp),%eax
	andl $1,%eax
	testl %eax,%eax
	je L32
	pushl $6
	call _GetStockObject
	movl %eax,%eax
	pushl %eax
	movl -4(%ebp),%eax
	pushl %eax
	call _SelectObject
	jmp L33
	.align 2,0x90
L32:
	pushl $7
	call _GetStockObject
	movl %eax,%eax
	pushl %eax
	movl -4(%ebp),%eax
	pushl %eax
	call _SelectObject
L33:
	nop
	movl $0,-8(%ebp)
L34:
	movl -8(%ebp),%eax
	cmpl %eax,-100(%ebp)
	jg L37
	jmp L35
	.align 2,0x90
L37:
	movl -4(%ebp),%eax
	pushl %eax
	movl -96(%ebp),%eax
	pushl %eax
	movl -100(%ebp),%eax
	subl -8(%ebp),%eax
	pushl %eax
	movl -104(%ebp),%eax
	pushl %eax
	movl -8(%ebp),%eax
	pushl %eax
	pushl $0
	call _LineDDA
L36:
	addl $8,-8(%ebp)
	jmp L34
	.align 2,0x90
L35:
	nop
	movl $0,-8(%ebp)
L38:
	movl -8(%ebp),%eax
	cmpl %eax,-104(%ebp)
	jg L41
	jmp L30
	.align 2,0x90
L41:
	movl -4(%ebp),%eax
	pushl %eax
	movl -96(%ebp),%eax
	pushl %eax
	movl -100(%ebp),%eax
	pushl %eax
	movl -104(%ebp),%eax
	subl -8(%ebp),%eax
	pushl %eax
	pushl $0
	movl -8(%ebp),%eax
	pushl %eax
	call _LineDDA
L40:
	addl $8,-8(%ebp)
	jmp L38
	.align 2,0x90
L39:
L30:
	incl -12(%ebp)
	jmp L28
	.align 2,0x90
L29:
	movl -4(%ebp),%eax
	pushl %eax
	movl _hwndMain,%eax
	pushl %eax
	call _ReleaseDC
	pushl $_szTitle
	movl _hwndMain,%eax
	pushl %eax
	call _SetWindowTextA
L27:
	leave
	ret
.lcomm _apt.21,3200
	.align 2,0x90
.globl _TestProc2
_TestProc2:
	pushl %ebp
	movl %esp,%ebp
	subl $116,%esp
	pushl %esi
	pushl %ebx
	movl _hwndMain,%eax
	pushl %eax
	call _GetDC
	movl %eax,%eax
	movl %eax,-4(%ebp)
	leal -112(%ebp),%eax
	pushl %eax
	movl _hwndMain,%eax
	pushl %eax
	call _GetClientRect
	pushl $0
	pushl $0
	pushl $0
	movl -4(%ebp),%eax
	pushl %eax
	call _MoveToEx
	movl $0,-12(%ebp)
L43:
	cmpl $399,-12(%ebp)
	jle L46
	jmp L44
	.align 2,0x90
L46:
	movl -12(%ebp),%eax
	pushl %eax
	pushl $LC0
	leal -96(%ebp),%eax
	pushl %eax
	call _sprintf
	addl $12,%esp
	leal -96(%ebp),%eax
	pushl %eax
	movl _hwndMain,%eax
	pushl %eax
	call _SetWindowTextA
	movl $0,-8(%ebp)
L47:
	cmpl $399,-8(%ebp)
	jle L50
	jmp L48
	.align 2,0x90
L50:
	call _rand
	movl %eax,%eax
	movl -8(%ebp),%edx
	movl %edx,-116(%ebp)
	movl -116(%ebp),%ecx
	leal 0(,%ecx,8),%edx
	movl %edx,-116(%ebp)
	movl $_apt.21,%ecx
	movl -104(%ebp),%esi
	incl %esi
	cltd
	idivl %esi
	movl %edx,%ebx
	movl -116(%ebp),%edx
	movl %ebx,(%edx,%ecx)
	call _rand
	movl %eax,%eax
	movl -8(%ebp),%edx
	movl %edx,-116(%ebp)
	movl -116(%ebp),%ecx
	leal 0(,%ecx,8),%edx
	movl %edx,-116(%ebp)
	movl $_apt.21,%ecx
	movl -100(%ebp),%esi
	incl %esi
	cltd
	idivl %esi
	movl %edx,%ebx
	movl -116(%ebp),%edx
	movl %ebx,4(%edx,%ecx)
L49:
	incl -8(%ebp)
	jmp L47
	.align 2,0x90
L48:
	movl -12(%ebp),%eax
	andl $1,%eax
	testl %eax,%eax
	je L51
	pushl $6
	call _GetStockObject
	movl %eax,-16(%ebp)
	jmp L52
	.align 2,0x90
L51:
	pushl $7
	call _GetStockObject
	movl %eax,-16(%ebp)
L52:
	movl -16(%ebp),%eax
	pushl %eax
	movl -4(%ebp),%eax
	pushl %eax
	call _SelectObject
	pushl $400
	pushl $_apt.21
	movl -4(%ebp),%eax
	pushl %eax
	call _Polyline
L45:
	incl -12(%ebp)
	jmp L43
	.align 2,0x90
L44:
	movl -4(%ebp),%eax
	pushl %eax
	movl _hwndMain,%eax
	pushl %eax
	call _ReleaseDC
	pushl $_szTitle
	movl _hwndMain,%eax
	pushl %eax
	call _SetWindowTextA
L42:
	leal -124(%ebp),%esp
	popl %ebx
	popl %esi
	leave
	ret
LC1:
	.ascii "No memory for test3\0"
	.align 2,0x90
.globl _TestProc3
_TestProc3:
	pushl %ebp
	movl %esp,%ebp
	subl $116,%esp
	pushl %esi
	pushl %ebx
	pushl $80000
	pushl $0
	call _GlobalAlloc
	movl %eax,-8(%ebp)
	cmpl $0,-8(%ebp)
	jne L54
	pushl $0
	pushl $_szTitle
	pushl $LC1
	pushl $0
	call _MessageBoxA
	jmp L53
	.align 2,0x90
L54:
	movl -8(%ebp),%eax
	pushl %eax
	call _GlobalLock
	movl %eax,-4(%ebp)
	movl $0,-12(%ebp)
L55:
	cmpl $4999,-12(%ebp)
	jle L58
	jmp L56
	.align 2,0x90
L58:
	call _rand
	movl %eax,%eax
	movl -12(%ebp),%edx
	movl %edx,-116(%ebp)
	movl -116(%ebp),%ecx
	movl %ecx,%esi
	sall $4,%esi
	movl %esi,-116(%ebp)
	movl -4(%ebp),%ecx
	movl $30001,%esi
	cltd
	idivl %esi
	movl %edx,%ebx
	movl -116(%ebp),%edx
	movl %ebx,(%ecx,%edx)
L57:
	incl -12(%ebp)
	jmp L55
	.align 2,0x90
L56:
	nop
	movl $1,-12(%ebp)
L59:
	cmpl $4999,-12(%ebp)
	jle L62
	jmp L60
	.align 2,0x90
L62:
	movl -12(%ebp),%ecx
	movl %ecx,%eax
	movl $100,%esi
	cltd
	idivl %esi
	movl %edx,-116(%ebp)
	cmpl $0,-116(%ebp)
	jne L63
	movl -12(%ebp),%eax
	pushl %eax
	pushl $LC0
	leal -96(%ebp),%eax
	pushl %eax
	call _sprintf
	addl $12,%esp
	leal -96(%ebp),%eax
	pushl %eax
	movl _hwndMain,%eax
	pushl %eax
	call _SetWindowTextA
L63:
	nop
	movl -12(%ebp),%edx
	decl %edx
	movl %edx,-16(%ebp)
L64:
	cmpl $0,-16(%ebp)
	jge L67
	jmp L61
	.align 2,0x90
L67:
	movl -16(%ebp),%eax
	movl %eax,-116(%ebp)
	movl -116(%ebp),%eax
	sall $4,%eax
	movl -4(%ebp),%esi
	movl %esi,-116(%ebp)
	movl -16(%ebp),%ecx
	movl %ecx,%ebx
	movl %ebx,%ecx
	sall $4,%ecx
	movl %ecx,%ebx
	addl -4(%ebp),%ebx
	leal 16(%ebx),%ecx
	movl -116(%ebp),%edx
	movl (%edx,%eax),%eax
	cmpl %eax,(%ecx)
	jae L66
	movl -16(%ebp),%eax
	movl %eax,-116(%ebp)
	movl -116(%ebp),%eax
	sall $4,%eax
	movl -4(%ebp),%esi
	movl %esi,-116(%ebp)
	movl -116(%ebp),%edx
	movl (%edx,%eax),%ecx
	movl %ecx,-112(%ebp)
	movl -116(%ebp),%esi
	movl 4(%esi,%eax),%ecx
	movl %ecx,-108(%ebp)
	movl -116(%ebp),%edx
	movl 8(%edx,%eax),%ecx
	movl %ecx,-104(%ebp)
	movl -116(%ebp),%esi
	movl 12(%esi,%eax),%eax
	movl %eax,-100(%ebp)
	movl -16(%ebp),%eax
	movl %eax,-116(%ebp)
	movl -116(%ebp),%eax
	sall $4,%eax
	movl -4(%ebp),%edx
	movl %edx,-116(%ebp)
	movl -16(%ebp),%ecx
	movl %ecx,%ebx
	movl %ebx,%ecx
	sall $4,%ecx
	movl %ecx,%ebx
	addl -4(%ebp),%ebx
	leal 16(%ebx),%ecx
	movl (%ecx),%ebx
	movl -116(%ebp),%esi
	movl %ebx,(%esi,%eax)
	movl 4(%ecx),%ebx
	movl -116(%ebp),%edx
	movl %ebx,4(%edx,%eax)
	movl 8(%ecx),%ebx
	movl -116(%ebp),%esi
	movl %ebx,8(%esi,%eax)
	movl 12(%ecx),%ecx
	movl -116(%ebp),%edx
	movl %ecx,12(%edx,%eax)
	movl -16(%ebp),%eax
	movl %eax,-116(%ebp)
	movl -116(%ebp),%eax
	sall $4,%eax
	movl %eax,%esi
	addl -4(%ebp),%esi
	movl %esi,-116(%ebp)
	movl -116(%ebp),%eax
	addl $16,%eax
	movl -112(%ebp),%edx
	movl %edx,-116(%ebp)
	movl -116(%ebp),%esi
	movl %esi,(%eax)
	movl -108(%ebp),%edx
	movl %edx,-116(%ebp)
	movl -116(%ebp),%esi
	movl %esi,4(%eax)
	movl -104(%ebp),%edx
	movl %edx,-116(%ebp)
	movl -116(%ebp),%esi
	movl %esi,8(%eax)
	movl -100(%ebp),%edx
	movl %edx,-116(%ebp)
	movl -116(%ebp),%esi
	movl %esi,12(%eax)
L68:
L66:
	decl -16(%ebp)
	jmp L64
	.align 2,0x90
L65:
L61:
	incl -12(%ebp)
	jmp L59
	.align 2,0x90
L60:
	nop
	movl $0,-12(%ebp)
L69:
	cmpl $4998,-12(%ebp)
	jle L72
	jmp L70
	.align 2,0x90
L72:
	movl -12(%ebp),%eax
	movl %eax,-116(%ebp)
	movl -116(%ebp),%eax
	sall $4,%eax
	movl -4(%ebp),%edx
	movl %edx,-116(%ebp)
	movl -12(%ebp),%ecx
	movl %ecx,%ebx
	movl %ebx,%ecx
	sall $4,%ecx
	movl %ecx,%ebx
	addl -4(%ebp),%ebx
	leal 16(%ebx),%ecx
	movl -116(%ebp),%esi
	movl (%esi,%eax),%eax
	cmpl %eax,(%ecx)
	jae L71
	pushl $0
	call _MessageBeep
L73:
L71:
	incl -12(%ebp)
	jmp L69
	.align 2,0x90
L70:
	movl -8(%ebp),%eax
	pushl %eax
	call _GlobalUnlock
	movl -8(%ebp),%eax
	pushl %eax
	call _GlobalFree
	pushl $_szTitle
	movl _hwndMain,%eax
	pushl %eax
	call _SetWindowTextA
L53:
	leal -124(%ebp),%esp
	popl %ebx
	popl %esi
	leave
	ret
LC2:
	.ascii "Zeitdauer (ms): %ld\0"
	.align 2,0x90
.globl _DoTest
_DoTest:
	pushl %ebp
	movl %esp,%ebp
	subl $84,%esp
	pushl %ebx
	call _GetTickCount
	movl %eax,%eax
	movl %eax,-4(%ebp)
	movl 8(%ebp),%ebx
	call *%ebx
	call _GetTickCount
	movl %eax,%eax
	movl %eax,%edx
	subl -4(%ebp),%edx
	movl %edx,-4(%ebp)
	movl -4(%ebp),%eax
	pushl %eax
	pushl $LC2
	leal -84(%ebp),%eax
	pushl %eax
	call _sprintf
	addl $12,%esp
	pushl $0
	pushl $_szTitle
	leal -84(%ebp),%eax
	pushl %eax
	pushl $0
	call _MessageBoxA
	pushl $1
	pushl $0
	movl _hwndMain,%eax
	pushl %eax
	call _InvalidateRect
L74:
	movl -88(%ebp),%ebx
	leave
	ret
	.align 2,0x90
.globl _DoAllTests
_DoAllTests:
	pushl %ebp
	movl %esp,%ebp
	subl $84,%esp
	call _GetTickCount
	movl %eax,%eax
	movl %eax,-4(%ebp)
	call _TestProc1
	call _TestProc2
	call _TestProc3
	call _GetTickCount
	movl %eax,%eax
	movl %eax,%edx
	subl -4(%ebp),%edx
	movl %edx,-4(%ebp)
	movl -4(%ebp),%eax
	pushl %eax
	pushl $LC2
	leal -84(%ebp),%eax
	pushl %eax
	call _sprintf
	addl $12,%esp
	pushl $0
	pushl $_szTitle
	leal -84(%ebp),%eax
	pushl %eax
	pushl $0
	call _MessageBoxA
	pushl $1
	pushl $0
	movl _hwndMain,%eax
	pushl %eax
	call _InvalidateRect
L75:
	leave
	ret
LC3:
	.ascii "0 = Alle Tests   1 = LineDDA   2 = PolyLine   3 = BubbleSort\0"
	.align 2,0x90
.globl _WndProc
_WndProc:
	pushl %ebp
	movl %esp,%ebp
	subl $148,%esp
	movl 12(%ebp),%eax
	cmpl $15,%eax
	je L86
	cmpl $15,%eax
	ja L90
	cmpl $2,%eax
	je L87
	jmp L77
	.align 2,0x90
L90:
	cmpl $258,%eax
	je L78
	jmp L77
	.align 2,0x90
L78:
	cmpl $49,16(%ebp)
	jne L79
	pushl $_TestProc1
	call _DoTest
	addl $4,%esp
	jmp L80
	.align 2,0x90
L79:
	cmpl $50,16(%ebp)
	jne L81
	pushl $_TestProc2
	call _DoTest
	addl $4,%esp
	jmp L80
	.align 2,0x90
L81:
	cmpl $51,16(%ebp)
	jne L83
	pushl $_TestProc3
	call _DoTest
	addl $4,%esp
	jmp L80
	.align 2,0x90
L83:
	cmpl $48,16(%ebp)
	jne L80
	call _DoAllTests
L85:
L84:
L82:
L80:
	xorl %eax,%eax
	jmp L76
	.align 2,0x90
L86:
	leal -64(%ebp),%eax
	pushl %eax
	movl 8(%ebp),%eax
	pushl %eax
	call _BeginPaint
	movl %eax,%eax
	movl %eax,-68(%ebp)
	pushl $LC3
	leal -148(%ebp),%eax
	pushl %eax
	call _strcpy
	addl $8,%esp
	leal -148(%ebp),%eax
	pushl %eax
	call _strlen
	addl $4,%esp
	movl %eax,%eax
	pushl %eax
	leal -148(%ebp),%eax
	pushl %eax
	pushl $5
	pushl $5
	movl -68(%ebp),%eax
	pushl %eax
	call _TextOutA
	leal -64(%ebp),%eax
	pushl %eax
	movl 8(%ebp),%eax
	pushl %eax
	call _EndPaint
	xorl %eax,%eax
	jmp L76
	.align 2,0x90
L87:
	pushl $0
	call _PostQuitMessage
	xorl %eax,%eax
	jmp L76
	.align 2,0x90
L89:
L77:
	movl 20(%ebp),%eax
	pushl %eax
	movl 16(%ebp),%eax
	pushl %eax
	movl 12(%ebp),%eax
	pushl %eax
	movl 8(%ebp),%eax
	pushl %eax
	call _DefWindowProcA
	movl %eax,%edx
	movl %edx,%eax
	jmp L76
	.align 2,0x90
L76:
	leave
	ret $16
	.align 2,0x90
.globl _WinMain
_WinMain:
	pushl %ebp
	movl %esp,%ebp
	subl $28,%esp
	movl 8(%ebp),%eax
	pushl %eax
	call _InitApplication
	addl $4,%esp
	movl %eax,%eax
	testl %eax,%eax
	jne L92
	xorl %eax,%eax
	jmp L91
	.align 2,0x90
L92:
	movl 20(%ebp),%eax
	pushl %eax
	movl 8(%ebp),%eax
	pushl %eax
	call _InitInstance
	addl $8,%esp
	movl %eax,%eax
	testl %eax,%eax
	jne L93
	xorl %eax,%eax
	jmp L91
	.align 2,0x90
L93:
	nop
L94:
	pushl $0
	pushl $0
	pushl $0
	leal -28(%ebp),%eax
	pushl %eax
	call _GetMessageA
	movl %eax,%eax
	testl %eax,%eax
	jne L96
	jmp L95
	.align 2,0x90
L96:
	leal -28(%ebp),%eax
	pushl %eax
	call _TranslateMessage
	leal -28(%ebp),%eax
	pushl %eax
	call _DispatchMessageA
	jmp L94
	.align 2,0x90
L95:
	movzwl -20(%ebp),%edx
	movl %edx,%eax
	jmp L91
	.align 2,0x90
L91:
	leave
	ret $16
	.align 2,0x90
.globl _InitApplication
_InitApplication:
	pushl %ebp
	movl %esp,%ebp
	subl $40,%esp
	movl $3,-40(%ebp)
	movl $_WndProc,-36(%ebp)
	movl $0,-32(%ebp)
	movl $0,-28(%ebp)
	movl 8(%ebp),%eax
	movl %eax,-24(%ebp)
	pushl $32512
	movl 8(%ebp),%eax
	pushl %eax
	call _LoadIconA
	movl %eax,%eax
	movl %eax,-20(%ebp)
	pushl $32512
	pushl $0
	call _LoadCursorA
	movl %eax,%eax
	movl %eax,-16(%ebp)
	movl $6,-12(%ebp)
	movl $0,-8(%ebp)
	movl $_szAppName,-4(%ebp)
	leal -40(%ebp),%eax
	pushl %eax
	call _RegisterClassA
	movl %eax,%eax
	movzwl %ax,%edx
	movl %edx,%eax
	jmp L97
	.align 2,0x90
L97:
	leave
	ret
LC4:
	.ascii "33\0"
	.align 2,0x90
.globl _InitInstance
_InitInstance:
	pushl %ebp
	movl %esp,%ebp
	pushl $0
	movl 8(%ebp),%eax
	pushl %eax
	pushl $0
	pushl $0
	pushl $440
	pushl $440
	pushl $0
	pushl $-2147483648
	pushl $13565952
	pushl $_szTitle
	pushl $_szAppName
	pushl $0
	call _CreateWindowExA
	movl %eax,%eax
	movl %eax,_hwndMain
	cmpl $0,_hwndMain
	jne L99
	xorl %eax,%eax
	jmp L98
	.align 2,0x90
L99:
	movl 12(%ebp),%eax
	pushl %eax
	movl _hwndMain,%eax
	pushl %eax
	call _ShowWindow
	movl _hwndMain,%eax
	pushl %eax
	call _UpdateWindow
	pushl $0
	pushl $LC4
	call _access
	addl $8,%esp
	movl $1,%eax
	jmp L98
	.align 2,0x90
L98:
	leave
	ret
.comm _hwndMain,4
