40d075:	cc                   	int3
40d076:	cc                   	int3
40d077:	cc                   	int3
40d078:	cc                   	int3
40d079:	cc                   	int3
40d07a:	cc                   	int3
40d07b:	cc                   	int3
40d07c:	cc                   	int3
40d07d:	cc                   	int3
40d07e:	cc                   	int3
40d07f:	cc                   	int3
40d080:	8b ff                	mov    %edi,%edi
40d082:	55                   	push   %ebp
40d083:	8b ec                	mov    %esp,%ebp
40d085:	83 e4 f8             	and    $0xfffffff8,%esp
40d088:	8b 4d 10             	mov    0x10(%ebp),%ecx
40d08b:	85 c9                	test   %ecx,%ecx
40d08d:	74 45                	je     0x40d0d4
40d08f:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40d093:	74 3f                	je     0x40d0d4
40d095:	ff 75 0c             	push   0xc(%ebp)
40d098:	ff 75 08             	push   0x8(%ebp)
40d09b:	e8 49 ef ff ff       	call   0x40bfe9
40d0a0:	85 c0                	test   %eax,%eax
40d0a2:	79 5a                	jns    0x40d0fe
40d0a4:	8b 0d 00 b0 42 00    	mov    0x42b000,%ecx
40d0aa:	81 f9 00 b0 42 00    	cmp    $0x42b000,%ecx
40d0b0:	74 4c                	je     0x40d0fe
40d0b2:	f6 41 1c 01          	testb  $0x1,0x1c(%ecx)
40d0b6:	74 46                	je     0x40d0fe
40d0b8:	50                   	push   %eax
40d0b9:	ff 75 0c             	push   0xc(%ebp)
40d0bc:	ba cc 22 40 00       	mov    $0x4022cc,%edx
40d0c1:	ff 75 08             	push   0x8(%ebp)
40d0c4:	ff 71 14             	push   0x14(%ecx)
40d0c7:	ff 71 10             	push   0x10(%ecx)
40d0ca:	6a 10                	push   $0x10
40d0cc:	59                   	pop    %ecx
40d0cd:	e8 da e6 ff ff       	call   0x40b7ac
40d0d2:	eb 2a                	jmp    0x40d0fe
40d0d4:	a1 00 b0 42 00       	mov    0x42b000,%eax
40d0d9:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40d0de:	74 19                	je     0x40d0f9
40d0e0:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40d0e4:	74 13                	je     0x40d0f9
40d0e6:	ff 70 14             	push   0x14(%eax)
40d0e9:	ba cc 22 40 00       	mov    $0x4022cc,%edx
40d0ee:	ff 70 10             	push   0x10(%eax)
40d0f1:	6a 0f                	push   $0xf
40d0f3:	59                   	pop    %ecx
40d0f4:	e8 b7 a2 ff ff       	call   0x4073b0
40d0f9:	e8 3c 92 01 00       	call   0x42633a
40d0fe:	8b e5                	mov    %ebp,%esp
40d100:	5d                   	pop    %ebp
40d101:	c2 10 00             	ret    $0x10
40d104:	8b ff                	mov    %edi,%edi
40d106:	55                   	push   %ebp
40d107:	8b ec                	mov    %esp,%ebp
40d109:	83 e4 f8             	and    $0xfffffff8,%esp
40d10c:	83 ec 2c             	sub    $0x2c,%esp
40d10f:	89 54 24 28          	mov    %edx,0x28(%esp)
40d113:	89 4c 24 14          	mov    %ecx,0x14(%esp)
40d117:	53                   	push   %ebx
40d118:	56                   	push   %esi
40d119:	57                   	push   %edi
40d11a:	85 c9                	test   %ecx,%ecx
40d11c:	0f 84 4b 01 00 00    	je     0x40d26d
40d122:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40d126:	0f 84 41 01 00 00    	je     0x40d26d
40d12c:	8d 34 51             	lea    (%ecx,%edx,2),%esi
40d12f:	8b d9                	mov    %ecx,%ebx
40d131:	89 74 24 24          	mov    %esi,0x24(%esp)
40d135:	3b ce                	cmp    %esi,%ecx
40d137:	0f 83 5a 01 00 00    	jae    0x40d297
40d13d:	33 c0                	xor    %eax,%eax
40d13f:	c7 44 24 28 0a 00 00 	movl   $0xa,0x28(%esp)
40d146:	00
40d147:	89 44 24 10          	mov    %eax,0x10(%esp)
40d14b:	c7 44 24 2c 0d 00 00 	movl   $0xd,0x2c(%esp)
40d152:	00
40d153:	66 39 03             	cmp    %ax,(%ebx)
40d156:	0f 84 3b 01 00 00    	je     0x40d297
40d15c:	8b fb                	mov    %ebx,%edi
40d15e:	3b de                	cmp    %esi,%ebx
40d160:	73 1d                	jae    0x40d17f
40d162:	0f b7 07             	movzwl (%edi),%eax
40d165:	66 85 c0             	test   %ax,%ax
40d168:	74 15                	je     0x40d17f
40d16a:	66 3b 44 24 28       	cmp    0x28(%esp),%ax
40d16f:	74 0e                	je     0x40d17f
40d171:	66 3b 44 24 2c       	cmp    0x2c(%esp),%ax
40d176:	74 07                	je     0x40d17f
40d178:	83 c7 02             	add    $0x2,%edi
40d17b:	3b fe                	cmp    %esi,%edi
40d17d:	72 e3                	jb     0x40d162
40d17f:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
40d183:	0f 86 a2 00 00 00    	jbe    0x40d22b
40d189:	8b 75 08             	mov    0x8(%ebp),%esi
40d18c:	8b c3                	mov    %ebx,%eax
40d18e:	2b c1                	sub    %ecx,%eax
40d190:	d1 f8                	sar    $1,%eax
40d192:	2b d0                	sub    %eax,%edx
40d194:	8b 45 0c             	mov    0xc(%ebp),%eax
40d197:	83 c6 08             	add    $0x8,%esi
40d19a:	89 54 24 14          	mov    %edx,0x14(%esp)
40d19e:	89 74 24 18          	mov    %esi,0x18(%esp)
40d1a2:	89 44 24 1c          	mov    %eax,0x1c(%esp)
40d1a6:	8b 4e f8             	mov    -0x8(%esi),%ecx
40d1a9:	8d 41 02             	lea    0x2(%ecx),%eax
40d1ac:	89 44 24 30          	mov    %eax,0x30(%esp)
40d1b0:	66 8b 01             	mov    (%ecx),%ax
40d1b3:	83 c1 02             	add    $0x2,%ecx
40d1b6:	66 3b 44 24 10       	cmp    0x10(%esp),%ax
40d1bb:	75 f3                	jne    0x40d1b0
40d1bd:	2b 4c 24 30          	sub    0x30(%esp),%ecx
40d1c1:	d1 f9                	sar    $1,%ecx
40d1c3:	3b d1                	cmp    %ecx,%edx
40d1c5:	72 4e                	jb     0x40d215
40d1c7:	51                   	push   %ecx
40d1c8:	ff 76 f8             	push   -0x8(%esi)
40d1cb:	53                   	push   %ebx
40d1cc:	ff 15 34 c3 42 00    	call   *0x42c334
40d1d2:	83 c4 0c             	add    $0xc,%esp
40d1d5:	85 c0                	test   %eax,%eax
40d1d7:	75 38                	jne    0x40d211
40d1d9:	8b 4e f8             	mov    -0x8(%esi),%ecx
40d1dc:	8d 51 02             	lea    0x2(%ecx),%edx
40d1df:	66 8b 01             	mov    (%ecx),%ax
40d1e2:	83 c1 02             	add    $0x2,%ecx
40d1e5:	66 3b 44 24 10       	cmp    0x10(%esp),%ax
40d1ea:	75 f3                	jne    0x40d1df
40d1ec:	ff 36                	push   (%esi)
40d1ee:	2b ca                	sub    %edx,%ecx
40d1f0:	8b c7                	mov    %edi,%eax
40d1f2:	ff 76 fc             	push   -0x4(%esi)
40d1f5:	8b 76 04             	mov    0x4(%esi),%esi
40d1f8:	d1 f9                	sar    $1,%ecx
40d1fa:	8d 0c 4b             	lea    (%ebx,%ecx,2),%ecx
40d1fd:	2b c1                	sub    %ecx,%eax
40d1ff:	d1 f8                	sar    $1,%eax
40d201:	50                   	push   %eax
40d202:	51                   	push   %ecx
40d203:	8b ce                	mov    %esi,%ecx
40d205:	ff 15 d4 c4 42 00    	call   *0x42c4d4
40d20b:	ff d6                	call   *%esi
40d20d:	8b 74 24 18          	mov    0x18(%esp),%esi
40d211:	8b 54 24 14          	mov    0x14(%esp),%edx
40d215:	83 c6 14             	add    $0x14,%esi
40d218:	83 6c 24 1c 01       	subl   $0x1,0x1c(%esp)
40d21d:	89 74 24 18          	mov    %esi,0x18(%esp)
40d221:	75 83                	jne    0x40d1a6
40d223:	8b 4c 24 20          	mov    0x20(%esp),%ecx
40d227:	8b 74 24 24          	mov    0x24(%esp),%esi
40d22b:	0f b7 07             	movzwl (%edi),%eax
40d22e:	66 85 c0             	test   %ax,%ax
40d231:	74 27                	je     0x40d25a
40d233:	6a 0a                	push   $0xa
40d235:	59                   	pop    %ecx
40d236:	6a 0d                	push   $0xd
40d238:	8b d0                	mov    %eax,%edx
40d23a:	5e                   	pop    %esi
40d23b:	66 3b d1             	cmp    %cx,%dx
40d23e:	74 05                	je     0x40d245
40d240:	66 3b d6             	cmp    %si,%dx
40d243:	75 0d                	jne    0x40d252
40d245:	83 c7 02             	add    $0x2,%edi
40d248:	0f b7 07             	movzwl (%edi),%eax
40d24b:	8b d0                	mov    %eax,%edx
40d24d:	66 85 c0             	test   %ax,%ax
40d250:	75 e9                	jne    0x40d23b
40d252:	8b 4c 24 20          	mov    0x20(%esp),%ecx
40d256:	8b 74 24 24          	mov    0x24(%esp),%esi
40d25a:	8b 54 24 34          	mov    0x34(%esp),%edx
40d25e:	8b df                	mov    %edi,%ebx
40d260:	6a 00                	push   $0x0
40d262:	58                   	pop    %eax
40d263:	3b fe                	cmp    %esi,%edi
40d265:	0f 82 e8 fe ff ff    	jb     0x40d153
40d26b:	eb 2a                	jmp    0x40d297
40d26d:	a1 00 b0 42 00       	mov    0x42b000,%eax
40d272:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40d277:	74 19                	je     0x40d292
40d279:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40d27d:	74 13                	je     0x40d292
40d27f:	ff 70 14             	push   0x14(%eax)
40d282:	ba cc 22 40 00       	mov    $0x4022cc,%edx
40d287:	ff 70 10             	push   0x10(%eax)
40d28a:	6a 12                	push   $0x12
40d28c:	59                   	pop    %ecx
40d28d:	e8 1e a1 ff ff       	call   0x4073b0
40d292:	e8 a3 90 01 00       	call   0x42633a
40d297:	5f                   	pop    %edi
40d298:	5e                   	pop    %esi
40d299:	5b                   	pop    %ebx
40d29a:	8b e5                	mov    %ebp,%esp
40d29c:	5d                   	pop    %ebp
40d29d:	c2 08 00             	ret    $0x8
40d2a0:	8b ff                	mov    %edi,%edi
40d2a2:	55                   	push   %ebp
40d2a3:	8b ec                	mov    %esp,%ebp
40d2a5:	8b 55 0c             	mov    0xc(%ebp),%edx
40d2a8:	8d 45 14             	lea    0x14(%ebp),%eax
40d2ab:	56                   	push   %esi
40d2ac:	8b 75 08             	mov    0x8(%ebp),%esi
40d2af:	2b d6                	sub    %esi,%edx
40d2b1:	50                   	push   %eax
40d2b2:	ff 75 10             	push   0x10(%ebp)
40d2b5:	d1 fa                	sar    $1,%edx
40d2b7:	8b ce                	mov    %esi,%ecx
40d2b9:	e8 e4 f9 ff ff       	call   0x40cca2
40d2be:	39 75 0c             	cmp    %esi,0xc(%ebp)
40d2c1:	74 17                	je     0x40d2da
40d2c3:	8b ce                	mov    %esi,%ecx
40d2c5:	8d 51 02             	lea    0x2(%ecx),%edx
40d2c8:	66 8b 01             	mov    (%ecx),%ax
40d2cb:	83 c1 02             	add    $0x2,%ecx
40d2ce:	66 85 c0             	test   %ax,%ax
40d2d1:	75 f5                	jne    0x40d2c8
40d2d3:	2b ca                	sub    %edx,%ecx
40d2d5:	d1 f9                	sar    $1,%ecx
40d2d7:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
40d2da:	8b c6                	mov    %esi,%eax
40d2dc:	5e                   	pop    %esi
40d2dd:	5d                   	pop    %ebp
40d2de:	c3                   	ret
40d2df:	8b ff                	mov    %edi,%edi
40d2e1:	55                   	push   %ebp
40d2e2:	8b ec                	mov    %esp,%ebp
40d2e4:	81 ec 0c 02 00 00    	sub    $0x20c,%esp
40d2ea:	a1 74 b6 42 00       	mov    0x42b674,%eax
40d2ef:	33 c5                	xor    %ebp,%eax
40d2f1:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d2f4:	53                   	push   %ebx
40d2f5:	8b d9                	mov    %ecx,%ebx
40d2f7:	8b c2                	mov    %edx,%eax
40d2f9:	89 85 f4 fd ff ff    	mov    %eax,-0x20c(%ebp)
40d2ff:	56                   	push   %esi
40d300:	8b 75 08             	mov    0x8(%ebp),%esi
40d303:	85 db                	test   %ebx,%ebx
40d305:	0f 84 c2 01 00 00    	je     0x40d4cd
40d30b:	57                   	push   %edi
40d30c:	8b 3d 60 bb 42 00    	mov    0x42bb60,%edi
40d312:	33 c9                	xor    %ecx,%ecx
40d314:	66 89 0b             	mov    %cx,(%ebx)
40d317:	85 ff                	test   %edi,%edi
40d319:	74 20                	je     0x40d33b
40d31b:	38 0d 50 bb 42 00    	cmp    %cl,0x42bb50
40d321:	74 18                	je     0x40d33b
40d323:	50                   	push   %eax
40d324:	53                   	push   %ebx
40d325:	56                   	push   %esi
40d326:	8b cf                	mov    %edi,%ecx
40d328:	ff 15 d4 c4 42 00    	call   *0x42c4d4
40d32e:	ff d7                	call   *%edi
40d330:	33 c9                	xor    %ecx,%ecx
40d332:	66 39 0b             	cmp    %cx,(%ebx)
40d335:	0f 85 91 01 00 00    	jne    0x40d4cc
40d33b:	8b 06                	mov    (%esi),%eax
40d33d:	c7 85 f8 fd ff ff 24 	movl   $0x402824,-0x208(%ebp)
40d344:	28 40 00
40d347:	2b c1                	sub    %ecx,%eax
40d349:	74 33                	je     0x40d37e
40d34b:	83 e8 01             	sub    $0x1,%eax
40d34e:	74 22                	je     0x40d372
40d350:	83 e8 01             	sub    $0x1,%eax
40d353:	74 11                	je     0x40d366
40d355:	83 e8 01             	sub    $0x1,%eax
40d358:	75 2e                	jne    0x40d388
40d35a:	c7 85 f8 fd ff ff fc 	movl   $0x4022fc,-0x208(%ebp)
40d361:	22 40 00
40d364:	eb 22                	jmp    0x40d388
40d366:	c7 85 f8 fd ff ff f4 	movl   $0x4022f4,-0x208(%ebp)
40d36d:	22 40 00
40d370:	eb 16                	jmp    0x40d388
40d372:	c7 85 f8 fd ff ff e8 	movl   $0x4022e8,-0x208(%ebp)
40d379:	22 40 00
40d37c:	eb 0a                	jmp    0x40d388
40d37e:	c7 85 f8 fd ff ff dc 	movl   $0x4022dc,-0x208(%ebp)
40d385:	22 40 00
40d388:	51                   	push   %ecx
40d389:	33 c0                	xor    %eax,%eax
40d38b:	68 00 01 00 00       	push   $0x100
40d390:	66 89 85 fc fd ff ff 	mov    %ax,-0x204(%ebp)
40d397:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
40d39d:	50                   	push   %eax
40d39e:	68 00 04 00 00       	push   $0x400
40d3a3:	ff 76 04             	push   0x4(%esi)
40d3a6:	51                   	push   %ecx
40d3a7:	68 00 12 00 00       	push   $0x1200
40d3ac:	ff 15 78 c1 42 00    	call   *0x42c178
40d3b2:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
40d3b6:	8b 85 f4 fd ff ff    	mov    -0x20c(%ebp),%eax
40d3bc:	ff 76 48             	push   0x48(%esi)
40d3bf:	ff 76 44             	push   0x44(%esi)
40d3c2:	8d 3c 43             	lea    (%ebx,%eax,2),%edi
40d3c5:	74 17                	je     0x40d3de
40d3c7:	ff 76 20             	push   0x20(%esi)
40d3ca:	ff 76 1c             	push   0x1c(%esi)
40d3cd:	68 08 23 40 00       	push   $0x402308
40d3d2:	57                   	push   %edi
40d3d3:	53                   	push   %ebx
40d3d4:	e8 c7 fe ff ff       	call   0x40d2a0
40d3d9:	83 c4 1c             	add    $0x1c,%esp
40d3dc:	eb 0f                	jmp    0x40d3ed
40d3de:	68 2c 23 40 00       	push   $0x40232c
40d3e3:	57                   	push   %edi
40d3e4:	53                   	push   %ebx
40d3e5:	e8 b6 fe ff ff       	call   0x40d2a0
40d3ea:	83 c4 14             	add    $0x14,%esp
40d3ed:	83 7e 4c 00          	cmpl   $0x0,0x4c(%esi)
40d3f1:	8b d8                	mov    %eax,%ebx
40d3f3:	74 14                	je     0x40d409
40d3f5:	ff 76 4c             	push   0x4c(%esi)
40d3f8:	68 40 23 40 00       	push   $0x402340
40d3fd:	57                   	push   %edi
40d3fe:	53                   	push   %ebx
40d3ff:	e8 9c fe ff ff       	call   0x40d2a0
40d404:	83 c4 10             	add    $0x10,%esp
40d407:	8b d8                	mov    %eax,%ebx
40d409:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
40d40f:	50                   	push   %eax
40d410:	ff 76 04             	push   0x4(%esi)
40d413:	ff 15 74 c2 42 00    	call   *0x42c274
40d419:	50                   	push   %eax
40d41a:	ff 76 24             	push   0x24(%esi)
40d41d:	ff b5 f8 fd ff ff    	push   -0x208(%ebp)
40d423:	68 5c 23 40 00       	push   $0x40235c
40d428:	57                   	push   %edi
40d429:	53                   	push   %ebx
40d42a:	e8 71 fe ff ff       	call   0x40d2a0
40d42f:	33 c9                	xor    %ecx,%ecx
40d431:	83 c4 20             	add    $0x20,%esp
40d434:	39 4e 0c             	cmp    %ecx,0xc(%esi)
40d437:	75 0e                	jne    0x40d447
40d439:	39 4e 28             	cmp    %ecx,0x28(%esi)
40d43c:	75 09                	jne    0x40d447
40d43e:	39 4e 18             	cmp    %ecx,0x18(%esi)
40d441:	0f 84 85 00 00 00    	je     0x40d4cc
40d447:	68 90 23 40 00       	push   $0x402390
40d44c:	57                   	push   %edi
40d44d:	50                   	push   %eax
40d44e:	e8 4d fe ff ff       	call   0x40d2a0
40d453:	83 c4 0c             	add    $0xc,%esp
40d456:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
40d45a:	74 12                	je     0x40d46e
40d45c:	ff 76 0c             	push   0xc(%esi)
40d45f:	68 9c 23 40 00       	push   $0x40239c
40d464:	57                   	push   %edi
40d465:	50                   	push   %eax
40d466:	e8 35 fe ff ff       	call   0x40d2a0