96a566:	8d 45 ec             	lea    -0x14(%ebp),%eax
96a569:	56                   	push   %esi
96a56a:	57                   	push   %edi
96a56b:	50                   	push   %eax
96a56c:	ff 75 08             	push   0x8(%ebp)
96a56f:	8b f1                	mov    %ecx,%esi
96a571:	ff 75 10             	push   0x10(%ebp)
96a574:	e8 19 3b ab ff       	call   0x41e092
96a579:	33 ff                	xor    %edi,%edi
96a57b:	8b ce                	mov    %esi,%ecx
96a57d:	47                   	inc    %edi
96a57e:	57                   	push   %edi
96a57f:	50                   	push   %eax
96a580:	89 78 10             	mov    %edi,0x10(%eax)
96a583:	e8 7e 16 ac ff       	call   0x42bc06
96a588:	8b 4d 0c             	mov    0xc(%ebp),%ecx
96a58b:	83 60 1c 00          	andl   $0x0,0x1c(%eax)
96a58f:	89 78 14             	mov    %edi,0x14(%eax)
96a592:	5f                   	pop    %edi
96a593:	89 48 18             	mov    %ecx,0x18(%eax)
96a596:	5e                   	pop    %esi
96a597:	8b e5                	mov    %ebp,%esp
96a599:	5d                   	pop    %ebp
96a59a:	c2 0c 00             	ret    $0xc
96a59d:	cc                   	int3
96a59e:	cc                   	int3
96a59f:	cc                   	int3
96a5a0:	cc                   	int3
96a5a1:	cc                   	int3
96a5a2:	cc                   	int3
96a5a3:	cc                   	int3
96a5a4:	cc                   	int3
96a5a5:	cc                   	int3
96a5a6:	cc                   	int3
96a5a7:	cc                   	int3
96a5a8:	cc                   	int3
96a5a9:	cc                   	int3
96a5aa:	cc                   	int3
96a5ab:	cc                   	int3
96a5ac:	6a 04                	push   $0x4
96a5ae:	b8 44 bd ba 00       	mov    $0xbabd44,%eax
96a5b3:	e8 d3 fc a9 ff       	call   0x40a28b
96a5b8:	6a 14                	push   $0x14
96a5ba:	e8 3e f7 ab ff       	call   0x429cfd
96a5bf:	8b c8                	mov    %eax,%ecx
96a5c1:	89 4d f0             	mov    %ecx,-0x10(%ebp)
96a5c4:	33 c0                	xor    %eax,%eax
96a5c6:	89 45 fc             	mov    %eax,-0x4(%ebp)
96a5c9:	85 c9                	test   %ecx,%ecx
96a5cb:	74 05                	je     0x96a5d2
96a5cd:	e8 44 14 ad ff       	call   0x43ba16
96a5d2:	e8 40 3e aa ff       	call   0x40e417
96a5d7:	c3                   	ret
96a5d8:	cc                   	int3
96a5d9:	cc                   	int3
96a5da:	cc                   	int3
96a5db:	cc                   	int3
96a5dc:	cc                   	int3
96a5dd:	cc                   	int3
96a5de:	cc                   	int3
96a5df:	cc                   	int3
96a5e0:	cc                   	int3
96a5e1:	cc                   	int3
96a5e2:	cc                   	int3
96a5e3:	55                   	push   %ebp
96a5e4:	8b ec                	mov    %esp,%ebp
96a5e6:	8b 45 18             	mov    0x18(%ebp),%eax
96a5e9:	83 20 00             	andl   $0x0,(%eax)
96a5ec:	b8 03 00 04 80       	mov    $0x80040003,%eax
96a5f1:	5d                   	pop    %ebp
96a5f2:	c2 14 00             	ret    $0x14
96a5f5:	cc                   	int3
96a5f6:	cc                   	int3
96a5f7:	cc                   	int3
96a5f8:	cc                   	int3
96a5f9:	b8 03 00 04 80       	mov    $0x80040003,%eax
96a5fe:	c2 08 00             	ret    $0x8
96a601:	cc                   	int3
96a602:	cc                   	int3
96a603:	55                   	push   %ebp
96a604:	8b ec                	mov    %esp,%ebp
96a606:	8b 45 0c             	mov    0xc(%ebp),%eax
96a609:	83 ec 14             	sub    $0x14,%esp
96a60c:	56                   	push   %esi
96a60d:	8b 75 08             	mov    0x8(%ebp),%esi
96a610:	57                   	push   %edi
96a611:	8b f9                	mov    %ecx,%edi
96a613:	85 c0                	test   %eax,%eax
96a615:	75 13                	jne    0x96a62a
96a617:	8d 45 ec             	lea    -0x14(%ebp),%eax
96a61a:	50                   	push   %eax
96a61b:	56                   	push   %esi
96a61c:	6a 00                	push   $0x0
96a61e:	e8 6f 3a ab ff       	call   0x41e092
96a623:	c7 40 10 01 00 00 00 	movl   $0x1,0x10(%eax)
96a62a:	66 85 f6             	test   %si,%si
96a62d:	74 03                	je     0x96a632
96a62f:	66 89 30             	mov    %si,(%eax)
96a632:	6a 01                	push   $0x1
96a634:	50                   	push   %eax
96a635:	8b cf                	mov    %edi,%ecx
96a637:	e8 ca 15 ac ff       	call   0x42bc06
96a63c:	6a 0c                	push   $0xc
96a63e:	83 c0 14             	add    $0x14,%eax
96a641:	6a 00                	push   $0x0
96a643:	50                   	push   %eax
96a644:	e8 6f a1 aa ff       	call   0x4147b8
96a649:	83 c4 0c             	add    $0xc,%esp
96a64c:	5f                   	pop    %edi
96a64d:	5e                   	pop    %esi
96a64e:	8b e5                	mov    %ebp,%esp
96a650:	5d                   	pop    %ebp
96a651:	c2 08 00             	ret    $0x8
96a654:	cc                   	int3
96a655:	cc                   	int3
96a656:	cc                   	int3
96a657:	cc                   	int3
96a658:	cc                   	int3
96a659:	cc                   	int3
96a65a:	cc                   	int3
96a65b:	cc                   	int3
96a65c:	cc                   	int3
96a65d:	cc                   	int3
96a65e:	cc                   	int3
96a65f:	cc                   	int3
96a660:	cc                   	int3
96a661:	cc                   	int3
96a662:	cc                   	int3
96a663:	cc                   	int3
96a664:	cc                   	int3
96a665:	cc                   	int3
96a666:	cc                   	int3
96a667:	cc                   	int3
96a668:	55                   	push   %ebp
96a669:	8b ec                	mov    %esp,%ebp
96a66b:	83 ec 14             	sub    $0x14,%esp
96a66e:	8d 45 ec             	lea    -0x14(%ebp),%eax
96a671:	56                   	push   %esi
96a672:	50                   	push   %eax
96a673:	ff 75 08             	push   0x8(%ebp)
96a676:	8b f1                	mov    %ecx,%esi
96a678:	ff 75 0c             	push   0xc(%ebp)
96a67b:	e8 12 3a ab ff       	call   0x41e092
96a680:	6a 01                	push   $0x1
96a682:	50                   	push   %eax
96a683:	8b ce                	mov    %esi,%ecx
96a685:	c7 40 10 05 00 00 00 	movl   $0x5,0x10(%eax)
96a68c:	e8 75 15 ac ff       	call   0x42bc06
96a691:	33 c9                	xor    %ecx,%ecx
96a693:	5e                   	pop    %esi
96a694:	89 48 14             	mov    %ecx,0x14(%eax)
96a697:	89 48 18             	mov    %ecx,0x18(%eax)
96a69a:	89 48 1c             	mov    %ecx,0x1c(%eax)
96a69d:	8b e5                	mov    %ebp,%esp
96a69f:	5d                   	pop    %ebp
96a6a0:	c2 08 00             	ret    $0x8
96a6a3:	cc                   	int3
96a6a4:	cc                   	int3
96a6a5:	cc                   	int3
96a6a6:	cc                   	int3
96a6a7:	cc                   	int3
96a6a8:	cc                   	int3
96a6a9:	cc                   	int3
96a6aa:	cc                   	int3
96a6ab:	cc                   	int3
96a6ac:	cc                   	int3
96a6ad:	cc                   	int3
96a6ae:	cc                   	int3
96a6af:	cc                   	int3
96a6b0:	cc                   	int3
96a6b1:	55                   	push   %ebp
96a6b2:	8b ec                	mov    %esp,%ebp
96a6b4:	83 ec 14             	sub    $0x14,%esp
96a6b7:	8d 45 ec             	lea    -0x14(%ebp),%eax
96a6ba:	56                   	push   %esi
96a6bb:	50                   	push   %eax
96a6bc:	ff 75 08             	push   0x8(%ebp)
96a6bf:	8b f1                	mov    %ecx,%esi
96a6c1:	ff 75 0c             	push   0xc(%ebp)
96a6c4:	e8 c9 39 ab ff       	call   0x41e092
96a6c9:	6a 02                	push   $0x2
96a6cb:	50                   	push   %eax
96a6cc:	8b ce                	mov    %esi,%ecx
96a6ce:	e8 33 15 ac ff       	call   0x42bc06
96a6d3:	33 c9                	xor    %ecx,%ecx
96a6d5:	5e                   	pop    %esi
96a6d6:	89 48 14             	mov    %ecx,0x14(%eax)
96a6d9:	89 48 18             	mov    %ecx,0x18(%eax)
96a6dc:	89 48 1c             	mov    %ecx,0x1c(%eax)
96a6df:	8b e5                	mov    %ebp,%esp
96a6e1:	5d                   	pop    %ebp
96a6e2:	c2 08 00             	ret    $0x8
96a6e5:	cc                   	int3
96a6e6:	cc                   	int3
96a6e7:	cc                   	int3
96a6e8:	cc                   	int3
96a6e9:	cc                   	int3
96a6ea:	cc                   	int3
96a6eb:	cc                   	int3
96a6ec:	cc                   	int3
96a6ed:	cc                   	int3
96a6ee:	cc                   	int3
96a6ef:	cc                   	int3
96a6f0:	cc                   	int3
96a6f1:	cc                   	int3
96a6f2:	56                   	push   %esi
96a6f3:	8b f1                	mov    %ecx,%esi
96a6f5:	57                   	push   %edi
96a6f6:	33 ff                	xor    %edi,%edi
96a6f8:	39 7e 20             	cmp    %edi,0x20(%esi)
96a6fb:	74 42                	je     0x96a73f
96a6fd:	53                   	push   %ebx
96a6fe:	8b df                	mov    %edi,%ebx
96a700:	39 7e 28             	cmp    %edi,0x28(%esi)
96a703:	76 27                	jbe    0x96a72c
96a705:	8b 46 20             	mov    0x20(%esi),%eax
96a708:	ff 74 07 04          	push   0x4(%edi,%eax,1)
96a70c:	ff 15 cc 45 d8 00    	call   *0xd845cc
96a712:	8b 46 20             	mov    0x20(%esi),%eax
96a715:	83 c0 14             	add    $0x14,%eax
96a718:	03 c7                	add    %edi,%eax
96a71a:	50                   	push   %eax
96a71b:	ff 15 58 45 d8 00    	call   *0xd84558
96a721:	43                   	inc    %ebx
96a722:	83 c7 24             	add    $0x24,%edi
96a725:	3b 5e 28             	cmp    0x28(%esi),%ebx
96a728:	72 db                	jb     0x96a705
96a72a:	33 ff                	xor    %edi,%edi
96a72c:	ff 76 20             	push   0x20(%esi)
96a72f:	e8 de 3e ad ff       	call   0x43e612
96a734:	59                   	pop    %ecx
96a735:	89 7e 20             	mov    %edi,0x20(%esi)
96a738:	89 7e 24             	mov    %edi,0x24(%esi)
96a73b:	89 7e 28             	mov    %edi,0x28(%esi)
96a73e:	5b                   	pop    %ebx
96a73f:	5f                   	pop    %edi
96a740:	5e                   	pop    %esi
96a741:	c3                   	ret
96a742:	cc                   	int3
96a743:	cc                   	int3
96a744:	cc                   	int3
96a745:	cc                   	int3
96a746:	cc                   	int3
96a747:	cc                   	int3
96a748:	cc                   	int3
96a749:	cc                   	int3
96a74a:	cc                   	int3
96a74b:	cc                   	int3
96a74c:	cc                   	int3
96a74d:	cc                   	int3
96a74e:	cc                   	int3
96a74f:	cc                   	int3
96a750:	cc                   	int3
96a751:	cc                   	int3
96a752:	cc                   	int3
96a753:	cc                   	int3
96a754:	cc                   	int3
96a755:	cc                   	int3
96a756:	55                   	push   %ebp
96a757:	8b ec                	mov    %esp,%ebp
96a759:	8b 45 0c             	mov    0xc(%ebp),%eax
96a75c:	83 20 00             	andl   $0x0,(%eax)
96a75f:	b8 03 00 04 80       	mov    $0x80040003,%eax
96a764:	5d                   	pop    %ebp
96a765:	c2 08 00             	ret    $0x8
96a768:	cc                   	int3
96a769:	cc                   	int3
96a76a:	cc                   	int3
96a76b:	cc                   	int3
96a76c:	6a 24                	push   $0x24
96a76e:	b8 71 bd ba 00       	mov    $0xbabd71,%eax
96a773:	e8 74 cb aa ff       	call   0x4172ec
96a778:	8b 7d 10             	mov    0x10(%ebp),%edi
96a77b:	85 ff                	test   %edi,%edi
96a77d:	75 0a                	jne    0x96a789
96a77f:	b8 03 40 00 80       	mov    $0x80004003,%eax
96a784:	e9 84 00 00 00       	jmp    0x96a80d
96a789:	33 db                	xor    %ebx,%ebx
96a78b:	c7 45 e8 0e 00 07 80 	movl   $0x8007000e,-0x18(%ebp)
96a792:	6a 40                	push   $0x40
96a794:	89 1f                	mov    %ebx,(%edi)
96a796:	89 5d fc             	mov    %ebx,-0x4(%ebp)
96a799:	e8 df 01 ac ff       	call   0x42a97d
96a79e:	59                   	pop    %ecx
96a79f:	89 45 ec             	mov    %eax,-0x14(%ebp)
96a7a2:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
96a7a6:	85 c0                	test   %eax,%eax
96a7a8:	74 0c                	je     0x96a7b6
96a7aa:	8b c8                	mov    %eax,%ecx
96a7ac:	e8 15 a7 a9 ff       	call   0x404ec6
96a7b1:	89 45 ec             	mov    %eax,-0x14(%ebp)
96a7b4:	eb 03                	jmp    0x96a7b9
96a7b6:	89 5d ec             	mov    %ebx,-0x14(%ebp)
96a7b9:	8b 4d 08             	mov    0x8(%ebp),%ecx
96a7bc:	8b f3                	mov    %ebx,%esi
96a7be:	88 5d fc             	mov    %bl,-0x4(%ebp)
96a7c1:	3b 71 f8             	cmp    -0x8(%ecx),%esi
96a7c4:	73 2a                	jae    0x96a7f0
96a7c6:	8b 55 0c             	mov    0xc(%ebp),%edx
96a7c9:	6b c6 24             	imul   $0x24,%esi,%eax
96a7cc:	03 41 f0             	add    -0x10(%ecx),%eax
96a7cf:	85 50 20             	test   %edx,0x20(%eax)
96a7d2:	74 19                	je     0x96a7ed
96a7d4:	50                   	push   %eax
96a7d5:	8d 45 d0             	lea    -0x30(%ebp),%eax
96a7d8:	50                   	push   %eax
96a7d9:	e8 c1 b4 a9 ff       	call   0x405c9f
96a7de:	8b 4d ec             	mov    -0x14(%ebp),%ecx
96a7e1:	8d 45 d0             	lea    -0x30(%ebp),%eax
96a7e4:	50                   	push   %eax
96a7e5:	e8 87 6e aa ff       	call   0x411671
96a7ea:	8b 4d 08             	mov    0x8(%ebp),%ecx
96a7ed:	46                   	inc    %esi
96a7ee:	eb d1                	jmp    0x96a7c1
96a7f0:	8b 45 ec             	mov    -0x14(%ebp),%eax
96a7f3:	83 c0 38             	add    $0x38,%eax
96a7f6:	89 07                	mov    %eax,(%edi)
96a7f8:	eb 11                	jmp    0x96a80b
96a7fa:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
96a7fd:	e8 47 aa aa ff       	call   0x415249
96a802:	b8 08 a8 96 00       	mov    $0x96a808,%eax
96a807:	c3                   	ret
96a808:	8b 5d e8             	mov    -0x18(%ebp),%ebx
96a80b:	8b c3                	mov    %ebx,%eax
96a80d:	e8 05 3c aa ff       	call   0x40e417
96a812:	c2 0c 00             	ret    $0xc
96a815:	cc                   	int3
96a816:	cc                   	int3
96a817:	cc                   	int3
96a818:	cc                   	int3
96a819:	cc                   	int3
96a81a:	cc                   	int3
96a81b:	cc                   	int3
96a81c:	cc                   	int3
96a81d:	cc                   	int3
96a81e:	cc                   	int3
96a81f:	cc                   	int3
96a820:	cc                   	int3
96a821:	cc                   	int3
96a822:	cc                   	int3
96a823:	cc                   	int3
96a824:	cc                   	int3
96a825:	cc                   	int3
96a826:	cc                   	int3
96a827:	cc                   	int3
96a828:	cc                   	int3
96a829:	cc                   	int3
96a82a:	cc                   	int3
96a82b:	cc                   	int3
96a82c:	cc                   	int3