40d0ba:	8b f0                	mov    %eax,%esi
40d0bc:	85 f6                	test   %esi,%esi
40d0be:	74 17                	je     0x40d0d7
40d0c0:	6a 58                	push   $0x58
40d0c2:	56                   	push   %esi
40d0c3:	ff 15 48 a0 42 00    	call   *0x42a048
40d0c9:	56                   	push   %esi
40d0ca:	6a 00                	push   $0x0
40d0cc:	a3 e8 c3 44 00       	mov    %eax,0x44c3e8
40d0d1:	ff 15 0c a3 42 00    	call   *0x42a30c
40d0d7:	5e                   	pop    %esi
40d0d8:	a1 e8 c3 44 00       	mov    0x44c3e8,%eax
40d0dd:	0f af 44 24 04       	imul   0x4(%esp),%eax
40d0e2:	6a 60                	push   $0x60
40d0e4:	99                   	cltd
40d0e5:	59                   	pop    %ecx
40d0e6:	f7 f9                	idiv   %ecx
40d0e8:	c2 04 00             	ret    $0x4
40d0eb:	83 3d ec c3 44 00 00 	cmpl   $0x0,0x44c3ec
40d0f2:	75 27                	jne    0x40d11b
40d0f4:	56                   	push   %esi
40d0f5:	6a 00                	push   $0x0
40d0f7:	ff 15 08 a3 42 00    	call   *0x42a308
40d0fd:	8b f0                	mov    %eax,%esi
40d0ff:	85 f6                	test   %esi,%esi
40d101:	74 17                	je     0x40d11a
40d103:	6a 5a                	push   $0x5a
40d105:	56                   	push   %esi
40d106:	ff 15 48 a0 42 00    	call   *0x42a048
40d10c:	56                   	push   %esi
40d10d:	6a 00                	push   $0x0
40d10f:	a3 ec c3 44 00       	mov    %eax,0x44c3ec
40d114:	ff 15 0c a3 42 00    	call   *0x42a30c
40d11a:	5e                   	pop    %esi
40d11b:	a1 ec c3 44 00       	mov    0x44c3ec,%eax
40d120:	0f af 44 24 04       	imul   0x4(%esp),%eax
40d125:	6a 60                	push   $0x60
40d127:	99                   	cltd
40d128:	59                   	pop    %ecx
40d129:	f7 f9                	idiv   %ecx
40d12b:	c2 04 00             	ret    $0x4
40d12e:	6a 64                	push   $0x64
40d130:	e8 73 ff ff ff       	call   0x40d0a8
40d135:	83 f8 7d             	cmp    $0x7d,%eax
40d138:	7d 0f                	jge    0x40d149
40d13a:	6a 64                	push   $0x64
40d13c:	e8 aa ff ff ff       	call   0x40d0eb
40d141:	83 f8 7d             	cmp    $0x7d,%eax
40d144:	7d 03                	jge    0x40d149
40d146:	33 c0                	xor    %eax,%eax
40d148:	c3                   	ret
40d149:	33 c0                	xor    %eax,%eax
40d14b:	40                   	inc    %eax
40d14c:	c3                   	ret
40d14d:	55                   	push   %ebp
40d14e:	8b ec                	mov    %esp,%ebp
40d150:	83 ec 60             	sub    $0x60,%esp
40d153:	53                   	push   %ebx
40d154:	56                   	push   %esi
40d155:	57                   	push   %edi
40d156:	6a 68                	push   $0x68
40d158:	ff 35 00 0d 44 00    	push   0x440d00
40d15e:	ff 15 88 a2 42 00    	call   *0x42a288
40d164:	80 3d 04 0d 44 00 00 	cmpb   $0x0,0x440d04
40d16b:	8b 35 04 a3 42 00    	mov    0x42a304,%esi
40d171:	8b f8                	mov    %eax,%edi
40d173:	89 7d fc             	mov    %edi,-0x4(%ebp)
40d176:	bb b1 00 00 00       	mov    $0xb1,%ebx
40d17b:	75 32                	jne    0x40d1af
40d17d:	8b 0d d4 7c 43 00    	mov    0x437cd4,%ecx
40d183:	e8 ff bb 00 00       	call   0x418d87
40d188:	6a 05                	push   $0x5
40d18a:	57                   	push   %edi
40d18b:	ff 15 8c a2 42 00    	call   *0x42a28c
40d191:	6a ff                	push   $0xffffffff
40d193:	6a 00                	push   $0x0
40d195:	53                   	push   %ebx
40d196:	57                   	push   %edi
40d197:	ff d6                	call   *%esi
40d199:	68 3c a5 42 00       	push   $0x42a53c
40d19e:	6a 00                	push   $0x0
40d1a0:	68 c2 00 00 00       	push   $0xc2
40d1a5:	57                   	push   %edi
40d1a6:	ff d6                	call   *%esi
40d1a8:	c6 05 04 0d 44 00 01 	movb   $0x1,0x440d04
40d1af:	bf 00 e1 f5 05       	mov    $0x5f5e100,%edi
40d1b4:	57                   	push   %edi
40d1b5:	57                   	push   %edi
40d1b6:	53                   	push   %ebx
40d1b7:	ff 75 fc             	push   -0x4(%ebp)
40d1ba:	ff d6                	call   *%esi
40d1bc:	8d 45 a0             	lea    -0x60(%ebp),%eax
40d1bf:	50                   	push   %eax
40d1c0:	6a 00                	push   $0x0
40d1c2:	68 3a 04 00 00       	push   $0x43a
40d1c7:	ff 75 fc             	push   -0x4(%ebp)
40d1ca:	c7 45 a0 5c 00 00 00 	movl   $0x5c,-0x60(%ebp)
40d1d1:	ff d6                	call   *%esi
40d1d3:	33 c0                	xor    %eax,%eax
40d1d5:	40                   	inc    %eax
40d1d6:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
40d1da:	c6 45 b9 00          	movb   $0x0,-0x47(%ebp)
40d1de:	89 45 a4             	mov    %eax,-0x5c(%ebp)
40d1e1:	74 1c                	je     0x40d1ff
40d1e3:	8b 4d a8             	mov    -0x58(%ebp),%ecx
40d1e6:	81 e1 ff ff ff bf    	and    $0xbfffffff,%ecx
40d1ec:	0b c8                	or     %eax,%ecx
40d1ee:	89 4d a8             	mov    %ecx,-0x58(%ebp)
40d1f1:	c7 45 b4 a0 00 00 00 	movl   $0xa0,-0x4c(%ebp)
40d1f8:	c7 45 a4 01 00 00 40 	movl   $0x40000001,-0x5c(%ebp)
40d1ff:	8d 4d a0             	lea    -0x60(%ebp),%ecx
40d202:	51                   	push   %ecx
40d203:	50                   	push   %eax
40d204:	68 44 04 00 00       	push   $0x444
40d209:	ff 75 fc             	push   -0x4(%ebp)
40d20c:	ff d6                	call   *%esi
40d20e:	ff 75 0c             	push   0xc(%ebp)
40d211:	6a 00                	push   $0x0
40d213:	68 c2 00 00 00       	push   $0xc2
40d218:	ff 75 fc             	push   -0x4(%ebp)
40d21b:	ff d6                	call   *%esi
40d21d:	57                   	push   %edi
40d21e:	57                   	push   %edi
40d21f:	53                   	push   %ebx
40d220:	ff 75 fc             	push   -0x4(%ebp)
40d223:	ff d6                	call   *%esi
40d225:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
40d229:	74 1e                	je     0x40d249
40d22b:	8b 45 a8             	mov    -0x58(%ebp),%eax
40d22e:	83 e0 fe             	and    $0xfffffffe,%eax
40d231:	0d 00 00 00 40       	or     $0x40000000,%eax
40d236:	89 45 a8             	mov    %eax,-0x58(%ebp)
40d239:	8d 45 a0             	lea    -0x60(%ebp),%eax
40d23c:	50                   	push   %eax
40d23d:	6a 01                	push   $0x1
40d23f:	68 44 04 00 00       	push   $0x444
40d244:	ff 75 fc             	push   -0x4(%ebp)
40d247:	ff d6                	call   *%esi
40d249:	68 d8 a7 42 00       	push   $0x42a7d8
40d24e:	6a 00                	push   $0x0
40d250:	68 c2 00 00 00       	push   $0xc2
40d255:	ff 75 fc             	push   -0x4(%ebp)
40d258:	ff d6                	call   *%esi
40d25a:	5f                   	pop    %edi
40d25b:	5e                   	pop    %esi
40d25c:	5b                   	pop    %ebx
40d25d:	c9                   	leave
40d25e:	c2 08 00             	ret    $0x8
40d261:	55                   	push   %ebp
40d262:	8b ec                	mov    %esp,%ebp
40d264:	b8 00 28 00 00       	mov    $0x2800,%eax
40d269:	e8 62 d2 00 00       	call   0x41a4d0
40d26e:	8b 45 08             	mov    0x8(%ebp),%eax
40d271:	85 c0                	test   %eax,%eax
40d273:	74 26                	je     0x40d29b
40d275:	66 83 38 00          	cmpw   $0x0,(%eax)
40d279:	74 26                	je     0x40d2a1
40d27b:	8d 4d 0c             	lea    0xc(%ebp),%ecx
40d27e:	51                   	push   %ecx
40d27f:	50                   	push   %eax
40d280:	8d 85 00 d8 ff ff    	lea    -0x2800(%ebp),%eax
40d286:	50                   	push   %eax
40d287:	ff 15 00 a3 42 00    	call   *0x42a300
40d28d:	8d 85 00 d8 ff ff    	lea    -0x2800(%ebp),%eax
40d293:	50                   	push   %eax
40d294:	6a 01                	push   $0x1
40d296:	e8 b2 fe ff ff       	call   0x40d14d
40d29b:	ff 05 f8 0c 44 00    	incl   0x440cf8
40d2a1:	c9                   	leave
40d2a2:	c3                   	ret
40d2a3:	55                   	push   %ebp
40d2a4:	8b ec                	mov    %esp,%ebp
40d2a6:	56                   	push   %esi
40d2a7:	8b 75 14             	mov    0x14(%ebp),%esi
40d2aa:	57                   	push   %edi
40d2ab:	8b 7d 08             	mov    0x8(%ebp),%edi
40d2ae:	6a 00                	push   $0x0
40d2b0:	6a 00                	push   $0x0
40d2b2:	68 e0 a7 42 00       	push   $0x42a7e0
40d2b7:	56                   	push   %esi
40d2b8:	ff 75 10             	push   0x10(%ebp)
40d2bb:	ff 75 0c             	push   0xc(%ebp)
40d2be:	57                   	push   %edi
40d2bf:	e8 7a 8f ff ff       	call   0x40623e
40d2c4:	84 c0                	test   %al,%al
40d2c6:	75 5b                	jne    0x40d323
40d2c8:	8b 45 0c             	mov    0xc(%ebp),%eax
40d2cb:	2d 10 01 00 00       	sub    $0x110,%eax
40d2d0:	74 34                	je     0x40d306
40d2d2:	48                   	dec    %eax
40d2d3:	75 0a                	jne    0x40d2df
40d2d5:	0f b7 45 10          	movzwl 0x10(%ebp),%eax
40d2d9:	48                   	dec    %eax
40d2da:	74 12                	je     0x40d2ee
40d2dc:	48                   	dec    %eax
40d2dd:	74 04                	je     0x40d2e3
40d2df:	33 c0                	xor    %eax,%eax
40d2e1:	eb 43                	jmp    0x40d326
40d2e3:	6a 00                	push   $0x0
40d2e5:	57                   	push   %edi
40d2e6:	ff 15 f4 a2 42 00    	call   *0x42a2f4
40d2ec:	eb 35                	jmp    0x40d323
40d2ee:	68 00 08 00 00       	push   $0x800
40d2f3:	ff 35 f0 c3 44 00    	push   0x44c3f0
40d2f9:	6a 66                	push   $0x66
40d2fb:	57                   	push   %edi
40d2fc:	ff 15 f8 a2 42 00    	call   *0x42a2f8
40d302:	6a 01                	push   $0x1
40d304:	eb df                	jmp    0x40d2e5
40d306:	56                   	push   %esi
40d307:	6a 65                	push   $0x65
40d309:	89 35 f0 c3 44 00    	mov    %esi,0x44c3f0
40d30f:	8b 35 fc a2 42 00    	mov    0x42a2fc,%esi
40d315:	57                   	push   %edi
40d316:	ff d6                	call   *%esi
40d318:	ff 35 f0 c3 44 00    	push   0x44c3f0
40d31e:	6a 66                	push   $0x66
40d320:	57                   	push   %edi
40d321:	ff d6                	call   *%esi
40d323:	33 c0                	xor    %eax,%eax
40d325:	40                   	inc    %eax
40d326:	5f                   	pop    %edi
40d327:	5e                   	pop    %esi
40d328:	5d                   	pop    %ebp
40d329:	c2 10 00             	ret    $0x10
40d32c:	55                   	push   %ebp
40d32d:	8b ec                	mov    %esp,%ebp
40d32f:	81 ec 00 01 00 00    	sub    $0x100,%esp
40d335:	56                   	push   %esi
40d336:	57                   	push   %edi
40d337:	8b 7d 08             	mov    0x8(%ebp),%edi
40d33a:	33 f6                	xor    %esi,%esi
40d33c:	56                   	push   %esi
40d33d:	56                   	push   %esi
40d33e:	68 f4 a7 42 00       	push   $0x42a7f4
40d343:	ff 75 14             	push   0x14(%ebp)
40d346:	ff 75 10             	push   0x10(%ebp)
40d349:	ff 75 0c             	push   0xc(%ebp)
40d34c:	57                   	push   %edi
40d34d:	e8 ec 8e ff ff       	call   0x40623e
40d352:	84 c0                	test   %al,%al
40d354:	75 69                	jne    0x40d3bf
40d356:	8b 45 0c             	mov    0xc(%ebp),%eax
40d359:	2d 10 01 00 00       	sub    $0x110,%eax
40d35e:	74 53                	je     0x40d3b3
40d360:	48                   	dec    %eax
40d361:	75 0a                	jne    0x40d36d
40d363:	0f b7 45 10          	movzwl 0x10(%ebp),%eax
40d367:	48                   	dec    %eax
40d368:	74 11                	je     0x40d37b
40d36a:	48                   	dec    %eax
40d36b:	74 04                	je     0x40d371
40d36d:	33 c0                	xor    %eax,%eax
40d36f:	eb 51                	jmp    0x40d3c2
40d371:	56                   	push   %esi
40d372:	57                   	push   %edi
40d373:	ff 15 f4 a2 42 00    	call   *0x42a2f4
40d379:	eb 44                	jmp    0x40d3bf
40d37b:	be 80 00 00 00       	mov    $0x80,%esi
40d380:	56                   	push   %esi
40d381:	8d 85 00 ff ff ff    	lea    -0x100(%ebp),%eax
40d387:	50                   	push   %eax
40d388:	6a 65                	push   $0x65
40d38a:	57                   	push   %edi
40d38b:	ff 15 f8 a2 42 00    	call   *0x42a2f8
40d391:	8d 85 00 ff ff ff    	lea    -0x100(%ebp),%eax
40d397:	50                   	push   %eax
40d398:	b9 e0 c2 44 00       	mov    $0x44c2e0,%ecx
40d39d:	e8 aa fa ff ff       	call   0x40ce4c
40d3a2:	56                   	push   %esi
40d3a3:	8d 85 00 ff ff ff    	lea    -0x100(%ebp),%eax
40d3a9:	50                   	push   %eax
40d3aa:	e8 19 fa ff ff       	call   0x40cdc8
40d3af:	6a 01                	push   $0x1
40d3b1:	eb bf                	jmp    0x40d372
40d3b3:	ff 75 14             	push   0x14(%ebp)
40d3b6:	6a 66                	push   $0x66
40d3b8:	57                   	push   %edi
40d3b9:	ff 15 fc a2 42 00    	call   *0x42a2fc
40d3bf:	33 c0                	xor    %eax,%eax
40d3c1:	40                   	inc    %eax
40d3c2:	5f                   	pop    %edi
40d3c3:	5e                   	pop    %esi
40d3c4:	c9                   	leave
40d3c5:	c2 10 00             	ret    $0x10
40d3c8:	6a 00                	push   $0x0
40d3ca:	ff 74 24 20          	push   0x20(%esp)
40d3ce:	ff 74 24 1c          	push   0x1c(%esp)
40d3d2:	e8 17 fc ff ff       	call   0x40cfee
40d3d7:	50                   	push   %eax
40d3d8:	68 02 04 00 00       	push   $0x402
40d3dd:	6a 6a                	push   $0x6a
40d3df:	ff 35 00 0d 44 00    	push   0x440d00
40d3e5:	ff 15 f0 a2 42 00    	call   *0x42a2f0
40d3eb:	e8 38 fb ff ff       	call   0x40cf28
40d3f0:	c2 20 00             	ret    $0x20
40d3f3:	55                   	push   %ebp
40d3f4:	8b ec                	mov    %esp,%ebp
40d3f6:	56                   	push   %esi
40d3f7:	8b 75 14             	mov    0x14(%ebp),%esi
40d3fa:	57                   	push   %edi
40d3fb:	8b 7d 08             	mov    0x8(%ebp),%edi
40d3fe:	6a 00                	push   $0x0
40d400:	6a 00                	push   $0x0
40d402:	68 18 a8 42 00       	push   $0x42a818
40d407:	56                   	push   %esi
40d408:	ff 75 10             	push   0x10(%ebp)
40d40b:	ff 75 0c             	push   0xc(%ebp)
40d40e:	57                   	push   %edi
40d40f:	e8 2a 8e ff ff       	call   0x40623e
40d414:	84 c0                	test   %al,%al
40d416:	0f 85 87 00 00 00    	jne    0x40d4a3
40d41c:	8b 45 0c             	mov    0xc(%ebp),%eax
40d41f:	2d 10 01 00 00       	sub    $0x110,%eax
40d424:	74 6c                	je     0x40d492
40d426:	48                   	dec    %eax
40d427:	75 0f                	jne    0x40d438
40d429:	0f b7 45 10          	movzwl 0x10(%ebp),%eax
40d42d:	48                   	dec    %eax
40d42e:	74 4b                	je     0x40d47b
40d430:	48                   	dec    %eax
40d431:	74 3d                	je     0x40d470
40d433:	83 e8 64             	sub    $0x64,%eax
40d436:	74 04                	je     0x40d43c
40d438:	33 c0                	xor    %eax,%eax
40d43a:	eb 6a                	jmp    0x40d4a6
40d43c:	a1 f4 c3 44 00       	mov    0x44c3f4,%eax
40d441:	6a 00                	push   $0x0
40d443:	ff 30                	push   (%eax)
40d445:	e8 5c ce ff ff       	call   0x40a2a6
40d44a:	50                   	push   %eax
40d44b:	a1 f4 c3 44 00       	mov    0x44c3f4,%eax
40d450:	ff 30                	push   (%eax)
40d452:	68 8e 00 00 00       	push   $0x8e
40d457:	e8 90 ed ff ff       	call   0x40c1ec
40d45c:	50                   	push   %eax
40d45d:	57                   	push   %edi
40d45e:	e8 8e 7e ff ff       	call   0x4052f1
40d463:	84 c0                	test   %al,%al
40d465:	74 3c                	je     0x40d4a3
40d467:	a1 f4 c3 44 00       	mov    0x44c3f4,%eax
40d46c:	ff 30                	push   (%eax)
40d46e:	eb 2a                	jmp    0x40d49a
40d470:	6a 00                	push   $0x0
40d472:	57                   	push   %edi
40d473:	ff 15 f4 a2 42 00    	call   *0x42a2f4
40d479:	eb 28                	jmp    0x40d4a3
40d47b:	a1 f4 c3 44 00       	mov    0x44c3f4,%eax
40d480:	ff 70 04             	push   0x4(%eax)
40d483:	ff 30                	push   (%eax)