413558:	03 f7                	add    %edi,%esi
41355a:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
41355e:	0f 85 d2 05 00 00    	jne    0x413b36
413564:	80 78 18 00          	cmpb   $0x0,0x18(%eax)
413568:	0f 85 42 5f 06 00    	jne    0x4794b0
41356e:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
413572:	8b 46 08             	mov    0x8(%esi),%eax
413575:	0f 85 c3 05 00 00    	jne    0x413b3e
41357b:	80 78 30 00          	cmpb   $0x0,0x30(%eax)
41357f:	0f 85 42 5f 06 00    	jne    0x4794c7
413585:	8b 07                	mov    (%edi),%eax
413587:	8b 70 04             	mov    0x4(%eax),%esi
41358a:	03 f7                	add    %edi,%esi
41358c:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
413590:	0f 85 4e 5f 06 00    	jne    0x4794e4
413596:	80 7e 0c 00          	cmpb   $0x0,0xc(%esi)
41359a:	0f 85 a6 05 00 00    	jne    0x413b46
4135a0:	8b 5e 08             	mov    0x8(%esi),%ebx
4135a3:	8b 43 38             	mov    0x38(%ebx),%eax
4135a6:	89 44 24 44          	mov    %eax,0x44(%esp)
4135aa:	85 db                	test   %ebx,%ebx
4135ac:	74 1c                	je     0x4135ca
4135ae:	8d 4b 20             	lea    0x20(%ebx),%ecx
4135b1:	e8 6a f6 ff ff       	call   0x412c20
4135b6:	8b cb                	mov    %ebx,%ecx
4135b8:	e8 63 f6 ff ff       	call   0x412c20
4135bd:	53                   	push   %ebx
4135be:	e8 9b bf 00 00       	call   0x41f55e
4135c3:	8b 44 24 48          	mov    0x48(%esp),%eax
4135c7:	83 c4 04             	add    $0x4,%esp
4135ca:	89 46 08             	mov    %eax,0x8(%esi)
4135cd:	c6 46 0d 00          	movb   $0x0,0xd(%esi)
4135d1:	ff 4e 04             	decl   0x4(%esi)
4135d4:	8b 07                	mov    (%edi),%eax
4135d6:	8b 48 04             	mov    0x4(%eax),%ecx
4135d9:	8b 44 39 08          	mov    0x8(%ecx,%edi,1),%eax
4135dd:	03 cf                	add    %edi,%ecx
4135df:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
4135e3:	0f 85 66 05 00 00    	jne    0x413b4f
4135e9:	8b 94 24 9c 00 00 00 	mov    0x9c(%esp),%edx
4135f0:	89 50 14             	mov    %edx,0x14(%eax)
4135f3:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
4135f7:	8b 41 08             	mov    0x8(%ecx),%eax
4135fa:	0f 85 57 05 00 00    	jne    0x413b57
413600:	c6 40 18 00          	movb   $0x0,0x18(%eax)
413604:	8b 07                	mov    (%edi),%eax
413606:	8b 70 04             	mov    0x4(%eax),%esi
413609:	03 f7                	add    %edi,%esi
41360b:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
41360f:	0f 85 eb 5e 06 00    	jne    0x479500
413615:	8b 4e 08             	mov    0x8(%esi),%ecx
413618:	8d 84 24 a8 00 00 00 	lea    0xa8(%esp),%eax
41361f:	50                   	push   %eax
413620:	83 c1 20             	add    $0x20,%ecx
413623:	e8 86 a6 ff ff       	call   0x40dcae
413628:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
41362c:	8b 46 08             	mov    0x8(%esi),%eax
41362f:	0f 85 2a 05 00 00    	jne    0x413b5f
413635:	b9 f0 20 4c 00       	mov    $0x4c20f0,%ecx
41363a:	c6 40 30 00          	movb   $0x0,0x30(%eax)
41363e:	e8 9d a7 ff ff       	call   0x40dde0
413643:	8b 84 24 84 00 00 00 	mov    0x84(%esp),%eax
41364a:	8d 8c 24 a8 00 00 00 	lea    0xa8(%esp),%ecx
413651:	89 87 4c 01 00 00    	mov    %eax,0x14c(%edi)
413657:	33 db                	xor    %ebx,%ebx
413659:	e8 c2 f5 ff ff       	call   0x412c20
41365e:	8d 8c 24 88 00 00 00 	lea    0x88(%esp),%ecx
413665:	e8 b6 f5 ff ff       	call   0x412c20
41366a:	8d 4c 24 60          	lea    0x60(%esp),%ecx
41366e:	e8 ad f5 ff ff       	call   0x412c20
413673:	33 ff                	xor    %edi,%edi
413675:	39 7c 24 7c          	cmp    %edi,0x7c(%esp)
413679:	0f 87 76 03 00 00    	ja     0x4139f5
41367f:	ff 74 24 78          	push   0x78(%esp)
413683:	e8 d6 be 00 00       	call   0x41f55e
413688:	8b 44 24 58          	mov    0x58(%esp),%eax
41368c:	33 f6                	xor    %esi,%esi
41368e:	83 c4 04             	add    $0x4,%esp
413691:	39 74 24 58          	cmp    %esi,0x58(%esp)
413695:	0f 87 85 03 00 00    	ja     0x413a20
41369b:	50                   	push   %eax
41369c:	e8 bd be 00 00       	call   0x41f55e
4136a1:	83 c4 04             	add    $0x4,%esp
4136a4:	8b c3                	mov    %ebx,%eax
4136a6:	5f                   	pop    %edi
4136a7:	5e                   	pop    %esi
4136a8:	5b                   	pop    %ebx
4136a9:	8b e5                	mov    %ebp,%esp
4136ab:	5d                   	pop    %ebp
4136ac:	c2 14 00             	ret    $0x14
4136af:	8b 4c 24 54          	mov    0x54(%esp),%ecx
4136b3:	8b 44 24 78          	mov    0x78(%esp),%eax
4136b7:	8b 5c 24 18          	mov    0x18(%esp),%ebx
4136bb:	2b c1                	sub    %ecx,%eax
4136bd:	c7 44 24 34 01 00 00 	movl   $0x1,0x34(%esp)
4136c4:	00
4136c5:	89 4c 24 38          	mov    %ecx,0x38(%esp)
4136c9:	89 44 24 3c          	mov    %eax,0x3c(%esp)
4136cd:	8d 49 00             	lea    0x0(%ecx),%ecx
4136d0:	8b 4b 04             	mov    0x4(%ebx),%ecx
4136d3:	8b 5c 24 24          	mov    0x24(%esp),%ebx
4136d7:	33 f6                	xor    %esi,%esi
4136d9:	8b 04 99             	mov    (%ecx,%ebx,4),%eax
4136dc:	8d 14 99             	lea    (%ecx,%ebx,4),%edx
4136df:	66 39 70 08          	cmp    %si,0x8(%eax)
4136e3:	0f 84 f7 5b 06 00    	je     0x4792e0
4136e9:	8b 44 24 24          	mov    0x24(%esp),%eax
4136ed:	c7 44 24 28 01 00 00 	movl   $0x1,0x28(%esp)
4136f4:	00
4136f5:	8b 7c 24 28          	mov    0x28(%esp),%edi
4136f9:	8d 0c 81             	lea    (%ecx,%eax,4),%ecx
4136fc:	33 db                	xor    %ebx,%ebx
4136fe:	8d 51 04             	lea    0x4(%ecx),%edx
413701:	8b 02                	mov    (%edx),%eax
413703:	0f b7 40 08          	movzwl 0x8(%eax),%eax
413707:	66 83 f8 47          	cmp    $0x47,%ax
41370b:	0f 84 e6 03 00 00    	je     0x413af7
413711:	66 83 f8 48          	cmp    $0x48,%ax
413715:	0f 84 54 03 00 00    	je     0x413a6f
41371b:	66 83 f8 40          	cmp    $0x40,%ax
41371f:	0f 85 51 03 00 00    	jne    0x413a76
413725:	85 db                	test   %ebx,%ebx
413727:	0f 85 49 03 00 00    	jne    0x413a76
41372d:	8b 44 24 20          	mov    0x20(%esp),%eax
413731:	89 7c 24 28          	mov    %edi,0x28(%esp)
413735:	8b 7c 24 4c          	mov    0x4c(%esp),%edi
413739:	39 44 24 34          	cmp    %eax,0x34(%esp)
41373d:	0f 8f 92 5c 06 00    	jg     0x4793d5
413743:	8b 54 24 38          	mov    0x38(%esp),%edx
413747:	8b 44 24 3c          	mov    0x3c(%esp),%eax
41374b:	8b 04 10             	mov    (%eax,%edx,1),%eax
41374e:	80 38 00             	cmpb   $0x0,(%eax)
413751:	0f 85 b2 5b 06 00    	jne    0x479309
413757:	8b 01                	mov    (%ecx),%eax
413759:	8b 12                	mov    (%edx),%edx
41375b:	8b 18                	mov    (%eax),%ebx
41375d:	81 ce 00 02 00 00    	or     $0x200,%esi
413763:	83 3d f0 20 4c 00 00 	cmpl   $0x0,0x4c20f0
41376a:	89 54 24 30          	mov    %edx,0x30(%esp)
41376e:	0f 84 c7 5b 06 00    	je     0x47933b
413774:	80 3d f9 20 4c 00 00 	cmpb   $0x0,0x4c20f9
41377b:	a1 f4 20 4c 00       	mov    0x4c20f4,%eax
413780:	0f 85 7b 03 00 00    	jne    0x413b01
413786:	50                   	push   %eax
413787:	53                   	push   %ebx
413788:	89 44 24 24          	mov    %eax,0x24(%esp)
41378c:	e8 0f a2 ff ff       	call   0x40d9a0
413791:	84 c0                	test   %al,%al
413793:	0f 85 b8 5b 06 00    	jne    0x479351
413799:	81 e6 00 ff 00 00    	and    $0xff00,%esi
41379f:	6a 20                	push   $0x20
4137a1:	89 74 24 48          	mov    %esi,0x48(%esp)
4137a5:	e8 40 bd 00 00       	call   0x41f4ea
4137aa:	8b f0                	mov    %eax,%esi
4137ac:	83 c4 04             	add    $0x4,%esp
4137af:	85 f6                	test   %esi,%esi
4137b1:	0f 84 59 03 00 00    	je     0x413b10
4137b7:	33 c9                	xor    %ecx,%ecx
4137b9:	b8 08 00 00 00       	mov    $0x8,%eax
4137be:	ba 02 00 00 00       	mov    $0x2,%edx
4137c3:	f7 e2                	mul    %edx
4137c5:	0f 90 c1             	seto   %cl
4137c8:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
4137cf:	c7 46 08 08 00 00 00 	movl   $0x8,0x8(%esi)
4137d6:	f7 d9                	neg    %ecx
4137d8:	0b c8                	or     %eax,%ecx
4137da:	51                   	push   %ecx
4137db:	e8 0a bd 00 00       	call   0x41f4ea
4137e0:	83 c4 04             	add    $0x4,%esp
4137e3:	33 c9                	xor    %ecx,%ecx
4137e5:	89 06                	mov    %eax,(%esi)
4137e7:	6a 04                	push   $0x4
4137e9:	66 89 08             	mov    %cx,(%eax)
4137ec:	e8 f9 bc 00 00       	call   0x41f4ea
4137f1:	83 c4 04             	add    $0x4,%esp
4137f4:	85 c0                	test   %eax,%eax
4137f6:	0f 84 0d 03 00 00    	je     0x413b09
4137fc:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
413802:	89 46 0c             	mov    %eax,0xc(%esi)
413805:	3b f3                	cmp    %ebx,%esi
413807:	74 37                	je     0x413840
413809:	8b 4e 0c             	mov    0xc(%esi),%ecx
41380c:	8b 01                	mov    (%ecx),%eax
41380e:	83 f8 01             	cmp    $0x1,%eax
413811:	0f 8f 5d 5b 06 00    	jg     0x479374
413817:	8b 7b 04             	mov    0x4(%ebx),%edi
41381a:	89 7e 04             	mov    %edi,0x4(%esi)
41381d:	8d 47 01             	lea    0x1(%edi),%eax
413820:	39 46 08             	cmp    %eax,0x8(%esi)
413823:	0f 82 6b 5b 06 00    	jb     0x479394
413829:	8b 46 04             	mov    0x4(%esi),%eax
41382c:	8d 04 45 02 00 00 00 	lea    0x2(,%eax,2),%eax
413833:	50                   	push   %eax
413834:	ff 33                	push   (%ebx)
413836:	ff 36                	push   (%esi)
413838:	e8 43 b6 00 00       	call   0x41ee80
41383d:	83 c4 0c             	add    $0xc,%esp
413840:	8b 44 24 44          	mov    0x44(%esp),%eax
413844:	6a 10                	push   $0x10
413846:	89 46 10             	mov    %eax,0x10(%esi)
413849:	e8 9c bc 00 00       	call   0x41f4ea
41384e:	8b f8                	mov    %eax,%edi
413850:	83 c4 04             	add    $0x4,%esp
413853:	85 ff                	test   %edi,%edi
413855:	0f 84 bc 02 00 00    	je     0x413b17
41385b:	ff 74 24 30          	push   0x30(%esp)
41385f:	8b cf                	mov    %edi,%ecx
413861:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
413868:	e8 b3 de ff ff       	call   0x411720
41386d:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
413871:	89 7e 14             	mov    %edi,0x14(%esi)
413874:	c7 46 1c 00 00 00 00 	movl   $0x0,0x1c(%esi)
41387b:	c7 46 18 00 00 00 00 	movl   $0x0,0x18(%esi)
413882:	ff 33                	push   (%ebx)
413884:	56                   	push   %esi
413885:	e8 36 a0 ff ff       	call   0x40d8c0
41388a:	8b 7c 24 4c          	mov    0x4c(%esp),%edi
41388e:	89 03                	mov    %eax,(%ebx)
413890:	8b 5c 24 18          	mov    0x18(%esp),%ebx
413894:	8b 4c 24 28          	mov    0x28(%esp),%ecx
413898:	8b 44 24 34          	mov    0x34(%esp),%eax
41389c:	83 44 24 38 04       	addl   $0x4,0x38(%esp)
4138a1:	41                   	inc    %ecx
4138a2:	01 4c 24 24          	add    %ecx,0x24(%esp)
4138a6:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
4138aa:	40                   	inc    %eax
4138ab:	89 44 24 34          	mov    %eax,0x34(%esp)
4138af:	3b 41 14             	cmp    0x14(%ecx),%eax
4138b2:	0f 8e 18 fe ff ff    	jle    0x4136d0
4138b8:	e9 28 fb ff ff       	jmp    0x4133e5
4138bd:	8d 49 00             	lea    0x0(%ecx),%ecx
4138c0:	3b ca                	cmp    %edx,%ecx
4138c2:	0f 83 95 01 00 00    	jae    0x413a5d
4138c8:	ff 44 24 20          	incl   0x20(%esp)
4138cc:	8d 14 b0             	lea    (%eax,%esi,4),%edx
4138cf:	32 db                	xor    %bl,%bl
4138d1:	8b 02                	mov    (%edx),%eax
4138d3:	88 5c 24 13          	mov    %bl,0x13(%esp)
4138d7:	66 83 78 08 00       	cmpw   $0x0,0x8(%eax)
4138dc:	c7 44 24 3c 00 00 00 	movl   $0x0,0x3c(%esp)
4138e3:	00
4138e4:	0f 84 b0 57 06 00    	je     0x47909a
4138ea:	8b 45 0c             	mov    0xc(%ebp),%eax
4138ed:	8b 40 04             	mov    0x4(%eax),%eax
4138f0:	8b 04 88             	mov    (%eax,%ecx,4),%eax
4138f3:	66 83 78 08 33       	cmpw   $0x33,0x8(%eax)
4138f8:	74 06                	je     0x413900
4138fa:	32 db                	xor    %bl,%bl
4138fc:	88 5c 24 13          	mov    %bl,0x13(%esp)
413900:	8d 44 24 13          	lea    0x13(%esp),%eax
413904:	50                   	push   %eax
413905:	8d 4c 24 78          	lea    0x78(%esp),%ecx
413909:	e8 b5 8a 00 00       	call   0x41c3c3
41390e:	84 db                	test   %bl,%bl
413910:	0f 85 d6 57 06 00    	jne    0x4790ec
413916:	8b 44 24 40          	mov    0x40(%esp),%eax
41391a:	8d 4c 24 60          	lea    0x60(%esp),%ecx
41391e:	89 87 f4 00 00 00    	mov    %eax,0xf4(%edi)
413924:	e8 f7 f2 ff ff       	call   0x412c20
413929:	8d 44 24 60          	lea    0x60(%esp),%eax
41392d:	50                   	push   %eax
41392e:	8d 4c 24 54          	lea    0x54(%esp),%ecx
413932:	c7 44 24 70 01 00 00 	movl   $0x1,0x70(%esp)
413939:	00
41393a:	c7 44 24 64 00 00 00 	movl   $0x0,0x64(%esp)
413941:	00
413942:	e8 8f 89 00 00       	call   0x41c2d6
413947:	ff 74 24 1c          	push   0x1c(%esp)
41394b:	8b 44 24 5c          	mov    0x5c(%esp),%eax
41394f:	8b 4c 24 58          	mov    0x58(%esp),%ecx
413953:	8b 5d 0c             	mov    0xc(%ebp),%ebx
413956:	ff 74 81 fc          	push   -0x4(%ecx,%eax,4)
41395a:	8d 44 24 1c          	lea    0x1c(%esp),%eax
41395e:	50                   	push   %eax
41395f:	53                   	push   %ebx
413960:	8b cf                	mov    %edi,%ecx
413962:	e8 c9 c4 ff ff       	call   0x40fe30
413967:	85 c0                	test   %eax,%eax
413969:	0f 88 f8 01 00 00    	js     0x413b67
41396f:	8b 44 24 2c          	mov    0x2c(%esp),%eax
413973:	8b 4c 24 18          	mov    0x18(%esp),%ecx
413977:	8b 40 10             	mov    0x10(%eax),%eax
41397a:	89 87 f4 00 00 00    	mov    %eax,0xf4(%edi)
413980:	8b 49 04             	mov    0x4(%ecx),%ecx
413983:	46                   	inc    %esi
413984:	8b 04 b1             	mov    (%ecx,%esi,4),%eax
413987:	66 83 78 08 41       	cmpw   $0x41,0x8(%eax)
41398c:	0f 84 17 01 00 00    	je     0x413aa9
413992:	8b 4c 24 14          	mov    0x14(%esp),%ecx
413996:	8b 54 24 1c          	mov    0x1c(%esp),%edx
41399a:	3b ca                	cmp    %edx,%ecx
41399c:	0f 84 bb 00 00 00    	je     0x413a5d
4139a2:	8b 43 04             	mov    0x4(%ebx),%eax
4139a5:	8b 04 88             	mov    (%eax,%ecx,4),%eax
4139a8:	66 83 78 08 40       	cmpw   $0x40,0x8(%eax)
4139ad:	0f 85 ba 58 06 00    	jne    0x47926d
4139b3:	8d 41 01             	lea    0x1(%ecx),%eax
4139b6:	3b c2                	cmp    %edx,%eax
4139b8:	0f 84 af 58 06 00    	je     0x47926d
4139be:	8b c8                	mov    %eax,%ecx
4139c0:	8b 44 24 18          	mov    0x18(%esp),%eax
4139c4:	89 4c 24 14          	mov    %ecx,0x14(%esp)
4139c8:	8b 40 04             	mov    0x4(%eax),%eax
4139cb:	89 44 24 3c          	mov    %eax,0x3c(%esp)
4139cf:	8b 04 b0             	mov    (%eax,%esi,4),%eax
4139d2:	66 83 78 08 40       	cmpw   $0x40,0x8(%eax)
4139d7:	75 01                	jne    0x4139da
4139d9:	46                   	inc    %esi
4139da:	8b 5c 24 30          	mov    0x30(%esp),%ebx
4139de:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4139e2:	43                   	inc    %ebx
4139e3:	89 5c 24 30          	mov    %ebx,0x30(%esp)
4139e7:	3b 58 14             	cmp    0x14(%eax),%ebx
4139ea:	7d 71                	jge    0x413a5d
4139ec:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4139f0:	e9 cb fe ff ff       	jmp    0x4138c0
4139f5:	8b 44 24 78          	mov    0x78(%esp),%eax
4139f9:	ff 34 b8             	push   (%eax,%edi,4)
4139fc:	8d 34 b8             	lea    (%eax,%edi,4),%esi
4139ff:	e8 5a bb 00 00       	call   0x41f55e
413a04:	47                   	inc    %edi
413a05:	83 c4 04             	add    $0x4,%esp
413a08:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
413a0e:	3b 7c 24 7c          	cmp    0x7c(%esp),%edi
413a12:	72 e1                	jb     0x4139f5
413a14:	e9 66 fc ff ff       	jmp    0x41367f
413a19:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
413a20:	8b 3c b0             	mov    (%eax,%esi,4),%edi
413a23:	85 ff                	test   %edi,%edi
413a25:	74 14                	je     0x413a3b
413a27:	8b cf                	mov    %edi,%ecx
413a29:	e8 42 a6 ff ff       	call   0x40e070
413a2e:	57                   	push   %edi
413a2f:	e8 2a bb 00 00       	call   0x41f55e
413a34:	8b 44 24 58          	mov    0x58(%esp),%eax
413a38:	83 c4 04             	add    $0x4,%esp
413a3b:	c7 04 b0 00 00 00 00 	movl   $0x0,(%eax,%esi,4)
413a42:	46                   	inc    %esi
413a43:	3b 74 24 58          	cmp    0x58(%esp),%esi
413a47:	72 d7                	jb     0x413a20
413a49:	50                   	push   %eax
413a4a:	e8 0f bb 00 00       	call   0x41f55e
413a4f:	83 c4 04             	add    $0x4,%esp
413a52:	8b c3                	mov    %ebx,%eax
413a54:	5f                   	pop    %edi
413a55:	5e                   	pop    %esi
413a56:	5b                   	pop    %ebx
413a57:	8b e5                	mov    %ebp,%esp
413a59:	5d                   	pop    %ebp
413a5a:	c2 14 00             	ret    $0x14