96a41a:	8b ec                	mov    %esp,%ebp
96a41c:	56                   	push   %esi
96a41d:	8b f1                	mov    %ecx,%esi
96a41f:	e8 04 da a9 ff       	call   0x407e28
96a424:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
96a428:	74 18                	je     0x96a442
96a42a:	f6 45 08 04          	testb  $0x4,0x8(%ebp)
96a42e:	75 08                	jne    0x96a438
96a430:	56                   	push   %esi
96a431:	e8 59 73 a9 ff       	call   0x40178f
96a436:	eb 09                	jmp    0x96a441
96a438:	6a 34                	push   $0x34
96a43a:	56                   	push   %esi
96a43b:	e8 9a 53 ab ff       	call   0x41f7da
96a440:	59                   	pop    %ecx
96a441:	59                   	pop    %ecx
96a442:	8b c6                	mov    %esi,%eax
96a444:	5e                   	pop    %esi
96a445:	5d                   	pop    %ebp
96a446:	c2 04 00             	ret    $0x4
96a449:	cc                   	int3
96a44a:	cc                   	int3
96a44b:	cc                   	int3
96a44c:	cc                   	int3
96a44d:	cc                   	int3
96a44e:	cc                   	int3
96a44f:	cc                   	int3
96a450:	cc                   	int3
96a451:	cc                   	int3
96a452:	cc                   	int3
96a453:	cc                   	int3
96a454:	cc                   	int3
96a455:	55                   	push   %ebp
96a456:	8b ec                	mov    %esp,%ebp
96a458:	57                   	push   %edi
96a459:	8b f9                	mov    %ecx,%edi
96a45b:	8b 47 30             	mov    0x30(%edi),%eax
96a45e:	3b 47 3c             	cmp    0x3c(%edi),%eax
96a461:	75 44                	jne    0x96a4a7
96a463:	56                   	push   %esi
96a464:	33 c9                	xor    %ecx,%ecx
96a466:	83 c0 0a             	add    $0xa,%eax
96a469:	6a 14                	push   $0x14
96a46b:	5a                   	pop    %edx
96a46c:	f7 e2                	mul    %edx
96a46e:	0f 90 c1             	seto   %cl
96a471:	f7 d9                	neg    %ecx
96a473:	0b c8                	or     %eax,%ecx
96a475:	51                   	push   %ecx
96a476:	e8 1c b3 ac ff       	call   0x435797
96a47b:	6b 4f 30 14          	imul   $0x14,0x30(%edi),%ecx
96a47f:	8b f0                	mov    %eax,%esi
96a481:	83 47 3c 0a          	addl   $0xa,0x3c(%edi)
96a485:	51                   	push   %ecx
96a486:	ff 77 28             	push   0x28(%edi)
96a489:	81 c1 c8 00 00 00    	add    $0xc8,%ecx
96a48f:	51                   	push   %ecx
96a490:	56                   	push   %esi
96a491:	e8 96 00 ac ff       	call   0x42a52c
96a496:	6a 01                	push   $0x1
96a498:	ff 77 28             	push   0x28(%edi)
96a49b:	e8 fc 79 a9 ff       	call   0x401e9c
96a4a0:	83 c4 1c             	add    $0x1c,%esp
96a4a3:	89 77 28             	mov    %esi,0x28(%edi)
96a4a6:	5e                   	pop    %esi
96a4a7:	6b 57 30 14          	imul   $0x14,0x30(%edi),%edx
96a4ab:	8b 4d 08             	mov    0x8(%ebp),%ecx
96a4ae:	03 57 28             	add    0x28(%edi),%edx
96a4b1:	66 8b 01             	mov    (%ecx),%ax
96a4b4:	66 89 02             	mov    %ax,(%edx)
96a4b7:	8b 41 04             	mov    0x4(%ecx),%eax
96a4ba:	89 42 04             	mov    %eax,0x4(%edx)
96a4bd:	8b 41 08             	mov    0x8(%ecx),%eax
96a4c0:	89 42 08             	mov    %eax,0x8(%edx)
96a4c3:	8b 41 0c             	mov    0xc(%ecx),%eax
96a4c6:	89 42 0c             	mov    %eax,0xc(%edx)
96a4c9:	8b 41 10             	mov    0x10(%ecx),%eax
96a4cc:	89 42 10             	mov    %eax,0x10(%edx)
96a4cf:	ff 47 30             	incl   0x30(%edi)
96a4d2:	5f                   	pop    %edi
96a4d3:	5d                   	pop    %ebp
96a4d4:	c2 04 00             	ret    $0x4
96a4d7:	cc                   	int3
96a4d8:	cc                   	int3
96a4d9:	cc                   	int3
96a4da:	cc                   	int3
96a4db:	cc                   	int3
96a4dc:	cc                   	int3
96a4dd:	cc                   	int3
96a4de:	cc                   	int3
96a4df:	cc                   	int3
96a4e0:	cc                   	int3
96a4e1:	cc                   	int3
96a4e2:	cc                   	int3
96a4e3:	cc                   	int3
96a4e4:	cc                   	int3
96a4e5:	cc                   	int3
96a4e6:	cc                   	int3
96a4e7:	cc                   	int3
96a4e8:	cc                   	int3
96a4e9:	cc                   	int3
96a4ea:	cc                   	int3
96a4eb:	cc                   	int3
96a4ec:	cc                   	int3
96a4ed:	cc                   	int3
96a4ee:	cc                   	int3
96a4ef:	cc                   	int3
96a4f0:	cc                   	int3
96a4f1:	cc                   	int3
96a4f2:	cc                   	int3
96a4f3:	cc                   	int3
96a4f4:	cc                   	int3
96a4f5:	cc                   	int3
96a4f6:	cc                   	int3
96a4f7:	55                   	push   %ebp
96a4f8:	8b ec                	mov    %esp,%ebp
96a4fa:	8b 4d 08             	mov    0x8(%ebp),%ecx
96a4fd:	8d 49 d0             	lea    -0x30(%ecx),%ecx
96a500:	e8 21 ad aa ff       	call   0x415226
96a505:	5d                   	pop    %ebp
96a506:	c2 04 00             	ret    $0x4
96a509:	cc                   	int3
96a50a:	cc                   	int3
96a50b:	cc                   	int3
96a50c:	cc                   	int3
96a50d:	55                   	push   %ebp
96a50e:	8b ec                	mov    %esp,%ebp
96a510:	83 ec 14             	sub    $0x14,%esp
96a513:	56                   	push   %esi
96a514:	8b 75 0c             	mov    0xc(%ebp),%esi
96a517:	57                   	push   %edi
96a518:	8b f9                	mov    %ecx,%edi
96a51a:	85 f6                	test   %esi,%esi
96a51c:	74 2c                	je     0x96a54a
96a51e:	8d 45 ec             	lea    -0x14(%ebp),%eax
96a521:	50                   	push   %eax
96a522:	ff 75 08             	push   0x8(%ebp)
96a525:	ff 75 10             	push   0x10(%ebp)
96a528:	e8 65 3b ab ff       	call   0x41e092
96a52d:	8b 0e                	mov    (%esi),%ecx
96a52f:	6a 01                	push   $0x1
96a531:	50                   	push   %eax
96a532:	89 48 10             	mov    %ecx,0x10(%eax)
96a535:	8b cf                	mov    %edi,%ecx
96a537:	e8 ca 16 ac ff       	call   0x42bc06
96a53c:	8d 78 14             	lea    0x14(%eax),%edi
96a53f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96a540:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96a541:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96a542:	5f                   	pop    %edi
96a543:	5e                   	pop    %esi
96a544:	8b e5                	mov    %ebp,%esp
96a546:	5d                   	pop    %ebp
96a547:	c2 0c 00             	ret    $0xc
96a54a:	e8 17 7a ac ff       	call   0x431f66
96a54f:	cc                   	int3
96a550:	cc                   	int3
96a551:	cc                   	int3
96a552:	cc                   	int3
96a553:	cc                   	int3
96a554:	cc                   	int3
96a555:	cc                   	int3
96a556:	cc                   	int3
96a557:	cc                   	int3
96a558:	cc                   	int3
96a559:	cc                   	int3
96a55a:	cc                   	int3
96a55b:	cc                   	int3
96a55c:	cc                   	int3
96a55d:	cc                   	int3
96a55e:	cc                   	int3
96a55f:	cc                   	int3
96a560:	55                   	push   %ebp
96a561:	8b ec                	mov    %esp,%ebp
96a563:	83 ec 14             	sub    $0x14,%esp
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