5a642d:	83 c4 08             	add    $0x8,%esp
5a6430:	83 f8 02             	cmp    $0x2,%eax
5a6433:	75 14                	jne    0x5a6449
5a6435:	ff b6 ec 03 00 00    	push   0x3ec(%esi)
5a643b:	e8 60 9c f4 ff       	call   0x4f00a0
5a6440:	8b f8                	mov    %eax,%edi
5a6442:	83 c4 04             	add    $0x4,%esp
5a6445:	03 ff                	add    %edi,%edi
5a6447:	eb 02                	jmp    0x5a644b
5a6449:	33 ff                	xor    %edi,%edi
5a644b:	8b 4e 74             	mov    0x74(%esi),%ecx
5a644e:	33 db                	xor    %ebx,%ebx
5a6450:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
5a6454:	c7 46 14 01 00 00 00 	movl   $0x1,0x14(%esi)
5a645b:	85 c9                	test   %ecx,%ecx
5a645d:	0f 84 b3 02 00 00    	je     0x5a6716
5a6463:	83 fd 16             	cmp    $0x16,%ebp
5a6466:	75 2e                	jne    0x5a6496
5a6468:	8b 46 78             	mov    0x78(%esi),%eax
5a646b:	85 c0                	test   %eax,%eax
5a646d:	74 27                	je     0x5a6496
5a646f:	85 db                	test   %ebx,%ebx
5a6471:	74 17                	je     0x5a648a
5a6473:	83 f8 0c             	cmp    $0xc,%eax
5a6476:	0f 86 f5 02 00 00    	jbe    0x5a6771
5a647c:	83 c0 f4             	add    $0xfffffff4,%eax
5a647f:	89 46 78             	mov    %eax,0x78(%esi)
5a6482:	8d 41 0c             	lea    0xc(%ecx),%eax
5a6485:	89 46 74             	mov    %eax,0x74(%esi)
5a6488:	eb 0c                	jmp    0x5a6496
5a648a:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
5a6490:	8b 98 2c 01 00 00    	mov    0x12c(%eax),%ebx
5a6496:	6a 00                	push   $0x0
5a6498:	6a 00                	push   $0x0
5a649a:	6a 0d                	push   $0xd
5a649c:	ff 76 0c             	push   0xc(%esi)
5a649f:	e8 8c 26 f5 ff       	call   0x4f8b30
5a64a4:	8b 4c 24 20          	mov    0x20(%esp),%ecx
5a64a8:	03 c7                	add    %edi,%eax
5a64aa:	8b 96 80 00 00 00    	mov    0x80(%esi),%edx
5a64b0:	83 c1 0d             	add    $0xd,%ecx
5a64b3:	03 c1                	add    %ecx,%eax
5a64b5:	83 c4 10             	add    $0x10,%esp
5a64b8:	8b 8a 1c 01 00 00    	mov    0x11c(%edx),%ecx
5a64be:	3b c8                	cmp    %eax,%ecx
5a64c0:	76 07                	jbe    0x5a64c9
5a64c2:	2b c8                	sub    %eax,%ecx
5a64c4:	83 f9 0c             	cmp    $0xc,%ecx
5a64c7:	77 3b                	ja     0x5a6504
5a64c9:	6a 00                	push   $0x0
5a64cb:	6a 00                	push   $0x0
5a64cd:	6a 0b                	push   $0xb
5a64cf:	ff 76 0c             	push   0xc(%esi)
5a64d2:	e8 59 26 f5 ff       	call   0x4f8b30
5a64d7:	83 c4 10             	add    $0x10,%esp
5a64da:	85 c0                	test   %eax,%eax
5a64dc:	0f 8e 80 02 00 00    	jle    0x5a6762
5a64e2:	8b 44 24 10          	mov    0x10(%esp),%eax
5a64e6:	8b 96 80 00 00 00    	mov    0x80(%esi),%edx
5a64ec:	83 c0 0d             	add    $0xd,%eax
5a64ef:	03 f8                	add    %eax,%edi
5a64f1:	8b 8a 1c 01 00 00    	mov    0x11c(%edx),%ecx
5a64f7:	8d 47 0c             	lea    0xc(%edi),%eax
5a64fa:	3b c8                	cmp    %eax,%ecx
5a64fc:	0f 86 6f 02 00 00    	jbe    0x5a6771
5a6502:	2b cf                	sub    %edi,%ecx
5a6504:	39 4e 74             	cmp    %ecx,0x74(%esi)
5a6507:	8b be 0c 05 00 00    	mov    0x50c(%esi),%edi
5a650d:	0f 46 4e 74          	cmovbe 0x74(%esi),%ecx
5a6511:	3b cf                	cmp    %edi,%ecx
5a6513:	0f 46 f9             	cmovbe %ecx,%edi
5a6516:	83 fd 16             	cmp    $0x16,%ebp
5a6519:	75 7f                	jne    0x5a659a
5a651b:	83 ff 0c             	cmp    $0xc,%edi
5a651e:	0f 82 4d 02 00 00    	jb     0x5a6771
5a6524:	89 9a 2c 01 00 00    	mov    %ebx,0x12c(%edx)
5a652a:	8d 47 f4             	lea    -0xc(%edi),%eax
5a652d:	89 82 30 01 00 00    	mov    %eax,0x130(%edx)
5a6533:	8b 46 6c             	mov    0x6c(%esi),%eax
5a6536:	8b 8e 80 00 00 00    	mov    0x80(%esi),%ecx
5a653c:	8b 50 04             	mov    0x4(%eax),%edx
5a653f:	03 56 78             	add    0x78(%esi),%edx
5a6542:	81 c1 20 01 00 00    	add    $0x120,%ecx
5a6548:	0f b6 01             	movzbl (%ecx),%eax
5a654b:	88 02                	mov    %al,(%edx)
5a654d:	0f b6 41 06          	movzbl 0x6(%ecx),%eax
5a6551:	88 42 01             	mov    %al,0x1(%edx)
5a6554:	0f b6 41 05          	movzbl 0x5(%ecx),%eax
5a6558:	88 42 02             	mov    %al,0x2(%edx)
5a655b:	0f b6 41 04          	movzbl 0x4(%ecx),%eax
5a655f:	88 42 03             	mov    %al,0x3(%edx)
5a6562:	0f b6 41 09          	movzbl 0x9(%ecx),%eax
5a6566:	88 42 04             	mov    %al,0x4(%edx)
5a6569:	0f b6 41 08          	movzbl 0x8(%ecx),%eax
5a656d:	88 42 05             	mov    %al,0x5(%edx)
5a6570:	0f b6 41 0e          	movzbl 0xe(%ecx),%eax
5a6574:	88 42 06             	mov    %al,0x6(%edx)
5a6577:	0f b6 41 0d          	movzbl 0xd(%ecx),%eax
5a657b:	88 42 07             	mov    %al,0x7(%edx)
5a657e:	0f b6 41 0c          	movzbl 0xc(%ecx),%eax
5a6582:	88 42 08             	mov    %al,0x8(%edx)
5a6585:	0f b6 41 12          	movzbl 0x12(%ecx),%eax
5a6589:	88 42 09             	mov    %al,0x9(%edx)
5a658c:	0f b6 41 11          	movzbl 0x11(%ecx),%eax
5a6590:	88 42 0a             	mov    %al,0xa(%edx)
5a6593:	0f b6 41 10          	movzbl 0x10(%ecx),%eax
5a6597:	88 42 0b             	mov    %al,0xb(%edx)
5a659a:	8d 44 24 14          	lea    0x14(%esp),%eax
5a659e:	50                   	push   %eax
5a659f:	8b 46 6c             	mov    0x6c(%esi),%eax
5a65a2:	57                   	push   %edi
5a65a3:	8b 40 04             	mov    0x4(%eax),%eax
5a65a6:	03 46 78             	add    0x78(%esi),%eax
5a65a9:	50                   	push   %eax
5a65aa:	55                   	push   %ebp
5a65ab:	56                   	push   %esi
5a65ac:	e8 bf 90 00 00       	call   0x5af670
5a65b1:	83 c4 14             	add    $0x14,%esp
5a65b4:	85 c0                	test   %eax,%eax
5a65b6:	79 5d                	jns    0x5a6615
5a65b8:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
5a65bd:	0f 84 ae 01 00 00    	je     0x5a6771
5a65c3:	6a 00                	push   $0x0
5a65c5:	6a 00                	push   $0x0
5a65c7:	6a 2b                	push   $0x2b
5a65c9:	56                   	push   %esi
5a65ca:	e8 81 30 fe ff       	call   0x589650
5a65cf:	83 c4 04             	add    $0x4,%esp
5a65d2:	50                   	push   %eax
5a65d3:	e8 58 25 f5 ff       	call   0x4f8b30
5a65d8:	83 c4 10             	add    $0x10,%esp
5a65db:	85 c0                	test   %eax,%eax
5a65dd:	0f 8e 8e 01 00 00    	jle    0x5a6771
5a65e3:	56                   	push   %esi
5a65e4:	e8 37 30 fe ff       	call   0x589620
5a65e9:	83 c4 04             	add    $0x4,%esp
5a65ec:	a9 00 10 00 00       	test   $0x1000,%eax
5a65f1:	0f 85 7a 01 00 00    	jne    0x5a6771
5a65f7:	56                   	push   %esi
5a65f8:	e8 c3 1d 00 00       	call   0x5a83c0
5a65fd:	83 c4 04             	add    $0x4,%esp
5a6600:	85 c0                	test   %eax,%eax
5a6602:	0f 84 69 01 00 00    	je     0x5a6771
5a6608:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
5a660f:	00
5a6610:	e9 f2 00 00 00       	jmp    0x5a6707
5a6615:	8b 54 24 14          	mov    0x14(%esp),%edx
5a6619:	3b fa                	cmp    %edx,%edi
5a661b:	0f 85 50 01 00 00    	jne    0x5a6771
5a6621:	83 fd 16             	cmp    $0x16,%ebp
5a6624:	0f 85 af 00 00 00    	jne    0x5a66d9
5a662a:	8b be 80 00 00 00    	mov    0x80(%esi),%edi
5a6630:	83 bf 90 01 00 00 00 	cmpl   $0x0,0x190(%edi)
5a6637:	0f 85 9c 00 00 00    	jne    0x5a66d9
5a663d:	8b 46 6c             	mov    0x6c(%esi),%eax
5a6640:	8b 48 04             	mov    0x4(%eax),%ecx
5a6643:	8b 46 78             	mov    0x78(%esi),%eax
5a6646:	03 c1                	add    %ecx,%eax
5a6648:	8b c8                	mov    %eax,%ecx
5a664a:	85 db                	test   %ebx,%ebx
5a664c:	75 6e                	jne    0x5a66bc
5a664e:	81 3e 00 01 00 00    	cmpl   $0x100,(%esi)
5a6654:	74 66                	je     0x5a66bc
5a6656:	0f b6 87 20 01 00 00 	movzbl 0x120(%edi),%eax
5a665d:	88 01                	mov    %al,(%ecx)
5a665f:	0f b6 87 26 01 00 00 	movzbl 0x126(%edi),%eax
5a6666:	88 41 01             	mov    %al,0x1(%ecx)
5a6669:	0f b6 87 25 01 00 00 	movzbl 0x125(%edi),%eax
5a6670:	88 41 02             	mov    %al,0x2(%ecx)
5a6673:	0f b6 87 24 01 00 00 	movzbl 0x124(%edi),%eax
5a667a:	88 41 03             	mov    %al,0x3(%ecx)
5a667d:	0f b6 87 29 01 00 00 	movzbl 0x129(%edi),%eax
5a6684:	88 41 04             	mov    %al,0x4(%ecx)
5a6687:	0f b6 87 28 01 00 00 	movzbl 0x128(%edi),%eax
5a668e:	88 41 05             	mov    %al,0x5(%ecx)
5a6691:	66 89 59 06          	mov    %bx,0x6(%ecx)
5a6695:	88 59 08             	mov    %bl,0x8(%ecx)
5a6698:	0f b6 87 26 01 00 00 	movzbl 0x126(%edi),%eax
5a669f:	88 41 09             	mov    %al,0x9(%ecx)
5a66a2:	0f b6 87 25 01 00 00 	movzbl 0x125(%edi),%eax
5a66a9:	88 41 0a             	mov    %al,0xa(%ecx)
5a66ac:	0f b6 87 24 01 00 00 	movzbl 0x124(%edi),%eax
5a66b3:	88 41 0b             	mov    %al,0xb(%ecx)
5a66b6:	8b 54 24 14          	mov    0x14(%esp),%edx
5a66ba:	eb 06                	jmp    0x5a66c2
5a66bc:	83 c1 0c             	add    $0xc,%ecx
5a66bf:	83 c2 f4             	add    $0xfffffff4,%edx
5a66c2:	52                   	push   %edx
5a66c3:	51                   	push   %ecx
5a66c4:	56                   	push   %esi
5a66c5:	e8 a6 cd ff ff       	call   0x5a3470
5a66ca:	83 c4 0c             	add    $0xc,%esp
5a66cd:	85 c0                	test   %eax,%eax
5a66cf:	0f 84 9c 00 00 00    	je     0x5a6771
5a66d5:	8b 54 24 14          	mov    0x14(%esp),%edx
5a66d9:	8b 4e 74             	mov    0x74(%esi),%ecx
5a66dc:	3b d1                	cmp    %ecx,%edx
5a66de:	74 40                	je     0x5a6720
5a66e0:	01 56 78             	add    %edx,0x78(%esi)
5a66e3:	2b ca                	sub    %edx,%ecx
5a66e5:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
5a66eb:	83 ea 0c             	sub    $0xc,%edx
5a66ee:	89 4e 74             	mov    %ecx,0x74(%esi)
5a66f1:	03 da                	add    %edx,%ebx
5a66f3:	89 54 24 14          	mov    %edx,0x14(%esp)
5a66f7:	89 98 2c 01 00 00    	mov    %ebx,0x12c(%eax)
5a66fd:	c7 80 30 01 00 00 00 	movl   $0x0,0x130(%eax)
5a6704:	00 00 00
5a6707:	8b 4e 74             	mov    0x74(%esi),%ecx
5a670a:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
5a670e:	85 c9                	test   %ecx,%ecx
5a6710:	0f 85 4d fd ff ff    	jne    0x5a6463
5a6716:	5f                   	pop    %edi
5a6717:	5e                   	pop    %esi
5a6718:	5d                   	pop    %ebp
5a6719:	33 c0                	xor    %eax,%eax
5a671b:	5b                   	pop    %ebx
5a671c:	83 c4 14             	add    $0x14,%esp
5a671f:	c3                   	ret
5a6720:	8b 96 84 00 00 00    	mov    0x84(%esi),%edx
5a6726:	85 d2                	test   %edx,%edx
5a6728:	74 1d                	je     0x5a6747
5a672a:	ff b6 88 00 00 00    	push   0x88(%esi)
5a6730:	8b 46 78             	mov    0x78(%esi),%eax
5a6733:	56                   	push   %esi
5a6734:	03 c1                	add    %ecx,%eax
5a6736:	50                   	push   %eax
5a6737:	8b 46 6c             	mov    0x6c(%esi),%eax
5a673a:	ff 70 04             	push   0x4(%eax)
5a673d:	55                   	push   %ebp
5a673e:	ff 36                	push   (%esi)
5a6740:	6a 01                	push   $0x1
5a6742:	ff d2                	call   *%edx
5a6744:	83 c4 1c             	add    $0x1c,%esp
5a6747:	5f                   	pop    %edi
5a6748:	c7 46 78 00 00 00 00 	movl   $0x0,0x78(%esi)
5a674f:	b8 01 00 00 00       	mov    $0x1,%eax
5a6754:	c7 46 74 00 00 00 00 	movl   $0x0,0x74(%esi)
5a675b:	5e                   	pop    %esi
5a675c:	5d                   	pop    %ebp
5a675d:	5b                   	pop    %ebx
5a675e:	83 c4 14             	add    $0x14,%esp
5a6761:	c3                   	ret
5a6762:	5f                   	pop    %edi
5a6763:	c7 46 14 02 00 00 00 	movl   $0x2,0x14(%esi)
5a676a:	5e                   	pop    %esi
5a676b:	5d                   	pop    %ebp
5a676c:	5b                   	pop    %ebx
5a676d:	83 c4 14             	add    $0x14,%esp
5a6770:	c3                   	ret
5a6771:	5f                   	pop    %edi
5a6772:	5e                   	pop    %esi
5a6773:	5d                   	pop    %ebp
5a6774:	83 c8 ff             	or     $0xffffffff,%eax
5a6777:	5b                   	pop    %ebx
5a6778:	83 c4 14             	add    $0x14,%esp
5a677b:	c3                   	ret
5a677c:	cc                   	int3
5a677d:	cc                   	int3
5a677e:	cc                   	int3
5a677f:	cc                   	int3
5a6780:	56                   	push   %esi
5a6781:	8b 74 24 0c          	mov    0xc(%esp),%esi
5a6785:	6a 2c                	push   $0x2c
5a6787:	6a 00                	push   $0x0
5a6789:	56                   	push   %esi
5a678a:	e8 e1 c4 02 00       	call   0x5d2c70
5a678f:	8b 54 24 14          	mov    0x14(%esp),%edx
5a6793:	83 c4 0c             	add    $0xc,%esp
5a6796:	8a 02                	mov    (%edx),%al
5a6798:	88 06                	mov    %al,(%esi)
5a679a:	0f b6 4a 01          	movzbl 0x1(%edx),%ecx
5a679e:	0f b6 42 02          	movzbl 0x2(%edx),%eax
5a67a2:	c1 e1 08             	shl    $0x8,%ecx
5a67a5:	0b c8                	or     %eax,%ecx
5a67a7:	0f b6 42 03          	movzbl 0x3(%edx),%eax
5a67ab:	c1 e1 08             	shl    $0x8,%ecx
5a67ae:	0b c8                	or     %eax,%ecx
5a67b0:	89 4e 04             	mov    %ecx,0x4(%esi)
5a67b3:	0f b6 4a 04          	movzbl 0x4(%edx),%ecx
5a67b7:	0f b6 42 05          	movzbl 0x5(%edx),%eax
5a67bb:	66 c1 e1 08          	shl    $0x8,%cx
5a67bf:	66 0b c8             	or     %ax,%cx
5a67c2:	66 89 4e 08          	mov    %cx,0x8(%esi)
5a67c6:	0f b6 4a 06          	movzbl 0x6(%edx),%ecx
5a67ca:	0f b6 42 07          	movzbl 0x7(%edx),%eax
5a67ce:	c1 e1 08             	shl    $0x8,%ecx
5a67d1:	0b c8                	or     %eax,%ecx
5a67d3:	0f b6 42 08          	movzbl 0x8(%edx),%eax
5a67d7:	c1 e1 08             	shl    $0x8,%ecx
5a67da:	0b c8                	or     %eax,%ecx
5a67dc:	89 4e 0c             	mov    %ecx,0xc(%esi)
5a67df:	0f b6 4a 09          	movzbl 0x9(%edx),%ecx
5a67e3:	0f b6 42 0a          	movzbl 0xa(%edx),%eax
5a67e7:	c1 e1 08             	shl    $0x8,%ecx
5a67ea:	0b c8                	or     %eax,%ecx
5a67ec:	0f b6 42 0b          	movzbl 0xb(%edx),%eax
5a67f0:	c1 e1 08             	shl    $0x8,%ecx
5a67f3:	0b c8                	or     %eax,%ecx
5a67f5:	89 4e 10             	mov    %ecx,0x10(%esi)
5a67f8:	5e                   	pop    %esi
5a67f9:	c3                   	ret
5a67fa:	cc                   	int3
5a67fb:	cc                   	int3
5a67fc:	cc                   	int3
5a67fd:	cc                   	int3
5a67fe:	cc                   	int3
5a67ff:	cc                   	int3
5a6800:	56                   	push   %esi
5a6801:	8b 74 24 08          	mov    0x8(%esp),%esi
5a6805:	85 f6                	test   %esi,%esi
5a6807:	74 47                	je     0x5a6850
5a6809:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
5a680d:	74 13                	je     0x5a6822
5a680f:	ff 76 18             	push   0x18(%esi)
5a6812:	e8 d9 5b f3 ff       	call   0x4dc3f0
5a6817:	ff 76 1c             	push   0x1c(%esi)
5a681a:	e8 d1 48 f7 ff       	call   0x51b0f0
5a681f:	83 c4 08             	add    $0x8,%esp
5a6822:	6a 67                	push   $0x67
5a6824:	68 50 80 66 00       	push   $0x668050
5a6829:	ff 76 2c             	push   0x2c(%esi)
5a682c:	e8 4f 9f f3 ff       	call   0x4e0780
5a6831:	6a 68                	push   $0x68
5a6833:	68 50 80 66 00       	push   $0x668050
5a6838:	ff 76 30             	push   0x30(%esi)
5a683b:	e8 40 9f f3 ff       	call   0x4e0780
5a6840:	6a 69                	push   $0x69
5a6842:	68 50 80 66 00       	push   $0x668050
5a6847:	56                   	push   %esi
5a6848:	e8 33 9f f3 ff       	call   0x4e0780
5a684d:	83 c4 24             	add    $0x24,%esp
5a6850:	5e                   	pop    %esi
5a6851:	c3                   	ret
5a6852:	cc                   	int3
5a6853:	cc                   	int3
5a6854:	cc                   	int3
5a6855:	cc                   	int3
5a6856:	cc                   	int3
5a6857:	cc                   	int3
5a6858:	cc                   	int3
5a6859:	cc                   	int3
5a685a:	cc                   	int3
5a685b:	cc                   	int3
5a685c:	cc                   	int3
5a685d:	cc                   	int3
5a685e:	cc                   	int3
5a685f:	cc                   	int3
5a6860:	55                   	push   %ebp
5a6861:	56                   	push   %esi