409180:	8b 86 d0 00 00 00    	mov    0xd0(%esi),%eax
409186:	2b c7                	sub    %edi,%eax
409188:	50                   	push   %eax
409189:	e8 c5 d2 ff ff       	call   0x406453
40918e:	ff b6 c0 00 00 00    	push   0xc0(%esi)
409194:	e8 ba d2 ff ff       	call   0x406453
409199:	83 c4 10             	add    $0x10,%esp
40919c:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40919f:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
4091a5:	89 86 c0 00 00 00    	mov    %eax,0xc0(%esi)
4091ab:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4091ae:	89 86 c8 00 00 00    	mov    %eax,0xc8(%esi)
4091b4:	8b 45 c8             	mov    -0x38(%ebp),%eax
4091b7:	89 86 c4 00 00 00    	mov    %eax,0xc4(%esi)
4091bd:	8b 45 c0             	mov    -0x40(%ebp),%eax
4091c0:	89 86 cc 00 00 00    	mov    %eax,0xcc(%esi)
4091c6:	8b 45 cc             	mov    -0x34(%ebp),%eax
4091c9:	89 86 d0 00 00 00    	mov    %eax,0xd0(%esi)
4091cf:	8b 45 d0             	mov    -0x30(%ebp),%eax
4091d2:	89 86 ac 00 00 00    	mov    %eax,0xac(%esi)
4091d8:	ff 75 e0             	push   -0x20(%ebp)
4091db:	e8 73 d2 ff ff       	call   0x406453
4091e0:	59                   	pop    %ecx
4091e1:	8b c3                	mov    %ebx,%eax
4091e3:	eb 6d                	jmp    0x409252
4091e5:	ff 75 d4             	push   -0x2c(%ebp)
4091e8:	e8 66 d2 ff ff       	call   0x406453
4091ed:	ff 75 dc             	push   -0x24(%ebp)
4091f0:	e8 5e d2 ff ff       	call   0x406453
4091f5:	ff 75 e4             	push   -0x1c(%ebp)
4091f8:	e8 56 d2 ff ff       	call   0x406453
4091fd:	ff 75 d8             	push   -0x28(%ebp)
409200:	e8 4e d2 ff ff       	call   0x406453
409205:	33 db                	xor    %ebx,%ebx
409207:	83 c4 10             	add    $0x10,%esp
40920a:	43                   	inc    %ebx
40920b:	eb cb                	jmp    0x4091d8
40920d:	8d be c0 00 00 00    	lea    0xc0(%esi),%edi
409213:	8b 07                	mov    (%edi),%eax
409215:	3b c3                	cmp    %ebx,%eax
409217:	74 07                	je     0x409220
409219:	50                   	push   %eax
40921a:	ff 15 98 70 41 00    	call   *0x417098
409220:	89 1f                	mov    %ebx,(%edi)
409222:	89 9e c4 00 00 00    	mov    %ebx,0xc4(%esi)
409228:	c7 86 c8 00 00 00 90 	movl   $0x417790,0xc8(%esi)
40922f:	77 41 00
409232:	c7 86 cc 00 00 00 18 	movl   $0x417c18,0xcc(%esi)
409239:	7c 41 00
40923c:	c7 86 d0 00 00 00 98 	movl   $0x417d98,0xd0(%esi)
409243:	7d 41 00
409246:	c7 86 ac 00 00 00 01 	movl   $0x1,0xac(%esi)
40924d:	00 00 00
409250:	33 c0                	xor    %eax,%eax
409252:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409255:	5f                   	pop    %edi
409256:	5e                   	pop    %esi
409257:	33 cd                	xor    %ebp,%ecx
409259:	5b                   	pop    %ebx
40925a:	e8 d6 cc ff ff       	call   0x405f35
40925f:	c9                   	leave
409260:	c3                   	ret
409261:	e8 e6 32 00 00       	call   0x40c54c
409266:	8b c8                	mov    %eax,%ecx
409268:	8b 41 6c             	mov    0x6c(%ecx),%eax
40926b:	3b 05 20 d2 41 00    	cmp    0x41d220,%eax
409271:	74 10                	je     0x409283
409273:	8b 15 38 d1 41 00    	mov    0x41d138,%edx
409279:	85 51 70             	test   %edx,0x70(%ecx)
40927c:	75 05                	jne    0x409283
40927e:	e8 6f 04 00 00       	call   0x4096f2
409283:	8b 80 ac 00 00 00    	mov    0xac(%eax),%eax
409289:	c3                   	ret
40928a:	8b 44 24 04          	mov    0x4(%esp),%eax
40928e:	85 c0                	test   %eax,%eax
409290:	75 05                	jne    0x409297
409292:	e9 ca ff ff ff       	jmp    0x409261
409297:	8b 00                	mov    (%eax),%eax
409299:	8b 80 ac 00 00 00    	mov    0xac(%eax),%eax
40929f:	c3                   	ret
4092a0:	e8 a7 32 00 00       	call   0x40c54c
4092a5:	8b c8                	mov    %eax,%ecx
4092a7:	8b 41 6c             	mov    0x6c(%ecx),%eax
4092aa:	3b 05 20 d2 41 00    	cmp    0x41d220,%eax
4092b0:	74 10                	je     0x4092c2
4092b2:	8b 15 38 d1 41 00    	mov    0x41d138,%edx
4092b8:	85 51 70             	test   %edx,0x70(%ecx)
4092bb:	75 05                	jne    0x4092c2
4092bd:	e8 30 04 00 00       	call   0x4096f2
4092c2:	8b 40 04             	mov    0x4(%eax),%eax
4092c5:	c3                   	ret
4092c6:	e8 81 32 00 00       	call   0x40c54c
4092cb:	8b c8                	mov    %eax,%ecx
4092cd:	8b 41 6c             	mov    0x6c(%ecx),%eax
4092d0:	3b 05 20 d2 41 00    	cmp    0x41d220,%eax
4092d6:	74 10                	je     0x4092e8
4092d8:	8b 15 38 d1 41 00    	mov    0x41d138,%edx
4092de:	85 51 70             	test   %edx,0x70(%ecx)
4092e1:	75 05                	jne    0x4092e8
4092e3:	e8 0a 04 00 00       	call   0x4096f2
4092e8:	83 c0 0c             	add    $0xc,%eax
4092eb:	c3                   	ret
4092ec:	56                   	push   %esi
4092ed:	57                   	push   %edi
4092ee:	33 f6                	xor    %esi,%esi
4092f0:	ff 74 24 0c          	push   0xc(%esp)
4092f4:	e8 56 1a 00 00       	call   0x40ad4f
4092f9:	8b f8                	mov    %eax,%edi
4092fb:	85 ff                	test   %edi,%edi
4092fd:	59                   	pop    %ecx
4092fe:	75 27                	jne    0x409327
409300:	39 05 00 da 41 00    	cmp    %eax,0x41da00
409306:	76 1f                	jbe    0x409327
409308:	56                   	push   %esi
409309:	ff 15 78 70 41 00    	call   *0x417078
40930f:	8d 86 e8 03 00 00    	lea    0x3e8(%esi),%eax
409315:	3b 05 00 da 41 00    	cmp    0x41da00,%eax
40931b:	76 03                	jbe    0x409320
40931d:	83 c8 ff             	or     $0xffffffff,%eax
409320:	83 f8 ff             	cmp    $0xffffffff,%eax
409323:	8b f0                	mov    %eax,%esi
409325:	75 c9                	jne    0x4092f0
409327:	8b c7                	mov    %edi,%eax
409329:	5f                   	pop    %edi
40932a:	5e                   	pop    %esi
40932b:	c3                   	ret
40932c:	56                   	push   %esi
40932d:	57                   	push   %edi
40932e:	33 f6                	xor    %esi,%esi
409330:	6a 00                	push   $0x0
409332:	ff 74 24 14          	push   0x14(%esp)
409336:	ff 74 24 14          	push   0x14(%esp)
40933a:	e8 4f 77 00 00       	call   0x410a8e
40933f:	8b f8                	mov    %eax,%edi
409341:	83 c4 0c             	add    $0xc,%esp
409344:	85 ff                	test   %edi,%edi
409346:	75 27                	jne    0x40936f
409348:	39 05 00 da 41 00    	cmp    %eax,0x41da00
40934e:	76 1f                	jbe    0x40936f
409350:	56                   	push   %esi
409351:	ff 15 78 70 41 00    	call   *0x417078
409357:	8d 86 e8 03 00 00    	lea    0x3e8(%esi),%eax
40935d:	3b 05 00 da 41 00    	cmp    0x41da00,%eax
409363:	76 03                	jbe    0x409368
409365:	83 c8 ff             	or     $0xffffffff,%eax
409368:	83 f8 ff             	cmp    $0xffffffff,%eax
40936b:	8b f0                	mov    %eax,%esi
40936d:	75 c1                	jne    0x409330
40936f:	8b c7                	mov    %edi,%eax
409371:	5f                   	pop    %edi
409372:	5e                   	pop    %esi
409373:	c3                   	ret
409374:	56                   	push   %esi
409375:	57                   	push   %edi
409376:	33 f6                	xor    %esi,%esi
409378:	ff 74 24 10          	push   0x10(%esp)
40937c:	ff 74 24 10          	push   0x10(%esp)
409380:	e8 27 78 00 00       	call   0x410bac
409385:	8b f8                	mov    %eax,%edi
409387:	85 ff                	test   %edi,%edi
409389:	59                   	pop    %ecx
40938a:	59                   	pop    %ecx
40938b:	75 2d                	jne    0x4093ba
40938d:	39 44 24 10          	cmp    %eax,0x10(%esp)
409391:	74 27                	je     0x4093ba
409393:	39 05 00 da 41 00    	cmp    %eax,0x41da00
409399:	76 1f                	jbe    0x4093ba
40939b:	56                   	push   %esi
40939c:	ff 15 78 70 41 00    	call   *0x417078
4093a2:	8d 86 e8 03 00 00    	lea    0x3e8(%esi),%eax
4093a8:	3b 05 00 da 41 00    	cmp    0x41da00,%eax
4093ae:	76 03                	jbe    0x4093b3
4093b0:	83 c8 ff             	or     $0xffffffff,%eax
4093b3:	83 f8 ff             	cmp    $0xffffffff,%eax
4093b6:	8b f0                	mov    %eax,%esi
4093b8:	75 be                	jne    0x409378
4093ba:	8b c7                	mov    %edi,%eax
4093bc:	5f                   	pop    %edi
4093bd:	5e                   	pop    %esi
4093be:	c3                   	ret
4093bf:	8b 44 24 04          	mov    0x4(%esp),%eax
4093c3:	33 c9                	xor    %ecx,%ecx
4093c5:	3b 04 cd f0 c7 41 00 	cmp    0x41c7f0(,%ecx,8),%eax
4093cc:	74 12                	je     0x4093e0
4093ce:	41                   	inc    %ecx
4093cf:	83 f9 2d             	cmp    $0x2d,%ecx
4093d2:	7c f1                	jl     0x4093c5
4093d4:	8d 48 ed             	lea    -0x13(%eax),%ecx
4093d7:	83 f9 11             	cmp    $0x11,%ecx
4093da:	77 0c                	ja     0x4093e8
4093dc:	6a 0d                	push   $0xd
4093de:	58                   	pop    %eax
4093df:	c3                   	ret
4093e0:	8b 04 cd f4 c7 41 00 	mov    0x41c7f4(,%ecx,8),%eax
4093e7:	c3                   	ret
4093e8:	05 44 ff ff ff       	add    $0xffffff44,%eax
4093ed:	6a 0e                	push   $0xe
4093ef:	59                   	pop    %ecx
4093f0:	3b c8                	cmp    %eax,%ecx
4093f2:	1b c0                	sbb    %eax,%eax
4093f4:	23 c1                	and    %ecx,%eax
4093f6:	83 c0 08             	add    $0x8,%eax
4093f9:	c3                   	ret
4093fa:	e8 ca 30 00 00       	call   0x40c4c9
4093ff:	85 c0                	test   %eax,%eax
409401:	75 06                	jne    0x409409
409403:	b8 58 c9 41 00       	mov    $0x41c958,%eax
409408:	c3                   	ret
409409:	83 c0 08             	add    $0x8,%eax
40940c:	c3                   	ret
40940d:	e8 b7 30 00 00       	call   0x40c4c9
409412:	85 c0                	test   %eax,%eax
409414:	75 06                	jne    0x40941c
409416:	b8 5c c9 41 00       	mov    $0x41c95c,%eax
40941b:	c3                   	ret
40941c:	83 c0 0c             	add    $0xc,%eax
40941f:	c3                   	ret
409420:	56                   	push   %esi
409421:	e8 e7 ff ff ff       	call   0x40940d
409426:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40942a:	51                   	push   %ecx
40942b:	89 08                	mov    %ecx,(%eax)
40942d:	e8 8d ff ff ff       	call   0x4093bf
409432:	59                   	pop    %ecx
409433:	8b f0                	mov    %eax,%esi
409435:	e8 c0 ff ff ff       	call   0x4093fa
40943a:	89 30                	mov    %esi,(%eax)
40943c:	5e                   	pop    %esi
40943d:	c3                   	ret
40943e:	53                   	push   %ebx
40943f:	55                   	push   %ebp
409440:	56                   	push   %esi
409441:	8b 74 24 10          	mov    0x10(%esp),%esi
409445:	8b 86 bc 00 00 00    	mov    0xbc(%esi),%eax
40944b:	33 ed                	xor    %ebp,%ebp
40944d:	3b c5                	cmp    %ebp,%eax
40944f:	57                   	push   %edi
409450:	74 6f                	je     0x4094c1
409452:	3d f0 d2 41 00       	cmp    $0x41d2f0,%eax
409457:	74 68                	je     0x4094c1
409459:	8b 86 b0 00 00 00    	mov    0xb0(%esi),%eax
40945f:	3b c5                	cmp    %ebp,%eax
409461:	74 5e                	je     0x4094c1
409463:	39 28                	cmp    %ebp,(%eax)
409465:	75 5a                	jne    0x4094c1
409467:	8b 86 b8 00 00 00    	mov    0xb8(%esi),%eax
40946d:	3b c5                	cmp    %ebp,%eax
40946f:	74 17                	je     0x409488
409471:	39 28                	cmp    %ebp,(%eax)
409473:	75 13                	jne    0x409488
409475:	50                   	push   %eax
409476:	e8 d8 cf ff ff       	call   0x406453
40947b:	ff b6 bc 00 00 00    	push   0xbc(%esi)
409481:	e8 65 81 00 00       	call   0x4115eb
409486:	59                   	pop    %ecx
409487:	59                   	pop    %ecx
409488:	8b 86 b4 00 00 00    	mov    0xb4(%esi),%eax
40948e:	3b c5                	cmp    %ebp,%eax
409490:	74 17                	je     0x4094a9
409492:	39 28                	cmp    %ebp,(%eax)
409494:	75 13                	jne    0x4094a9
409496:	50                   	push   %eax
409497:	e8 b7 cf ff ff       	call   0x406453
40949c:	ff b6 bc 00 00 00    	push   0xbc(%esi)
4094a2:	e8 3c 7f 00 00       	call   0x4113e3
4094a7:	59                   	pop    %ecx
4094a8:	59                   	pop    %ecx
4094a9:	ff b6 b0 00 00 00    	push   0xb0(%esi)
4094af:	e8 9f cf ff ff       	call   0x406453
4094b4:	ff b6 bc 00 00 00    	push   0xbc(%esi)
4094ba:	e8 94 cf ff ff       	call   0x406453
4094bf:	59                   	pop    %ecx
4094c0:	59                   	pop    %ecx
4094c1:	8b 86 c0 00 00 00    	mov    0xc0(%esi),%eax
4094c7:	3b c5                	cmp    %ebp,%eax
4094c9:	74 44                	je     0x40950f
4094cb:	39 28                	cmp    %ebp,(%eax)
4094cd:	75 40                	jne    0x40950f
4094cf:	8b 86 c4 00 00 00    	mov    0xc4(%esi),%eax
4094d5:	2d fe 00 00 00       	sub    $0xfe,%eax
4094da:	50                   	push   %eax
4094db:	e8 73 cf ff ff       	call   0x406453
4094e0:	8b 86 cc 00 00 00    	mov    0xcc(%esi),%eax
4094e6:	bf 80 00 00 00       	mov    $0x80,%edi
4094eb:	2b c7                	sub    %edi,%eax
4094ed:	50                   	push   %eax
4094ee:	e8 60 cf ff ff       	call   0x406453
4094f3:	8b 86 d0 00 00 00    	mov    0xd0(%esi),%eax
4094f9:	2b c7                	sub    %edi,%eax
4094fb:	50                   	push   %eax
4094fc:	e8 52 cf ff ff       	call   0x406453
409501:	ff b6 c0 00 00 00    	push   0xc0(%esi)
409507:	e8 47 cf ff ff       	call   0x406453
40950c:	83 c4 10             	add    $0x10,%esp
40950f:	8d be d4 00 00 00    	lea    0xd4(%esi),%edi
409515:	8b 07                	mov    (%edi),%eax
409517:	3d 30 d2 41 00       	cmp    $0x41d230,%eax
40951c:	74 17                	je     0x409535
40951e:	39 a8 b4 00 00 00    	cmp    %ebp,0xb4(%eax)
409524:	75 0f                	jne    0x409535
409526:	50                   	push   %eax
409527:	e8 b4 7c 00 00       	call   0x4111e0
40952c:	ff 37                	push   (%edi)
40952e:	e8 20 cf ff ff       	call   0x406453
409533:	59                   	pop    %ecx
409534:	59                   	pop    %ecx
409535:	6a 06                	push   $0x6
409537:	8d 7e 50             	lea    0x50(%esi),%edi
40953a:	5b                   	pop    %ebx
40953b:	81 7f f8 40 d1 41 00 	cmpl   $0x41d140,-0x8(%edi)
409542:	74 11                	je     0x409555
409544:	8b 07                	mov    (%edi),%eax
409546:	3b c5                	cmp    %ebp,%eax
409548:	74 0b                	je     0x409555
40954a:	39 28                	cmp    %ebp,(%eax)
40954c:	75 07                	jne    0x409555
40954e:	50                   	push   %eax
40954f:	e8 ff ce ff ff       	call   0x406453
409554:	59                   	pop    %ecx
409555:	39 6f fc             	cmp    %ebp,-0x4(%edi)
409558:	74 12                	je     0x40956c
40955a:	8b 47 04             	mov    0x4(%edi),%eax
40955d:	3b c5                	cmp    %ebp,%eax
40955f:	74 0b                	je     0x40956c
409561:	39 28                	cmp    %ebp,(%eax)
409563:	75 07                	jne    0x40956c
409565:	50                   	push   %eax
409566:	e8 e8 ce ff ff       	call   0x406453
40956b:	59                   	pop    %ecx
40956c:	83 c7 10             	add    $0x10,%edi
40956f:	4b                   	dec    %ebx
409570:	75 c9                	jne    0x40953b
409572:	56                   	push   %esi
409573:	e8 db ce ff ff       	call   0x406453
409578:	59                   	pop    %ecx
409579:	5f                   	pop    %edi
40957a:	5e                   	pop    %esi
40957b:	5d                   	pop    %ebp
40957c:	5b                   	pop    %ebx
40957d:	c3                   	ret
40957e:	53                   	push   %ebx
40957f:	55                   	push   %ebp
409580:	56                   	push   %esi
409581:	8b 74 24 10          	mov    0x10(%esp),%esi
409585:	57                   	push   %edi
409586:	8b 3d 94 70 41 00    	mov    0x417094,%edi
40958c:	56                   	push   %esi
40958d:	ff d7                	call   *%edi
40958f:	8b 86 b0 00 00 00    	mov    0xb0(%esi),%eax
409595:	85 c0                	test   %eax,%eax