40b0fb:	cc                   	int3
40b0fc:	cc                   	int3
40b0fd:	cc                   	int3
40b0fe:	cc                   	int3
40b0ff:	cc                   	int3
40b100:	53                   	push   %ebx
40b101:	8b 44 24 14          	mov    0x14(%esp),%eax
40b105:	0b c0                	or     %eax,%eax
40b107:	75 18                	jne    0x40b121
40b109:	8b 4c 24 10          	mov    0x10(%esp),%ecx
40b10d:	8b 44 24 0c          	mov    0xc(%esp),%eax
40b111:	33 d2                	xor    %edx,%edx
40b113:	f7 f1                	div    %ecx
40b115:	8b 44 24 08          	mov    0x8(%esp),%eax
40b119:	f7 f1                	div    %ecx
40b11b:	8b c2                	mov    %edx,%eax
40b11d:	33 d2                	xor    %edx,%edx
40b11f:	eb 50                	jmp    0x40b171
40b121:	8b c8                	mov    %eax,%ecx
40b123:	8b 5c 24 10          	mov    0x10(%esp),%ebx
40b127:	8b 54 24 0c          	mov    0xc(%esp),%edx
40b12b:	8b 44 24 08          	mov    0x8(%esp),%eax
40b12f:	d1 e9                	shr    $1,%ecx
40b131:	d1 db                	rcr    $1,%ebx
40b133:	d1 ea                	shr    $1,%edx
40b135:	d1 d8                	rcr    $1,%eax
40b137:	0b c9                	or     %ecx,%ecx
40b139:	75 f4                	jne    0x40b12f
40b13b:	f7 f3                	div    %ebx
40b13d:	8b c8                	mov    %eax,%ecx
40b13f:	f7 64 24 14          	mull   0x14(%esp)
40b143:	91                   	xchg   %eax,%ecx
40b144:	f7 64 24 10          	mull   0x10(%esp)
40b148:	03 d1                	add    %ecx,%edx
40b14a:	72 0e                	jb     0x40b15a
40b14c:	3b 54 24 0c          	cmp    0xc(%esp),%edx
40b150:	77 08                	ja     0x40b15a
40b152:	72 0e                	jb     0x40b162
40b154:	3b 44 24 08          	cmp    0x8(%esp),%eax
40b158:	76 08                	jbe    0x40b162
40b15a:	2b 44 24 10          	sub    0x10(%esp),%eax
40b15e:	1b 54 24 14          	sbb    0x14(%esp),%edx
40b162:	2b 44 24 08          	sub    0x8(%esp),%eax
40b166:	1b 54 24 0c          	sbb    0xc(%esp),%edx
40b16a:	f7 da                	neg    %edx
40b16c:	f7 d8                	neg    %eax
40b16e:	83 da 00             	sbb    $0x0,%edx
40b171:	5b                   	pop    %ebx
40b172:	c2 10 00             	ret    $0x10
40b175:	55                   	push   %ebp
40b176:	8b ec                	mov    %esp,%ebp
40b178:	6a ff                	push   $0xffffffff
40b17a:	68 30 d8 40 00       	push   $0x40d830
40b17f:	68 74 87 40 00       	push   $0x408774
40b184:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40b18a:	50                   	push   %eax
40b18b:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40b192:	83 ec 18             	sub    $0x18,%esp
40b195:	53                   	push   %ebx
40b196:	56                   	push   %esi
40b197:	57                   	push   %edi
40b198:	89 65 e8             	mov    %esp,-0x18(%ebp)
40b19b:	a1 4c 1a 41 00       	mov    0x411a4c,%eax
40b1a0:	33 db                	xor    %ebx,%ebx
40b1a2:	3b c3                	cmp    %ebx,%eax
40b1a4:	75 3e                	jne    0x40b1e4
40b1a6:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40b1a9:	50                   	push   %eax
40b1aa:	6a 01                	push   $0x1
40b1ac:	5e                   	pop    %esi
40b1ad:	56                   	push   %esi
40b1ae:	68 2c d8 40 00       	push   $0x40d82c
40b1b3:	56                   	push   %esi
40b1b4:	ff 15 5c d0 40 00    	call   *0x40d05c
40b1ba:	85 c0                	test   %eax,%eax
40b1bc:	74 04                	je     0x40b1c2
40b1be:	8b c6                	mov    %esi,%eax
40b1c0:	eb 1d                	jmp    0x40b1df
40b1c2:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40b1c5:	50                   	push   %eax
40b1c6:	56                   	push   %esi
40b1c7:	68 28 d8 40 00       	push   $0x40d828
40b1cc:	56                   	push   %esi
40b1cd:	53                   	push   %ebx
40b1ce:	ff 15 60 d0 40 00    	call   *0x40d060
40b1d4:	85 c0                	test   %eax,%eax
40b1d6:	0f 84 ce 00 00 00    	je     0x40b2aa
40b1dc:	6a 02                	push   $0x2
40b1de:	58                   	pop    %eax
40b1df:	a3 4c 1a 41 00       	mov    %eax,0x411a4c
40b1e4:	83 f8 02             	cmp    $0x2,%eax
40b1e7:	75 24                	jne    0x40b20d
40b1e9:	8b 45 1c             	mov    0x1c(%ebp),%eax
40b1ec:	3b c3                	cmp    %ebx,%eax
40b1ee:	75 05                	jne    0x40b1f5
40b1f0:	a1 6c 18 41 00       	mov    0x41186c,%eax
40b1f5:	ff 75 14             	push   0x14(%ebp)
40b1f8:	ff 75 10             	push   0x10(%ebp)
40b1fb:	ff 75 0c             	push   0xc(%ebp)
40b1fe:	ff 75 08             	push   0x8(%ebp)
40b201:	50                   	push   %eax
40b202:	ff 15 60 d0 40 00    	call   *0x40d060
40b208:	e9 9f 00 00 00       	jmp    0x40b2ac
40b20d:	83 f8 01             	cmp    $0x1,%eax
40b210:	0f 85 94 00 00 00    	jne    0x40b2aa
40b216:	39 5d 18             	cmp    %ebx,0x18(%ebp)
40b219:	75 08                	jne    0x40b223
40b21b:	a1 7c 18 41 00       	mov    0x41187c,%eax
40b220:	89 45 18             	mov    %eax,0x18(%ebp)
40b223:	53                   	push   %ebx
40b224:	53                   	push   %ebx
40b225:	ff 75 10             	push   0x10(%ebp)
40b228:	ff 75 0c             	push   0xc(%ebp)
40b22b:	8b 45 20             	mov    0x20(%ebp),%eax
40b22e:	f7 d8                	neg    %eax
40b230:	1b c0                	sbb    %eax,%eax
40b232:	83 e0 08             	and    $0x8,%eax
40b235:	40                   	inc    %eax
40b236:	50                   	push   %eax
40b237:	ff 75 18             	push   0x18(%ebp)
40b23a:	ff 15 d4 d0 40 00    	call   *0x40d0d4
40b240:	89 45 e0             	mov    %eax,-0x20(%ebp)
40b243:	3b c3                	cmp    %ebx,%eax
40b245:	74 63                	je     0x40b2aa
40b247:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40b24a:	8d 3c 00             	lea    (%eax,%eax,1),%edi
40b24d:	8b c7                	mov    %edi,%eax
40b24f:	83 c0 03             	add    $0x3,%eax
40b252:	24 fc                	and    $0xfc,%al
40b254:	e8 e7 0b 00 00       	call   0x40be40
40b259:	89 65 e8             	mov    %esp,-0x18(%ebp)
40b25c:	8b f4                	mov    %esp,%esi
40b25e:	89 75 dc             	mov    %esi,-0x24(%ebp)
40b261:	57                   	push   %edi
40b262:	53                   	push   %ebx
40b263:	56                   	push   %esi
40b264:	e8 77 b3 ff ff       	call   0x4065e0
40b269:	83 c4 0c             	add    $0xc,%esp
40b26c:	eb 0b                	jmp    0x40b279
40b26e:	6a 01                	push   $0x1
40b270:	58                   	pop    %eax
40b271:	c3                   	ret
40b272:	8b 65 e8             	mov    -0x18(%ebp),%esp
40b275:	33 db                	xor    %ebx,%ebx
40b277:	33 f6                	xor    %esi,%esi
40b279:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40b27d:	3b f3                	cmp    %ebx,%esi
40b27f:	74 29                	je     0x40b2aa
40b281:	ff 75 e0             	push   -0x20(%ebp)
40b284:	56                   	push   %esi
40b285:	ff 75 10             	push   0x10(%ebp)
40b288:	ff 75 0c             	push   0xc(%ebp)
40b28b:	6a 01                	push   $0x1
40b28d:	ff 75 18             	push   0x18(%ebp)
40b290:	ff 15 d4 d0 40 00    	call   *0x40d0d4
40b296:	3b c3                	cmp    %ebx,%eax
40b298:	74 10                	je     0x40b2aa
40b29a:	ff 75 14             	push   0x14(%ebp)
40b29d:	50                   	push   %eax
40b29e:	56                   	push   %esi
40b29f:	ff 75 08             	push   0x8(%ebp)
40b2a2:	ff 15 5c d0 40 00    	call   *0x40d05c
40b2a8:	eb 02                	jmp    0x40b2ac
40b2aa:	33 c0                	xor    %eax,%eax
40b2ac:	8d 65 cc             	lea    -0x34(%ebp),%esp
40b2af:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40b2b2:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40b2b9:	5f                   	pop    %edi
40b2ba:	5e                   	pop    %esi
40b2bb:	5b                   	pop    %ebx
40b2bc:	c9                   	leave
40b2bd:	c3                   	ret
40b2be:	6a 04                	push   $0x4
40b2c0:	6a 00                	push   $0x0
40b2c2:	ff 74 24 0c          	push   0xc(%esp)
40b2c6:	e8 04 00 00 00       	call   0x40b2cf
40b2cb:	83 c4 0c             	add    $0xc,%esp
40b2ce:	c3                   	ret
40b2cf:	0f b6 44 24 04       	movzbl 0x4(%esp),%eax
40b2d4:	8a 4c 24 0c          	mov    0xc(%esp),%cl
40b2d8:	84 88 81 1c 41 00    	test   %cl,0x411c81(%eax)
40b2de:	75 1c                	jne    0x40b2fc
40b2e0:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
40b2e5:	74 0e                	je     0x40b2f5
40b2e7:	0f b7 04 45 f6 09 41 	movzwl 0x4109f6(,%eax,2),%eax
40b2ee:	00
40b2ef:	23 44 24 08          	and    0x8(%esp),%eax
40b2f3:	eb 02                	jmp    0x40b2f7
40b2f5:	33 c0                	xor    %eax,%eax
40b2f7:	85 c0                	test   %eax,%eax
40b2f9:	75 01                	jne    0x40b2fc
40b2fb:	c3                   	ret
40b2fc:	6a 01                	push   $0x1
40b2fe:	58                   	pop    %eax
40b2ff:	c3                   	ret
40b300:	55                   	push   %ebp
40b301:	8b ec                	mov    %esp,%ebp
40b303:	83 ec 18             	sub    $0x18,%esp
40b306:	53                   	push   %ebx
40b307:	56                   	push   %esi
40b308:	57                   	push   %edi
40b309:	6a 19                	push   $0x19
40b30b:	e8 e5 bc ff ff       	call   0x406ff5
40b310:	ff 75 08             	push   0x8(%ebp)
40b313:	e8 95 01 00 00       	call   0x40b4ad
40b318:	8b d8                	mov    %eax,%ebx
40b31a:	59                   	pop    %ecx
40b31b:	3b 1d 64 1b 41 00    	cmp    0x411b64,%ebx
40b321:	59                   	pop    %ecx
40b322:	89 5d 08             	mov    %ebx,0x8(%ebp)
40b325:	75 07                	jne    0x40b32e
40b327:	33 f6                	xor    %esi,%esi
40b329:	e9 70 01 00 00       	jmp    0x40b49e
40b32e:	85 db                	test   %ebx,%ebx
40b330:	0f 84 56 01 00 00    	je     0x40b48c
40b336:	33 d2                	xor    %edx,%edx
40b338:	b8 28 0f 41 00       	mov    $0x410f28,%eax
40b33d:	39 18                	cmp    %ebx,(%eax)
40b33f:	74 74                	je     0x40b3b5
40b341:	83 c0 30             	add    $0x30,%eax
40b344:	42                   	inc    %edx
40b345:	3d 18 10 41 00       	cmp    $0x411018,%eax
40b34a:	7c f1                	jl     0x40b33d
40b34c:	8d 45 e8             	lea    -0x18(%ebp),%eax
40b34f:	50                   	push   %eax
40b350:	53                   	push   %ebx
40b351:	ff 15 64 d0 40 00    	call   *0x40d064
40b357:	6a 01                	push   $0x1
40b359:	5e                   	pop    %esi
40b35a:	3b c6                	cmp    %esi,%eax
40b35c:	0f 85 21 01 00 00    	jne    0x40b483
40b362:	6a 40                	push   $0x40
40b364:	83 25 84 1d 41 00 00 	andl   $0x0,0x411d84
40b36b:	59                   	pop    %ecx
40b36c:	33 c0                	xor    %eax,%eax
40b36e:	bf 80 1c 41 00       	mov    $0x411c80,%edi
40b373:	39 75 e8             	cmp    %esi,-0x18(%ebp)
40b376:	f3 ab                	rep stos %eax,%es:(%edi)
40b378:	aa                   	stos   %al,%es:(%edi)
40b379:	89 1d 64 1b 41 00    	mov    %ebx,0x411b64
40b37f:	0f 86 eb 00 00 00    	jbe    0x40b470
40b385:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
40b389:	0f 84 bc 00 00 00    	je     0x40b44b
40b38f:	8d 4d ef             	lea    -0x11(%ebp),%ecx
40b392:	8a 11                	mov    (%ecx),%dl
40b394:	84 d2                	test   %dl,%dl
40b396:	0f 84 af 00 00 00    	je     0x40b44b
40b39c:	0f b6 41 ff          	movzbl -0x1(%ecx),%eax
40b3a0:	0f b6 d2             	movzbl %dl,%edx
40b3a3:	3b c2                	cmp    %edx,%eax
40b3a5:	0f 87 94 00 00 00    	ja     0x40b43f
40b3ab:	80 88 81 1c 41 00 04 	orb    $0x4,0x411c81(%eax)
40b3b2:	40                   	inc    %eax
40b3b3:	eb ee                	jmp    0x40b3a3
40b3b5:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40b3b9:	6a 40                	push   $0x40
40b3bb:	59                   	pop    %ecx
40b3bc:	33 c0                	xor    %eax,%eax
40b3be:	bf 80 1c 41 00       	mov    $0x411c80,%edi
40b3c3:	8d 34 52             	lea    (%edx,%edx,2),%esi
40b3c6:	f3 ab                	rep stos %eax,%es:(%edi)
40b3c8:	c1 e6 04             	shl    $0x4,%esi
40b3cb:	aa                   	stos   %al,%es:(%edi)
40b3cc:	8d 9e 38 0f 41 00    	lea    0x410f38(%esi),%ebx
40b3d2:	80 3b 00             	cmpb   $0x0,(%ebx)
40b3d5:	8b cb                	mov    %ebx,%ecx
40b3d7:	74 2c                	je     0x40b405
40b3d9:	8a 51 01             	mov    0x1(%ecx),%dl
40b3dc:	84 d2                	test   %dl,%dl
40b3de:	74 25                	je     0x40b405
40b3e0:	0f b6 01             	movzbl (%ecx),%eax
40b3e3:	0f b6 fa             	movzbl %dl,%edi
40b3e6:	3b c7                	cmp    %edi,%eax
40b3e8:	77 14                	ja     0x40b3fe
40b3ea:	8b 55 fc             	mov    -0x4(%ebp),%edx
40b3ed:	8a 92 20 0f 41 00    	mov    0x410f20(%edx),%dl
40b3f3:	08 90 81 1c 41 00    	or     %dl,0x411c81(%eax)
40b3f9:	40                   	inc    %eax
40b3fa:	3b c7                	cmp    %edi,%eax
40b3fc:	76 f5                	jbe    0x40b3f3
40b3fe:	41                   	inc    %ecx
40b3ff:	41                   	inc    %ecx
40b400:	80 39 00             	cmpb   $0x0,(%ecx)
40b403:	75 d4                	jne    0x40b3d9
40b405:	ff 45 fc             	incl   -0x4(%ebp)
40b408:	83 c3 08             	add    $0x8,%ebx
40b40b:	83 7d fc 04          	cmpl   $0x4,-0x4(%ebp)
40b40f:	72 c1                	jb     0x40b3d2
40b411:	8b 45 08             	mov    0x8(%ebp),%eax
40b414:	c7 05 7c 1b 41 00 01 	movl   $0x1,0x411b7c
40b41b:	00 00 00
40b41e:	50                   	push   %eax
40b41f:	a3 64 1b 41 00       	mov    %eax,0x411b64
40b424:	e8 ce 00 00 00       	call   0x40b4f7
40b429:	8d b6 2c 0f 41 00    	lea    0x410f2c(%esi),%esi
40b42f:	bf 70 1b 41 00       	mov    $0x411b70,%edi
40b434:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b435:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b436:	59                   	pop    %ecx
40b437:	a3 84 1d 41 00       	mov    %eax,0x411d84
40b43c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b43d:	eb 52                	jmp    0x40b491
40b43f:	41                   	inc    %ecx
40b440:	41                   	inc    %ecx
40b441:	80 79 ff 00          	cmpb   $0x0,-0x1(%ecx)
40b445:	0f 85 47 ff ff ff    	jne    0x40b392
40b44b:	8b c6                	mov    %esi,%eax
40b44d:	80 88 81 1c 41 00 08 	orb    $0x8,0x411c81(%eax)
40b454:	40                   	inc    %eax
40b455:	3d ff 00 00 00       	cmp    $0xff,%eax
40b45a:	72 f1                	jb     0x40b44d
40b45c:	53                   	push   %ebx
40b45d:	e8 95 00 00 00       	call   0x40b4f7
40b462:	59                   	pop    %ecx
40b463:	a3 84 1d 41 00       	mov    %eax,0x411d84
40b468:	89 35 7c 1b 41 00    	mov    %esi,0x411b7c
40b46e:	eb 07                	jmp    0x40b477
40b470:	83 25 7c 1b 41 00 00 	andl   $0x0,0x411b7c
40b477:	33 c0                	xor    %eax,%eax
40b479:	bf 70 1b 41 00       	mov    $0x411b70,%edi
40b47e:	ab                   	stos   %eax,%es:(%edi)
40b47f:	ab                   	stos   %eax,%es:(%edi)
40b480:	ab                   	stos   %eax,%es:(%edi)
40b481:	eb 0e                	jmp    0x40b491
40b483:	83 3d 50 1a 41 00 00 	cmpl   $0x0,0x411a50
40b48a:	74 0f                	je     0x40b49b
40b48c:	e8 99 00 00 00       	call   0x40b52a
40b491:	e8 bd 00 00 00       	call   0x40b553
40b496:	e9 8c fe ff ff       	jmp    0x40b327
40b49b:	83 ce ff             	or     $0xffffffff,%esi
40b49e:	6a 19                	push   $0x19
40b4a0:	e8 b1 bb ff ff       	call   0x407056
40b4a5:	59                   	pop    %ecx
40b4a6:	8b c6                	mov    %esi,%eax
40b4a8:	5f                   	pop    %edi
40b4a9:	5e                   	pop    %esi
40b4aa:	5b                   	pop    %ebx
40b4ab:	c9                   	leave
40b4ac:	c3                   	ret
40b4ad:	8b 44 24 04          	mov    0x4(%esp),%eax
40b4b1:	83 25 50 1a 41 00 00 	andl   $0x0,0x411a50
40b4b8:	83 f8 fe             	cmp    $0xfffffffe,%eax
40b4bb:	75 10                	jne    0x40b4cd
40b4bd:	c7 05 50 1a 41 00 01 	movl   $0x1,0x411a50
40b4c4:	00 00 00
40b4c7:	ff 25 54 d0 40 00    	jmp    *0x40d054
40b4cd:	83 f8 fd             	cmp    $0xfffffffd,%eax
40b4d0:	75 10                	jne    0x40b4e2
40b4d2:	c7 05 50 1a 41 00 01 	movl   $0x1,0x411a50
40b4d9:	00 00 00