59b672:	83 fe 07             	cmp    $0x7,%esi
59b675:	75 07                	jne    0x59b67e
59b677:	68 cc 69 6c 00       	push   $0x6c69cc
59b67c:	eb 0a                	jmp    0x59b688
59b67e:	83 fe 0f             	cmp    $0xf,%esi
59b681:	74 0e                	je     0x59b691
59b683:	68 40 d1 6b 00       	push   $0x6bd140
59b688:	57                   	push   %edi
59b689:	e8 82 72 f1 ff       	call   0x4b2910
59b68e:	83 c4 08             	add    $0x8,%esp
59b691:	46                   	inc    %esi
59b692:	83 fe 10             	cmp    $0x10,%esi
59b695:	7c bd                	jl     0x59b654
59b697:	eb 17                	jmp    0x59b6b0
59b699:	68 0c 8b 6c 00       	push   $0x6c8b0c
59b69e:	57                   	push   %edi
59b69f:	e8 2c 38 f1 ff       	call   0x4aeed0
59b6a4:	eb 07                	jmp    0x59b6ad
59b6a6:	50                   	push   %eax
59b6a7:	57                   	push   %edi
59b6a8:	e8 33 b6 ff ff       	call   0x596ce0
59b6ad:	83 c4 08             	add    $0x8,%esp
59b6b0:	68 b8 82 6b 00       	push   $0x6b82b8
59b6b5:	57                   	push   %edi
59b6b6:	e8 55 72 f1 ff       	call   0x4b2910
59b6bb:	ff 74 24 24          	push   0x24(%esp)
59b6bf:	45                   	inc    %ebp
59b6c0:	e8 4b 2f f1 ff       	call   0x4ae610
59b6c5:	8b 5c 24 28          	mov    0x28(%esp),%ebx
59b6c9:	83 c4 0c             	add    $0xc,%esp
59b6cc:	3b e8                	cmp    %eax,%ebp
59b6ce:	0f 8c fc fe ff ff    	jl     0x59b5d0
59b6d4:	5f                   	pop    %edi
59b6d5:	5e                   	pop    %esi
59b6d6:	5d                   	pop    %ebp
59b6d7:	b8 01 00 00 00       	mov    $0x1,%eax
59b6dc:	5b                   	pop    %ebx
59b6dd:	59                   	pop    %ecx
59b6de:	c3                   	ret
59b6df:	cc                   	int3
59b6e0:	68 70 bb 59 00       	push   $0x59bb70
59b6e5:	ff 74 24 08          	push   0x8(%esp)
59b6e9:	e8 52 2f f1 ff       	call   0x4ae640
59b6ee:	83 c4 08             	add    $0x8,%esp
59b6f1:	c3                   	ret
59b6f2:	cc                   	int3
59b6f3:	cc                   	int3
59b6f4:	cc                   	int3
59b6f5:	cc                   	int3
59b6f6:	cc                   	int3
59b6f7:	cc                   	int3
59b6f8:	cc                   	int3
59b6f9:	cc                   	int3
59b6fa:	cc                   	int3
59b6fb:	cc                   	int3
59b6fc:	cc                   	int3
59b6fd:	cc                   	int3
59b6fe:	cc                   	int3
59b6ff:	cc                   	int3
59b700:	b8 10 00 00 00       	mov    $0x10,%eax
59b705:	e8 e6 5d 04 00       	call   0x5e14f0
59b70a:	8b 44 24 18          	mov    0x18(%esp),%eax
59b70e:	ff 74 24 1c          	push   0x1c(%esp)
59b712:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
59b719:	00
59b71a:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
59b721:	00
59b722:	8b 00                	mov    (%eax),%eax
59b724:	89 44 24 10          	mov    %eax,0x10(%esp)
59b728:	8d 44 24 10          	lea    0x10(%esp),%eax
59b72c:	50                   	push   %eax
59b72d:	8d 44 24 0c          	lea    0xc(%esp),%eax
59b731:	50                   	push   %eax
59b732:	e8 09 86 f1 ff       	call   0x4b3d40
59b737:	83 c4 0c             	add    $0xc,%esp
59b73a:	85 c0                	test   %eax,%eax
59b73c:	75 04                	jne    0x59b742
59b73e:	83 c4 10             	add    $0x10,%esp
59b741:	c3                   	ret
59b742:	55                   	push   %ebp
59b743:	8b 6c 24 08          	mov    0x8(%esp),%ebp
59b747:	8b 55 00             	mov    0x0(%ebp),%edx
59b74a:	83 fa 02             	cmp    $0x2,%edx
59b74d:	0f 8c 09 02 00 00    	jl     0x59b95c
59b753:	8b 6d 08             	mov    0x8(%ebp),%ebp
59b756:	53                   	push   %ebx
59b757:	0f b6 45 00          	movzbl 0x0(%ebp),%eax
59b75b:	0f b6 4d 01          	movzbl 0x1(%ebp),%ecx
59b75f:	83 c5 02             	add    $0x2,%ebp
59b762:	66 c1 e0 08          	shl    $0x8,%ax
59b766:	66 0b c8             	or     %ax,%cx
59b769:	0f b7 d9             	movzwl %cx,%ebx
59b76c:	8d 4a fe             	lea    -0x2(%edx),%ecx
59b76f:	3b d9                	cmp    %ecx,%ebx
59b771:	0f 85 e4 01 00 00    	jne    0x59b95b
59b777:	e8 84 2e f1 ff       	call   0x4ae600
59b77c:	89 44 24 08          	mov    %eax,0x8(%esp)
59b780:	85 c0                	test   %eax,%eax
59b782:	0f 84 d3 01 00 00    	je     0x59b95b
59b788:	66 85 db             	test   %bx,%bx
59b78b:	0f 84 ca 01 00 00    	je     0x59b95b
59b791:	56                   	push   %esi
59b792:	57                   	push   %edi
59b793:	66 83 fb 02          	cmp    $0x2,%bx
59b797:	0f 82 a2 01 00 00    	jb     0x59b93f
59b79d:	0f b6 45 00          	movzbl 0x0(%ebp),%eax
59b7a1:	81 c3 fe ff 00 00    	add    $0xfffe,%ebx
59b7a7:	0f b6 4d 01          	movzbl 0x1(%ebp),%ecx
59b7ab:	83 c5 02             	add    $0x2,%ebp
59b7ae:	66 c1 e0 08          	shl    $0x8,%ax
59b7b2:	66 0b c8             	or     %ax,%cx
59b7b5:	0f b7 f9             	movzwl %cx,%edi
59b7b8:	83 ff 01             	cmp    $0x1,%edi
59b7bb:	0f 82 7e 01 00 00    	jb     0x59b93f
59b7c1:	66 3b fb             	cmp    %bx,%di
59b7c4:	0f 87 75 01 00 00    	ja     0x59b93f
59b7ca:	68 d9 00 00 00       	push   $0xd9
59b7cf:	68 08 a5 6c 00       	push   $0x6ca508
59b7d4:	6a 28                	push   $0x28
59b7d6:	2b df                	sub    %edi,%ebx
59b7d8:	e8 d3 49 f0 ff       	call   0x4a01b0
59b7dd:	8b f0                	mov    %eax,%esi
59b7df:	83 c4 0c             	add    $0xc,%esp
59b7e2:	85 f6                	test   %esi,%esi
59b7e4:	0f 84 55 01 00 00    	je     0x59b93f
59b7ea:	56                   	push   %esi
59b7eb:	ff 74 24 14          	push   0x14(%esp)
59b7ef:	e8 9c 2e f1 ff       	call   0x4ae690
59b7f4:	83 c4 08             	add    $0x8,%esp
59b7f7:	85 c0                	test   %eax,%eax
59b7f9:	0f 84 37 01 00 00    	je     0x59b936
59b7ff:	68 e1 00 00 00       	push   $0xe1
59b804:	8b c7                	mov    %edi,%eax
59b806:	68 08 a5 6c 00       	push   $0x6ca508
59b80b:	50                   	push   %eax
59b80c:	89 44 24 24          	mov    %eax,0x24(%esp)
59b810:	e8 9b 49 f0 ff       	call   0x4a01b0
59b815:	83 c4 0c             	add    $0xc,%esp
59b818:	89 06                	mov    %eax,(%esi)
59b81a:	85 c0                	test   %eax,%eax
59b81c:	0f 84 1d 01 00 00    	je     0x59b93f
59b822:	57                   	push   %edi
59b823:	55                   	push   %ebp
59b824:	50                   	push   %eax
59b825:	e8 d6 76 04 00       	call   0x5e2f00
59b82a:	8b 0e                	mov    (%esi),%ecx
59b82c:	83 c4 0c             	add    $0xc,%esp
59b82f:	66 89 7e 04          	mov    %di,0x4(%esi)
59b833:	03 ef                	add    %edi,%ebp
59b835:	8a 01                	mov    (%ecx),%al
59b837:	41                   	inc    %ecx
59b838:	88 46 06             	mov    %al,0x6(%esi)
59b83b:	84 c0                	test   %al,%al
59b83d:	0f 85 e8 00 00 00    	jne    0x59b92b
59b843:	83 ff 2b             	cmp    $0x2b,%edi
59b846:	0f 82 f3 00 00 00    	jb     0x59b93f
59b84c:	89 4e 08             	mov    %ecx,0x8(%esi)
59b84f:	b8 20 00 00 00       	mov    $0x20,%eax
59b854:	66 89 46 0c          	mov    %ax,0xc(%esi)
59b858:	81 c7 d5 ff 00 00    	add    $0xffd5,%edi
59b85e:	0f b6 41 20          	movzbl 0x20(%ecx),%eax
59b862:	99                   	cltd
59b863:	c1 e0 18             	shl    $0x18,%eax
59b866:	89 46 14             	mov    %eax,0x14(%esi)
59b869:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
59b870:	0f b6 41 21          	movzbl 0x21(%ecx),%eax
59b874:	99                   	cltd
59b875:	c1 e0 10             	shl    $0x10,%eax
59b878:	09 46 14             	or     %eax,0x14(%esi)
59b87b:	0f b6 41 22          	movzbl 0x22(%ecx),%eax
59b87f:	99                   	cltd
59b880:	c1 e0 08             	shl    $0x8,%eax
59b883:	09 46 14             	or     %eax,0x14(%esi)
59b886:	0f b6 41 23          	movzbl 0x23(%ecx),%eax
59b88a:	99                   	cltd
59b88b:	09 46 14             	or     %eax,0x14(%esi)
59b88e:	0f b6 41 24          	movzbl 0x24(%ecx),%eax
59b892:	99                   	cltd
59b893:	0f a4 c2 18          	shld   $0x18,%eax,%edx
59b897:	09 56 14             	or     %edx,0x14(%esi)
59b89a:	c1 e0 18             	shl    $0x18,%eax
59b89d:	09 46 10             	or     %eax,0x10(%esi)
59b8a0:	0f b6 41 25          	movzbl 0x25(%ecx),%eax
59b8a4:	99                   	cltd
59b8a5:	0f a4 c2 10          	shld   $0x10,%eax,%edx
59b8a9:	09 56 14             	or     %edx,0x14(%esi)
59b8ac:	c1 e0 10             	shl    $0x10,%eax
59b8af:	09 46 10             	or     %eax,0x10(%esi)
59b8b2:	0f b6 41 26          	movzbl 0x26(%ecx),%eax
59b8b6:	99                   	cltd
59b8b7:	0f a4 c2 08          	shld   $0x8,%eax,%edx
59b8bb:	09 56 14             	or     %edx,0x14(%esi)
59b8be:	c1 e0 08             	shl    $0x8,%eax
59b8c1:	09 46 10             	or     %eax,0x10(%esi)
59b8c4:	0f b6 41 27          	movzbl 0x27(%ecx),%eax
59b8c8:	99                   	cltd
59b8c9:	09 56 14             	or     %edx,0x14(%esi)
59b8cc:	09 46 10             	or     %eax,0x10(%esi)
59b8cf:	0f b6 51 28          	movzbl 0x28(%ecx),%edx
59b8d3:	0f b6 41 29          	movzbl 0x29(%ecx),%eax
59b8d7:	83 c1 2a             	add    $0x2a,%ecx
59b8da:	66 c1 e2 08          	shl    $0x8,%dx
59b8de:	66 0b d0             	or     %ax,%dx
59b8e1:	0f b7 d2             	movzwl %dx,%edx
59b8e4:	66 3b fa             	cmp    %dx,%di
59b8e7:	72 56                	jb     0x59b93f
59b8e9:	89 4e 18             	mov    %ecx,0x18(%esi)
59b8ec:	2b fa                	sub    %edx,%edi
59b8ee:	03 ca                	add    %edx,%ecx
59b8f0:	66 89 56 1c          	mov    %dx,0x1c(%esi)
59b8f4:	66 83 ff 04          	cmp    $0x4,%di
59b8f8:	72 45                	jb     0x59b93f
59b8fa:	0f b6 01             	movzbl (%ecx),%eax
59b8fd:	88 46 1e             	mov    %al,0x1e(%esi)
59b900:	0f b6 41 01          	movzbl 0x1(%ecx),%eax
59b904:	88 46 1f             	mov    %al,0x1f(%esi)
59b907:	0f b6 51 02          	movzbl 0x2(%ecx),%edx
59b90b:	0f b6 41 03          	movzbl 0x3(%ecx),%eax
59b90f:	66 c1 e2 08          	shl    $0x8,%dx
59b913:	66 0b d0             	or     %ax,%dx
59b916:	8d 47 fc             	lea    -0x4(%edi),%eax
59b919:	0f b7 d2             	movzwl %dx,%edx
59b91c:	66 3b c2             	cmp    %dx,%ax
59b91f:	75 1e                	jne    0x59b93f
59b921:	83 c1 04             	add    $0x4,%ecx
59b924:	66 89 56 24          	mov    %dx,0x24(%esi)
59b928:	89 4e 20             	mov    %ecx,0x20(%esi)
59b92b:	66 85 db             	test   %bx,%bx
59b92e:	0f 85 5f fe ff ff    	jne    0x59b793
59b934:	eb 23                	jmp    0x59b959
59b936:	56                   	push   %esi
59b937:	e8 f4 47 f0 ff       	call   0x4a0130
59b93c:	83 c4 04             	add    $0x4,%esp
59b93f:	8b 44 24 10          	mov    0x10(%esp),%eax
59b943:	68 70 bb 59 00       	push   $0x59bb70
59b948:	50                   	push   %eax
59b949:	e8 f2 2c f1 ff       	call   0x4ae640
59b94e:	83 c4 08             	add    $0x8,%esp
59b951:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
59b958:	00
59b959:	5f                   	pop    %edi
59b95a:	5e                   	pop    %esi
59b95b:	5b                   	pop    %ebx
59b95c:	ff 74 24 08          	push   0x8(%esp)
59b960:	e8 fb 82 f1 ff       	call   0x4b3c60
59b965:	8b 4c 24 20          	mov    0x20(%esp),%ecx
59b969:	83 c4 04             	add    $0x4,%esp
59b96c:	8b 44 24 10          	mov    0x10(%esp),%eax
59b970:	89 01                	mov    %eax,(%ecx)
59b972:	8b 44 24 04          	mov    0x4(%esp),%eax
59b976:	5d                   	pop    %ebp
59b977:	83 c4 10             	add    $0x10,%esp
59b97a:	c3                   	ret
59b97b:	cc                   	int3
59b97c:	cc                   	int3
59b97d:	cc                   	int3
59b97e:	cc                   	int3
59b97f:	cc                   	int3
59b980:	53                   	push   %ebx
59b981:	57                   	push   %edi
59b982:	8b 7c 24 10          	mov    0x10(%esp),%edi
59b986:	33 db                	xor    %ebx,%ebx
59b988:	57                   	push   %edi
59b989:	e8 82 2c f1 ff       	call   0x4ae610
59b98e:	83 c4 04             	add    $0x4,%esp
59b991:	85 c0                	test   %eax,%eax
59b993:	0f 8e c3 01 00 00    	jle    0x59bb5c
59b999:	55                   	push   %ebp
59b99a:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
59b99e:	56                   	push   %esi
59b99f:	8b 74 24 1c          	mov    0x1c(%esp),%esi
59b9a3:	83 c5 04             	add    $0x4,%ebp
59b9a6:	53                   	push   %ebx
59b9a7:	57                   	push   %edi
59b9a8:	e8 83 2d f1 ff       	call   0x4ae730
59b9ad:	68 ad 57 6e 00       	push   $0x6e57ad
59b9b2:	ff 74 24 2c          	push   0x2c(%esp)
59b9b6:	8b f8                	mov    %eax,%edi
59b9b8:	68 24 a5 6c 00       	push   $0x6ca524
59b9bd:	56                   	push   %esi
59b9be:	e8 0d 35 f1 ff       	call   0x4aeed0
59b9c3:	68 ad 57 6e 00       	push   $0x6e57ad
59b9c8:	55                   	push   %ebp
59b9c9:	68 48 a5 6c 00       	push   $0x6ca548
59b9ce:	56                   	push   %esi
59b9cf:	e8 fc 34 f1 ff       	call   0x4aeed0
59b9d4:	83 c4 28             	add    $0x28,%esp
59b9d7:	80 7f 06 00          	cmpb   $0x0,0x6(%edi)
59b9db:	0f 85 16 01 00 00    	jne    0x59baf7
59b9e1:	68 5c a5 6c 00       	push   $0x6ca55c
59b9e6:	56                   	push   %esi
59b9e7:	e8 e4 34 f1 ff       	call   0x4aeed0
59b9ec:	68 ad 57 6e 00       	push   $0x6e57ad
59b9f1:	55                   	push   %ebp
59b9f2:	68 64 a5 6c 00       	push   $0x6ca564
59b9f7:	56                   	push   %esi
59b9f8:	e8 d3 34 f1 ff       	call   0x4aeed0
59b9fd:	0f b7 47 0c          	movzwl 0xc(%edi),%eax
59ba01:	8b 4c 24 38          	mov    0x38(%esp),%ecx
59ba05:	50                   	push   %eax
59ba06:	ff 77 08             	push   0x8(%edi)
59ba09:	6a 10                	push   $0x10
59ba0b:	8d 41 10             	lea    0x10(%ecx),%eax
59ba0e:	50                   	push   %eax
59ba0f:	56                   	push   %esi
59ba10:	e8 9b 35 00 00       	call   0x59efb0
59ba15:	68 ad 57 6e 00       	push   $0x6e57ad
59ba1a:	55                   	push   %ebp
59ba1b:	68 78 a5 6c 00       	push   $0x6ca578
59ba20:	56                   	push   %esi
59ba21:	e8 aa 34 f1 ff       	call   0x4aeed0
59ba26:	ff 77 14             	push   0x14(%edi)
59ba29:	ff 77 10             	push   0x10(%edi)
59ba2c:	56                   	push   %esi
59ba2d:	e8 6e 01 00 00       	call   0x59bba0
59ba32:	83 c4 48             	add    $0x48,%esp
59ba35:	68 ad 57 6e 00       	push   $0x6e57ad
59ba3a:	55                   	push   %ebp
59ba3b:	68 8c a5 6c 00       	push   $0x6ca58c
59ba40:	56                   	push   %esi
59ba41:	e8 8a 34 f1 ff       	call   0x4aeed0
59ba46:	0f b7 47 1c          	movzwl 0x1c(%edi),%eax
59ba4a:	83 c4 10             	add    $0x10,%esp
59ba4d:	66 85 c0             	test   %ax,%ax
59ba50:	75 10                	jne    0x59ba62
59ba52:	68 50 cb 6a 00       	push   $0x6acb50
59ba57:	56                   	push   %esi
59ba58:	e8 73 34 f1 ff       	call   0x4aeed0
59ba5d:	83 c4 08             	add    $0x8,%esp
59ba60:	eb 17                	jmp    0x59ba79
59ba62:	8b 4c 24 20          	mov    0x20(%esp),%ecx
59ba66:	50                   	push   %eax
59ba67:	ff 77 18             	push   0x18(%edi)
59ba6a:	6a 10                	push   $0x10
59ba6c:	8d 41 10             	lea    0x10(%ecx),%eax
59ba6f:	50                   	push   %eax
59ba70:	56                   	push   %esi
59ba71:	e8 3a 35 00 00       	call   0x59efb0
59ba76:	83 c4 14             	add    $0x14,%esp
59ba79:	68 ad 57 6e 00       	push   $0x6e57ad
59ba7e:	55                   	push   %ebp
59ba7f:	68 a0 a5 6c 00       	push   $0x6ca5a0
59ba84:	56                   	push   %esi
59ba85:	e8 46 34 f1 ff       	call   0x4aeed0
59ba8a:	8a 4f 1e             	mov    0x1e(%edi),%cl
59ba8d:	83 c4 10             	add    $0x10,%esp
59ba90:	8a 47 1f             	mov    0x1f(%edi),%al
59ba93:	80 f9 04             	cmp    $0x4,%cl
59ba96:	75 2e                	jne    0x59bac6
59ba98:	3c 01                	cmp    $0x1,%al