41201d:	8b 44 24 18          	mov    0x18(%esp),%eax
412021:	85 c0                	test   %eax,%eax
412023:	74 40                	je     0x412065
412025:	83 f8 05             	cmp    $0x5,%eax
412028:	75 24                	jne    0x41204e
41202a:	e8 61 b6 ff ff       	call   0x40d690
41202f:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
412035:	e8 66 b6 ff ff       	call   0x40d6a0
41203a:	c7 00 05 00 00 00    	movl   $0x5,(%eax)
412040:	83 c8 ff             	or     $0xffffffff,%eax
412043:	5f                   	pop    %edi
412044:	5e                   	pop    %esi
412045:	5d                   	pop    %ebp
412046:	5b                   	pop    %ebx
412047:	81 c4 1c 04 00 00    	add    $0x41c,%esp
41204d:	c3                   	ret
41204e:	50                   	push   %eax
41204f:	e8 bc b5 ff ff       	call   0x40d610
412054:	83 c4 04             	add    $0x4,%esp
412057:	83 c8 ff             	or     $0xffffffff,%eax
41205a:	5f                   	pop    %edi
41205b:	5e                   	pop    %esi
41205c:	5d                   	pop    %ebp
41205d:	5b                   	pop    %ebx
41205e:	81 c4 1c 04 00 00    	add    $0x41c,%esp
412064:	c3                   	ret
412065:	8b 4c 24 24          	mov    0x24(%esp),%ecx
412069:	8b 11                	mov    (%ecx),%edx
41206b:	f6 44 16 04 40       	testb  $0x40,0x4(%esi,%edx,1)
412070:	74 13                	je     0x412085
412072:	80 7d 00 1a          	cmpb   $0x1a,0x0(%ebp)
412076:	75 0d                	jne    0x412085
412078:	33 c0                	xor    %eax,%eax
41207a:	5f                   	pop    %edi
41207b:	5e                   	pop    %esi
41207c:	5d                   	pop    %ebp
41207d:	5b                   	pop    %ebx
41207e:	81 c4 1c 04 00 00    	add    $0x41c,%esp
412084:	c3                   	ret
412085:	e8 06 b6 ff ff       	call   0x40d690
41208a:	c7 00 1c 00 00 00    	movl   $0x1c,(%eax)
412090:	e8 0b b6 ff ff       	call   0x40d6a0
412095:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
41209b:	83 c8 ff             	or     $0xffffffff,%eax
41209e:	5f                   	pop    %edi
41209f:	5e                   	pop    %esi
4120a0:	5d                   	pop    %ebp
4120a1:	5b                   	pop    %ebx
4120a2:	81 c4 1c 04 00 00    	add    $0x41c,%esp
4120a8:	c3                   	ret
4120a9:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4120ad:	5f                   	pop    %edi
4120ae:	5e                   	pop    %esi
4120af:	5d                   	pop    %ebp
4120b0:	2b c1                	sub    %ecx,%eax
4120b2:	5b                   	pop    %ebx
4120b3:	81 c4 1c 04 00 00    	add    $0x41c,%esp
4120b9:	c3                   	ret
4120ba:	ff 15 ec 96 43 00    	call   *0x4396ec
4120c0:	89 44 24 18          	mov    %eax,0x18(%esp)
4120c4:	e9 44 ff ff ff       	jmp    0x41200d
4120c9:	8b 10                	mov    (%eax),%edx
4120cb:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
4120cf:	55                   	push   %ebp
4120d0:	8b ac 24 38 04 00 00 	mov    0x438(%esp),%ebp
4120d7:	51                   	push   %ecx
4120d8:	53                   	push   %ebx
4120d9:	55                   	push   %ebp
4120da:	52                   	push   %edx
4120db:	ff 15 98 96 43 00    	call   *0x439698
4120e1:	85 c0                	test   %eax,%eax
4120e3:	74 15                	je     0x4120fa
4120e5:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4120e9:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
4120f0:	00
4120f1:	89 44 24 10          	mov    %eax,0x10(%esp)
4120f5:	e9 17 ff ff ff       	jmp    0x412011
4120fa:	ff 15 ec 96 43 00    	call   *0x4396ec
412100:	89 44 24 18          	mov    %eax,0x18(%esp)
412104:	e9 08 ff ff ff       	jmp    0x412011
412109:	90                   	nop
41210a:	90                   	nop
41210b:	90                   	nop
41210c:	90                   	nop
41210d:	90                   	nop
41210e:	90                   	nop
41210f:	90                   	nop
412110:	a1 64 74 43 00       	mov    0x437464,%eax
412115:	68 00 10 00 00       	push   $0x1000
41211a:	40                   	inc    %eax
41211b:	a3 64 74 43 00       	mov    %eax,0x437464
412120:	e8 9b a3 ff ff       	call   0x40c4c0
412125:	8b 4c 24 08          	mov    0x8(%esp),%ecx
412129:	83 c4 04             	add    $0x4,%esp
41212c:	85 c0                	test   %eax,%eax
41212e:	89 41 08             	mov    %eax,0x8(%ecx)
412131:	8b 41 0c             	mov    0xc(%ecx),%eax
412134:	74 19                	je     0x41214f
412136:	8b 51 08             	mov    0x8(%ecx),%edx
412139:	0c 08                	or     $0x8,%al
41213b:	89 41 0c             	mov    %eax,0xc(%ecx)
41213e:	c7 41 18 00 10 00 00 	movl   $0x1000,0x18(%ecx)
412145:	89 11                	mov    %edx,(%ecx)
412147:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
41214e:	c3                   	ret
41214f:	0c 04                	or     $0x4,%al
412151:	c7 41 18 02 00 00 00 	movl   $0x2,0x18(%ecx)
412158:	89 41 0c             	mov    %eax,0xc(%ecx)
41215b:	8d 41 14             	lea    0x14(%ecx),%eax
41215e:	8b d0                	mov    %eax,%edx
412160:	89 41 08             	mov    %eax,0x8(%ecx)
412163:	89 11                	mov    %edx,(%ecx)
412165:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
41216c:	c3                   	ret
41216d:	90                   	nop
41216e:	90                   	nop
41216f:	90                   	nop
412170:	8b 44 24 04          	mov    0x4(%esp),%eax
412174:	8b 0d a0 8a 43 00    	mov    0x438aa0,%ecx
41217a:	3b c1                	cmp    %ecx,%eax
41217c:	72 03                	jb     0x412181
41217e:	33 c0                	xor    %eax,%eax
412180:	c3                   	ret
412181:	8b c8                	mov    %eax,%ecx
412183:	83 e0 1f             	and    $0x1f,%eax
412186:	c1 f9 05             	sar    $0x5,%ecx
412189:	8d 14 c0             	lea    (%eax,%eax,8),%edx
41218c:	8b 04 8d a0 89 43 00 	mov    0x4389a0(,%ecx,4),%eax
412193:	8a 44 90 04          	mov    0x4(%eax,%edx,4),%al
412197:	83 e0 40             	and    $0x40,%eax
41219a:	c3                   	ret
41219b:	90                   	nop
41219c:	90                   	nop
41219d:	90                   	nop
41219e:	90                   	nop
41219f:	90                   	nop
4121a0:	53                   	push   %ebx
4121a1:	56                   	push   %esi
4121a2:	57                   	push   %edi
4121a3:	68 88 89 43 00       	push   $0x438988
4121a8:	ff 15 fc 96 43 00    	call   *0x4396fc
4121ae:	a1 84 89 43 00       	mov    0x438984,%eax
4121b3:	8b 3d 18 97 43 00    	mov    0x439718,%edi
4121b9:	85 c0                	test   %eax,%eax
4121bb:	74 18                	je     0x4121d5
4121bd:	68 88 89 43 00       	push   $0x438988
4121c2:	ff d7                	call   *%edi
4121c4:	6a 13                	push   $0x13
4121c6:	e8 75 d2 ff ff       	call   0x40f440
4121cb:	83 c4 04             	add    $0x4,%esp
4121ce:	be 01 00 00 00       	mov    $0x1,%esi
4121d3:	eb 02                	jmp    0x4121d7
4121d5:	33 f6                	xor    %esi,%esi
4121d7:	8b 44 24 14          	mov    0x14(%esp),%eax
4121db:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4121df:	50                   	push   %eax
4121e0:	51                   	push   %ecx
4121e1:	e8 2a 00 00 00       	call   0x412210
4121e6:	83 c4 08             	add    $0x8,%esp
4121e9:	8b d8                	mov    %eax,%ebx
4121eb:	85 f6                	test   %esi,%esi
4121ed:	74 10                	je     0x4121ff
4121ef:	6a 13                	push   $0x13
4121f1:	e8 ca d2 ff ff       	call   0x40f4c0
4121f6:	83 c4 04             	add    $0x4,%esp
4121f9:	8b c3                	mov    %ebx,%eax
4121fb:	5f                   	pop    %edi
4121fc:	5e                   	pop    %esi
4121fd:	5b                   	pop    %ebx
4121fe:	c3                   	ret
4121ff:	68 88 89 43 00       	push   $0x438988
412204:	ff d7                	call   *%edi
412206:	5f                   	pop    %edi
412207:	8b c3                	mov    %ebx,%eax
412209:	5e                   	pop    %esi
41220a:	5b                   	pop    %ebx
41220b:	c3                   	ret
41220c:	90                   	nop
41220d:	90                   	nop
41220e:	90                   	nop
41220f:	90                   	nop
412210:	8b 44 24 04          	mov    0x4(%esp),%eax
412214:	85 c0                	test   %eax,%eax
412216:	75 01                	jne    0x412219
412218:	c3                   	ret
412219:	8b 0d 70 73 43 00    	mov    0x437370,%ecx
41221f:	85 c9                	test   %ecx,%ecx
412221:	75 14                	jne    0x412237
412223:	66 8b 4c 24 08       	mov    0x8(%esp),%cx
412228:	66 81 f9 ff 00       	cmp    $0xff,%cx
41222d:	77 44                	ja     0x412273
41222f:	88 08                	mov    %cl,(%eax)
412231:	b8 01 00 00 00       	mov    $0x1,%eax
412236:	c3                   	ret
412237:	8b 15 54 1d 43 00    	mov    0x431d54,%edx
41223d:	8d 4c 24 04          	lea    0x4(%esp),%ecx
412241:	51                   	push   %ecx
412242:	8b 0d 80 73 43 00    	mov    0x437380,%ecx
412248:	6a 00                	push   $0x0
41224a:	52                   	push   %edx
41224b:	50                   	push   %eax
41224c:	8d 44 24 18          	lea    0x18(%esp),%eax
412250:	6a 01                	push   $0x1
412252:	50                   	push   %eax
412253:	68 20 02 00 00       	push   $0x220
412258:	51                   	push   %ecx
412259:	c7 44 24 24 00 00 00 	movl   $0x0,0x24(%esp)
412260:	00
412261:	ff 15 f8 96 43 00    	call   *0x4396f8
412267:	85 c0                	test   %eax,%eax
412269:	74 08                	je     0x412273
41226b:	8b 4c 24 04          	mov    0x4(%esp),%ecx
41226f:	85 c9                	test   %ecx,%ecx
412271:	74 0e                	je     0x412281
412273:	e8 18 b4 ff ff       	call   0x40d690
412278:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
41227e:	83 c8 ff             	or     $0xffffffff,%eax
412281:	c3                   	ret
412282:	90                   	nop
412283:	90                   	nop
412284:	90                   	nop
412285:	90                   	nop
412286:	90                   	nop
412287:	90                   	nop
412288:	90                   	nop
412289:	90                   	nop
41228a:	90                   	nop
41228b:	90                   	nop
41228c:	90                   	nop
41228d:	90                   	nop
41228e:	90                   	nop
41228f:	90                   	nop
412290:	53                   	push   %ebx
412291:	56                   	push   %esi
412292:	8b 44 24 18          	mov    0x18(%esp),%eax
412296:	0b c0                	or     %eax,%eax
412298:	75 18                	jne    0x4122b2
41229a:	8b 4c 24 14          	mov    0x14(%esp),%ecx
41229e:	8b 44 24 10          	mov    0x10(%esp),%eax
4122a2:	33 d2                	xor    %edx,%edx
4122a4:	f7 f1                	div    %ecx
4122a6:	8b d8                	mov    %eax,%ebx
4122a8:	8b 44 24 0c          	mov    0xc(%esp),%eax
4122ac:	f7 f1                	div    %ecx
4122ae:	8b d3                	mov    %ebx,%edx
4122b0:	eb 41                	jmp    0x4122f3
4122b2:	8b c8                	mov    %eax,%ecx
4122b4:	8b 5c 24 14          	mov    0x14(%esp),%ebx
4122b8:	8b 54 24 10          	mov    0x10(%esp),%edx
4122bc:	8b 44 24 0c          	mov    0xc(%esp),%eax
4122c0:	d1 e9                	shr    $1,%ecx
4122c2:	d1 db                	rcr    $1,%ebx
4122c4:	d1 ea                	shr    $1,%edx
4122c6:	d1 d8                	rcr    $1,%eax
4122c8:	0b c9                	or     %ecx,%ecx
4122ca:	75 f4                	jne    0x4122c0
4122cc:	f7 f3                	div    %ebx
4122ce:	8b f0                	mov    %eax,%esi
4122d0:	f7 64 24 18          	mull   0x18(%esp)
4122d4:	8b c8                	mov    %eax,%ecx
4122d6:	8b 44 24 14          	mov    0x14(%esp),%eax
4122da:	f7 e6                	mul    %esi
4122dc:	03 d1                	add    %ecx,%edx
4122de:	72 0e                	jb     0x4122ee
4122e0:	3b 54 24 10          	cmp    0x10(%esp),%edx
4122e4:	77 08                	ja     0x4122ee
4122e6:	72 07                	jb     0x4122ef
4122e8:	3b 44 24 0c          	cmp    0xc(%esp),%eax
4122ec:	76 01                	jbe    0x4122ef
4122ee:	4e                   	dec    %esi
4122ef:	33 d2                	xor    %edx,%edx
4122f1:	8b c6                	mov    %esi,%eax
4122f3:	5e                   	pop    %esi
4122f4:	5b                   	pop    %ebx
4122f5:	c2 10 00             	ret    $0x10
4122f8:	cc                   	int3
4122f9:	cc                   	int3
4122fa:	cc                   	int3
4122fb:	cc                   	int3
4122fc:	cc                   	int3
4122fd:	cc                   	int3
4122fe:	cc                   	int3
4122ff:	cc                   	int3
412300:	53                   	push   %ebx
412301:	8b 44 24 14          	mov    0x14(%esp),%eax
412305:	0b c0                	or     %eax,%eax
412307:	75 18                	jne    0x412321
412309:	8b 4c 24 10          	mov    0x10(%esp),%ecx
41230d:	8b 44 24 0c          	mov    0xc(%esp),%eax
412311:	33 d2                	xor    %edx,%edx
412313:	f7 f1                	div    %ecx
412315:	8b 44 24 08          	mov    0x8(%esp),%eax
412319:	f7 f1                	div    %ecx
41231b:	8b c2                	mov    %edx,%eax
41231d:	33 d2                	xor    %edx,%edx
41231f:	eb 50                	jmp    0x412371
412321:	8b c8                	mov    %eax,%ecx
412323:	8b 5c 24 10          	mov    0x10(%esp),%ebx
412327:	8b 54 24 0c          	mov    0xc(%esp),%edx
41232b:	8b 44 24 08          	mov    0x8(%esp),%eax
41232f:	d1 e9                	shr    $1,%ecx
412331:	d1 db                	rcr    $1,%ebx
412333:	d1 ea                	shr    $1,%edx
412335:	d1 d8                	rcr    $1,%eax
412337:	0b c9                	or     %ecx,%ecx
412339:	75 f4                	jne    0x41232f
41233b:	f7 f3                	div    %ebx
41233d:	8b c8                	mov    %eax,%ecx
41233f:	f7 64 24 14          	mull   0x14(%esp)
412343:	91                   	xchg   %eax,%ecx
412344:	f7 64 24 10          	mull   0x10(%esp)
412348:	03 d1                	add    %ecx,%edx
41234a:	72 0e                	jb     0x41235a
41234c:	3b 54 24 0c          	cmp    0xc(%esp),%edx
412350:	77 08                	ja     0x41235a
412352:	72 0e                	jb     0x412362
412354:	3b 44 24 08          	cmp    0x8(%esp),%eax
412358:	76 08                	jbe    0x412362
41235a:	2b 44 24 10          	sub    0x10(%esp),%eax
41235e:	1b 54 24 14          	sbb    0x14(%esp),%edx
412362:	2b 44 24 08          	sub    0x8(%esp),%eax
412366:	1b 54 24 0c          	sbb    0xc(%esp),%edx
41236a:	f7 da                	neg    %edx
41236c:	f7 d8                	neg    %eax
41236e:	83 da 00             	sbb    $0x0,%edx
412371:	5b                   	pop    %ebx
412372:	c2 10 00             	ret    $0x10
412375:	cc                   	int3
412376:	cc                   	int3
412377:	cc                   	int3
412378:	cc                   	int3
412379:	cc                   	int3
41237a:	cc                   	int3
41237b:	cc                   	int3
41237c:	cc                   	int3
41237d:	cc                   	int3
41237e:	cc                   	int3
41237f:	cc                   	int3
412380:	83 ec 08             	sub    $0x8,%esp
412383:	53                   	push   %ebx
412384:	55                   	push   %ebp
412385:	8b 6c 24 14          	mov    0x14(%esp),%ebp
412389:	56                   	push   %esi
41238a:	57                   	push   %edi
41238b:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
412392:	00
412393:	8d 45 fe             	lea    -0x2(%ebp),%eax
412396:	83 f8 14             	cmp    $0x14,%eax
412399:	0f 87 ae 01 00 00    	ja     0x41254d
41239f:	33 c9                	xor    %ecx,%ecx