4071c0:	52                   	push   %edx
4071c1:	53                   	push   %ebx
4071c2:	57                   	push   %edi
4071c3:	e8 86 09 00 00       	call   0x407b4e
4071c8:	83 c4 10             	add    $0x10,%esp
4071cb:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
4071ce:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4071d1:	8b 75 08             	mov    0x8(%ebp),%esi
4071d4:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4071db:	c7 45 10 00 00 00 00 	movl   $0x0,0x10(%ebp)
4071e2:	e8 0e 00 00 00       	call   0x4071f5
4071e7:	8b c7                	mov    %edi,%eax
4071e9:	e8 07 3c 00 00       	call   0x40adf5
4071ee:	c3                   	ret
4071ef:	8b 7d 0c             	mov    0xc(%ebp),%edi
4071f2:	8b 75 08             	mov    0x8(%ebp),%esi
4071f5:	8b 45 d8             	mov    -0x28(%ebp),%eax
4071f8:	89 47 fc             	mov    %eax,-0x4(%edi)
4071fb:	ff 75 d4             	push   -0x2c(%ebp)
4071fe:	e8 c9 ef ff ff       	call   0x4061cc
407203:	59                   	pop    %ecx
407204:	e8 cd 51 00 00       	call   0x40c3d6
407209:	8b 4d d0             	mov    -0x30(%ebp),%ecx
40720c:	89 88 88 00 00 00    	mov    %ecx,0x88(%eax)
407212:	e8 bf 51 00 00       	call   0x40c3d6
407217:	8b 4d cc             	mov    -0x34(%ebp),%ecx
40721a:	89 88 8c 00 00 00    	mov    %ecx,0x8c(%eax)
407220:	81 3e 63 73 6d e0    	cmpl   $0xe06d7363,(%esi)
407226:	75 48                	jne    0x407270
407228:	83 7e 10 03          	cmpl   $0x3,0x10(%esi)
40722c:	75 42                	jne    0x407270
40722e:	81 7e 14 20 05 93 19 	cmpl   $0x19930520,0x14(%esi)
407235:	74 12                	je     0x407249
407237:	81 7e 14 21 05 93 19 	cmpl   $0x19930521,0x14(%esi)
40723e:	74 09                	je     0x407249
407240:	81 7e 14 22 05 93 19 	cmpl   $0x19930522,0x14(%esi)
407247:	75 27                	jne    0x407270
407249:	8b 7d e4             	mov    -0x1c(%ebp),%edi
40724c:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
407250:	75 21                	jne    0x407273
407252:	85 ff                	test   %edi,%edi
407254:	74 1d                	je     0x407273
407256:	ff 76 18             	push   0x18(%esi)
407259:	e8 be ef ff ff       	call   0x40621c
40725e:	59                   	pop    %ecx
40725f:	85 c0                	test   %eax,%eax
407261:	74 10                	je     0x407273
407263:	ff 75 10             	push   0x10(%ebp)
407266:	56                   	push   %esi
407267:	e8 64 fd ff ff       	call   0x406fd0
40726c:	59                   	pop    %ecx
40726d:	59                   	pop    %ecx
40726e:	eb 03                	jmp    0x407273
407270:	8b 7d e4             	mov    -0x1c(%ebp),%edi
407273:	c3                   	ret
407274:	6a 04                	push   $0x4
407276:	b8 1d 7c 41 00       	mov    $0x417c1d,%eax
40727b:	e8 e2 eb ff ff       	call   0x405e62
407280:	e8 51 51 00 00       	call   0x40c3d6
407285:	83 b8 94 00 00 00 00 	cmpl   $0x0,0x94(%eax)
40728c:	74 05                	je     0x407293
40728e:	e8 79 6b 00 00       	call   0x40de0c
407293:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
407297:	e8 dc 6b 00 00       	call   0x40de78
40729c:	e8 35 51 00 00       	call   0x40c3d6
4072a1:	8b 4d 08             	mov    0x8(%ebp),%ecx
4072a4:	6a 00                	push   $0x0
4072a6:	6a 00                	push   $0x0
4072a8:	89 88 94 00 00 00    	mov    %ecx,0x94(%eax)
4072ae:	e8 c8 ea ff ff       	call   0x405d7b
4072b3:	cc                   	int3
4072b4:	55                   	push   %ebp
4072b5:	8b ec                	mov    %esp,%ebp
4072b7:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
4072bb:	57                   	push   %edi
4072bc:	8b 7d 0c             	mov    0xc(%ebp),%edi
4072bf:	74 12                	je     0x4072d3
4072c1:	ff 75 20             	push   0x20(%ebp)
4072c4:	ff 75 1c             	push   0x1c(%ebp)
4072c7:	57                   	push   %edi
4072c8:	ff 75 08             	push   0x8(%ebp)
4072cb:	e8 1d 06 00 00       	call   0x4078ed
4072d0:	83 c4 10             	add    $0x10,%esp
4072d3:	83 7d 2c 00          	cmpl   $0x0,0x2c(%ebp)
4072d7:	ff 75 08             	push   0x8(%ebp)
4072da:	75 03                	jne    0x4072df
4072dc:	57                   	push   %edi
4072dd:	eb 03                	jmp    0x4072e2
4072df:	ff 75 2c             	push   0x2c(%ebp)
4072e2:	e8 68 ee ff ff       	call   0x40614f
4072e7:	56                   	push   %esi
4072e8:	8b 75 24             	mov    0x24(%ebp),%esi
4072eb:	ff 36                	push   (%esi)
4072ed:	ff 75 18             	push   0x18(%ebp)
4072f0:	ff 75 14             	push   0x14(%ebp)
4072f3:	57                   	push   %edi
4072f4:	e8 55 08 00 00       	call   0x407b4e
4072f9:	8b 46 04             	mov    0x4(%esi),%eax
4072fc:	68 00 01 00 00       	push   $0x100
407301:	ff 75 28             	push   0x28(%ebp)
407304:	40                   	inc    %eax
407305:	89 47 08             	mov    %eax,0x8(%edi)
407308:	8b 45 1c             	mov    0x1c(%ebp),%eax
40730b:	ff 70 0c             	push   0xc(%eax)
40730e:	ff 75 18             	push   0x18(%ebp)
407311:	ff 75 10             	push   0x10(%ebp)
407314:	57                   	push   %edi
407315:	ff 75 08             	push   0x8(%ebp)
407318:	e8 89 fd ff ff       	call   0x4070a6
40731d:	83 c4 2c             	add    $0x2c,%esp
407320:	5e                   	pop    %esi
407321:	85 c0                	test   %eax,%eax
407323:	74 07                	je     0x40732c
407325:	57                   	push   %edi
407326:	50                   	push   %eax
407327:	e8 f3 ed ff ff       	call   0x40611f
40732c:	5f                   	pop    %edi
40732d:	5d                   	pop    %ebp
40732e:	c3                   	ret
40732f:	55                   	push   %ebp
407330:	8b ec                	mov    %esp,%ebp
407332:	8b 45 08             	mov    0x8(%ebp),%eax
407335:	8b 00                	mov    (%eax),%eax
407337:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
40733d:	75 39                	jne    0x407378
40733f:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
407343:	75 33                	jne    0x407378
407345:	81 78 14 20 05 93 19 	cmpl   $0x19930520,0x14(%eax)
40734c:	74 12                	je     0x407360
40734e:	81 78 14 21 05 93 19 	cmpl   $0x19930521,0x14(%eax)
407355:	74 09                	je     0x407360
407357:	81 78 14 22 05 93 19 	cmpl   $0x19930522,0x14(%eax)
40735e:	75 18                	jne    0x407378
407360:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
407364:	75 12                	jne    0x407378
407366:	e8 6b 50 00 00       	call   0x40c3d6
40736b:	33 c9                	xor    %ecx,%ecx
40736d:	41                   	inc    %ecx
40736e:	89 88 ac 03 00 00    	mov    %ecx,0x3ac(%eax)
407374:	8b c1                	mov    %ecx,%eax
407376:	5d                   	pop    %ebp
407377:	c3                   	ret
407378:	33 c0                	xor    %eax,%eax
40737a:	5d                   	pop    %ebp
40737b:	c3                   	ret
40737c:	55                   	push   %ebp
40737d:	8b ec                	mov    %esp,%ebp
40737f:	83 ec 3c             	sub    $0x3c,%esp
407382:	8b 45 0c             	mov    0xc(%ebp),%eax
407385:	53                   	push   %ebx
407386:	56                   	push   %esi
407387:	57                   	push   %edi
407388:	8b 7d 18             	mov    0x18(%ebp),%edi
40738b:	33 db                	xor    %ebx,%ebx
40738d:	81 7f 04 80 00 00 00 	cmpl   $0x80,0x4(%edi)
407394:	88 5d dc             	mov    %bl,-0x24(%ebp)
407397:	88 5d ff             	mov    %bl,-0x1(%ebp)
40739a:	7f 06                	jg     0x4073a2
40739c:	0f be 40 08          	movsbl 0x8(%eax),%eax
4073a0:	eb 03                	jmp    0x4073a5
4073a2:	8b 40 08             	mov    0x8(%eax),%eax
4073a5:	89 45 f8             	mov    %eax,-0x8(%ebp)
4073a8:	83 f8 ff             	cmp    $0xffffffff,%eax
4073ab:	7c 05                	jl     0x4073b2
4073ad:	3b 47 04             	cmp    0x4(%edi),%eax
4073b0:	7c 05                	jl     0x4073b7
4073b2:	e8 55 6a 00 00       	call   0x40de0c
4073b7:	8b 75 08             	mov    0x8(%ebp),%esi
4073ba:	81 3e 63 73 6d e0    	cmpl   $0xe06d7363,(%esi)
4073c0:	0f 85 ba 02 00 00    	jne    0x407680
4073c6:	83 7e 10 03          	cmpl   $0x3,0x10(%esi)
4073ca:	0f 85 0d 01 00 00    	jne    0x4074dd
4073d0:	81 7e 14 20 05 93 19 	cmpl   $0x19930520,0x14(%esi)
4073d7:	74 16                	je     0x4073ef
4073d9:	81 7e 14 21 05 93 19 	cmpl   $0x19930521,0x14(%esi)
4073e0:	74 0d                	je     0x4073ef
4073e2:	81 7e 14 22 05 93 19 	cmpl   $0x19930522,0x14(%esi)
4073e9:	0f 85 ee 00 00 00    	jne    0x4074dd
4073ef:	39 5e 1c             	cmp    %ebx,0x1c(%esi)
4073f2:	0f 85 e5 00 00 00    	jne    0x4074dd
4073f8:	e8 d9 4f 00 00       	call   0x40c3d6
4073fd:	39 98 88 00 00 00    	cmp    %ebx,0x88(%eax)
407403:	0f 84 b0 02 00 00    	je     0x4076b9
407409:	e8 c8 4f 00 00       	call   0x40c3d6
40740e:	8b b0 88 00 00 00    	mov    0x88(%eax),%esi
407414:	e8 bd 4f 00 00       	call   0x40c3d6
407419:	8b 80 8c 00 00 00    	mov    0x8c(%eax),%eax
40741f:	6a 01                	push   $0x1
407421:	56                   	push   %esi
407422:	89 45 08             	mov    %eax,0x8(%ebp)
407425:	c6 45 dc 01          	movb   $0x1,-0x24(%ebp)
407429:	e8 ec 7e 00 00       	call   0x40f31a
40742e:	59                   	pop    %ecx
40742f:	59                   	pop    %ecx
407430:	85 c0                	test   %eax,%eax
407432:	75 05                	jne    0x407439
407434:	e8 d3 69 00 00       	call   0x40de0c
407439:	81 3e 63 73 6d e0    	cmpl   $0xe06d7363,(%esi)
40743f:	75 2b                	jne    0x40746c
407441:	83 7e 10 03          	cmpl   $0x3,0x10(%esi)
407445:	75 25                	jne    0x40746c
407447:	81 7e 14 20 05 93 19 	cmpl   $0x19930520,0x14(%esi)
40744e:	74 12                	je     0x407462
407450:	81 7e 14 21 05 93 19 	cmpl   $0x19930521,0x14(%esi)
407457:	74 09                	je     0x407462
407459:	81 7e 14 22 05 93 19 	cmpl   $0x19930522,0x14(%esi)
407460:	75 0a                	jne    0x40746c
407462:	39 5e 1c             	cmp    %ebx,0x1c(%esi)
407465:	75 05                	jne    0x40746c
407467:	e8 a0 69 00 00       	call   0x40de0c
40746c:	e8 65 4f 00 00       	call   0x40c3d6
407471:	39 98 94 00 00 00    	cmp    %ebx,0x94(%eax)
407477:	74 6c                	je     0x4074e5
407479:	e8 58 4f 00 00       	call   0x40c3d6
40747e:	8b 80 94 00 00 00    	mov    0x94(%eax),%eax
407484:	89 45 ec             	mov    %eax,-0x14(%ebp)
407487:	e8 4a 4f 00 00       	call   0x40c3d6
40748c:	ff 75 ec             	push   -0x14(%ebp)
40748f:	89 98 94 00 00 00    	mov    %ebx,0x94(%eax)
407495:	56                   	push   %esi
407496:	e8 96 03 00 00       	call   0x407831
40749b:	59                   	pop    %ecx
40749c:	59                   	pop    %ecx
40749d:	84 c0                	test   %al,%al
40749f:	75 44                	jne    0x4074e5
4074a1:	8b 7d ec             	mov    -0x14(%ebp),%edi
4074a4:	39 1f                	cmp    %ebx,(%edi)
4074a6:	0f 8e 12 02 00 00    	jle    0x4076be
4074ac:	8b c3                	mov    %ebx,%eax
4074ae:	89 5d 18             	mov    %ebx,0x18(%ebp)
4074b1:	8b 4f 04             	mov    0x4(%edi),%ecx
4074b4:	68 d0 05 42 00       	push   $0x4205d0
4074b9:	8b 4c 08 04          	mov    0x4(%eax,%ecx,1),%ecx
4074bd:	e8 49 da ff ff       	call   0x404f0b
4074c2:	84 c0                	test   %al,%al
4074c4:	0f 85 f9 01 00 00    	jne    0x4076c3
4074ca:	8b 45 18             	mov    0x18(%ebp),%eax
4074cd:	43                   	inc    %ebx
4074ce:	83 c0 10             	add    $0x10,%eax
4074d1:	89 45 18             	mov    %eax,0x18(%ebp)
4074d4:	3b 1f                	cmp    (%edi),%ebx
4074d6:	7c d9                	jl     0x4074b1
4074d8:	e9 e1 01 00 00       	jmp    0x4076be
4074dd:	8b 45 10             	mov    0x10(%ebp),%eax
4074e0:	89 45 08             	mov    %eax,0x8(%ebp)
4074e3:	eb 03                	jmp    0x4074e8
4074e5:	8b 45 08             	mov    0x8(%ebp),%eax
4074e8:	81 3e 63 73 6d e0    	cmpl   $0xe06d7363,(%esi)
4074ee:	0f 85 8f 01 00 00    	jne    0x407683
4074f4:	83 7e 10 03          	cmpl   $0x3,0x10(%esi)
4074f8:	0f 85 85 01 00 00    	jne    0x407683
4074fe:	81 7e 14 20 05 93 19 	cmpl   $0x19930520,0x14(%esi)
407505:	74 16                	je     0x40751d
407507:	81 7e 14 21 05 93 19 	cmpl   $0x19930521,0x14(%esi)
40750e:	74 0d                	je     0x40751d
407510:	81 7e 14 22 05 93 19 	cmpl   $0x19930522,0x14(%esi)
407517:	0f 85 66 01 00 00    	jne    0x407683
40751d:	39 5f 0c             	cmp    %ebx,0xc(%edi)
407520:	0f 86 f2 00 00 00    	jbe    0x407618
407526:	8d 45 d8             	lea    -0x28(%ebp),%eax
407529:	50                   	push   %eax
40752a:	8d 45 f0             	lea    -0x10(%ebp),%eax
40752d:	50                   	push   %eax
40752e:	ff 75 f8             	push   -0x8(%ebp)
407531:	ff 75 20             	push   0x20(%ebp)
407534:	57                   	push   %edi
407535:	e8 66 eb ff ff       	call   0x4060a0
40753a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40753d:	83 c4 14             	add    $0x14,%esp
407540:	3b 4d d8             	cmp    -0x28(%ebp),%ecx
407543:	0f 83 cf 00 00 00    	jae    0x407618
407549:	8d 50 10             	lea    0x10(%eax),%edx
40754c:	8b 45 f8             	mov    -0x8(%ebp),%eax
40754f:	89 55 ec             	mov    %edx,-0x14(%ebp)
407552:	8d 5a f0             	lea    -0x10(%edx),%ebx
407555:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
407558:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40755b:	39 42 f0             	cmp    %eax,-0x10(%edx)
40755e:	0f 8f 9f 00 00 00    	jg     0x407603
407564:	3b 42 f4             	cmp    -0xc(%edx),%eax
407567:	0f 8f 96 00 00 00    	jg     0x407603
40756d:	8b 3a                	mov    (%edx),%edi
40756f:	89 7d f4             	mov    %edi,-0xc(%ebp)
407572:	8b 7a fc             	mov    -0x4(%edx),%edi
407575:	89 7d e0             	mov    %edi,-0x20(%ebp)
407578:	85 ff                	test   %edi,%edi
40757a:	8b 7d 18             	mov    0x18(%ebp),%edi
40757d:	0f 8e 80 00 00 00    	jle    0x407603
407583:	8b 4d f4             	mov    -0xc(%ebp),%ecx
407586:	8b 46 1c             	mov    0x1c(%esi),%eax
407589:	8b 40 0c             	mov    0xc(%eax),%eax
40758c:	8d 50 04             	lea    0x4(%eax),%edx
40758f:	8b 00                	mov    (%eax),%eax
407591:	eb 23                	jmp    0x4075b6
407593:	ff 76 1c             	push   0x1c(%esi)
407596:	8b 02                	mov    (%edx),%eax
407598:	50                   	push   %eax
407599:	51                   	push   %ecx
40759a:	89 45 d0             	mov    %eax,-0x30(%ebp)
40759d:	e8 64 07 00 00       	call   0x407d06
4075a2:	83 c4 0c             	add    $0xc,%esp
4075a5:	85 c0                	test   %eax,%eax
4075a7:	75 2a                	jne    0x4075d3
4075a9:	8b 45 e8             	mov    -0x18(%ebp),%eax
4075ac:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4075af:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4075b2:	48                   	dec    %eax
4075b3:	83 c2 04             	add    $0x4,%edx
4075b6:	89 45 e8             	mov    %eax,-0x18(%ebp)
4075b9:	89 55 e4             	mov    %edx,-0x1c(%ebp)
4075bc:	85 c0                	test   %eax,%eax
4075be:	7f d3                	jg     0x407593
4075c0:	8b 45 e0             	mov    -0x20(%ebp),%eax
4075c3:	48                   	dec    %eax
4075c4:	83 c1 10             	add    $0x10,%ecx
4075c7:	89 45 e0             	mov    %eax,-0x20(%ebp)
4075ca:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4075cd:	85 c0                	test   %eax,%eax
4075cf:	7f b5                	jg     0x407586
4075d1:	eb 27                	jmp    0x4075fa
4075d3:	ff 75 dc             	push   -0x24(%ebp)
4075d6:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
4075da:	ff 75 24             	push   0x24(%ebp)
4075dd:	ff 75 20             	push   0x20(%ebp)
4075e0:	ff 75 d4             	push   -0x2c(%ebp)
4075e3:	ff 75 d0             	push   -0x30(%ebp)
4075e6:	ff 75 f4             	push   -0xc(%ebp)
4075e9:	57                   	push   %edi
4075ea:	ff 75 14             	push   0x14(%ebp)
4075ed:	ff 75 08             	push   0x8(%ebp)
4075f0:	53                   	push   %ebx
4075f1:	56                   	push   %esi
4075f2:	e8 bd fc ff ff       	call   0x4072b4
4075f7:	83 c4 2c             	add    $0x2c,%esp
4075fa:	8b 55 ec             	mov    -0x14(%ebp),%edx
4075fd:	8b 45 f8             	mov    -0x8(%ebp),%eax
407600:	8b 4d f0             	mov    -0x10(%ebp),%ecx
407603:	41                   	inc    %ecx
407604:	83 c2 14             	add    $0x14,%edx
407607:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40760a:	89 55 ec             	mov    %edx,-0x14(%ebp)
40760d:	3b 4d d8             	cmp    -0x28(%ebp),%ecx
407610:	0f 82 3c ff ff ff    	jb     0x407552
407616:	33 db                	xor    %ebx,%ebx
407618:	80 7d 1c 00          	cmpb   $0x0,0x1c(%ebp)
40761c:	74 0a                	je     0x407628
40761e:	6a 01                	push   $0x1
407620:	56                   	push   %esi
407621:	e8 aa f9 ff ff       	call   0x406fd0
407626:	59                   	pop    %ecx