5677a7:	e8 74 57 fc ff       	call   0x52cf20
5677ac:	53                   	push   %ebx
5677ad:	57                   	push   %edi
5677ae:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5677b1:	e8 6a 57 fc ff       	call   0x52cf20
5677b6:	83 c4 10             	add    $0x10,%esp
5677b9:	89 45 e8             	mov    %eax,-0x18(%ebp)
5677bc:	8b 5d ec             	mov    -0x14(%ebp),%ebx
5677bf:	8b 4e 6c             	mov    0x6c(%esi),%ecx
5677c2:	8b 53 30             	mov    0x30(%ebx),%edx
5677c5:	39 4e 70             	cmp    %ecx,0x70(%esi)
5677c8:	7f 13                	jg     0x5677dd
5677ca:	6a 00                	push   $0x0
5677cc:	ff 75 f4             	push   -0xc(%ebp)
5677cf:	52                   	push   %edx
5677d0:	6a 7f                	push   $0x7f
5677d2:	56                   	push   %esi
5677d3:	e8 28 ed f9 ff       	call   0x506500
5677d8:	83 c4 14             	add    $0x14,%esp
5677db:	eb 2e                	jmp    0x56780b
5677dd:	8d 41 01             	lea    0x1(%ecx),%eax
5677e0:	89 46 6c             	mov    %eax,0x6c(%esi)
5677e3:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5677e6:	8b 46 68             	mov    0x68(%esi),%eax
5677e9:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
5677ed:	8b 55 f4             	mov    -0xc(%ebp),%edx
5677f0:	c7 04 88 7f 00 00 00 	movl   $0x7f,(%eax,%ecx,4)
5677f7:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
5677fb:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
567802:	00
567803:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
56780a:	00
56780b:	ff 75 e4             	push   -0x1c(%ebp)
56780e:	ff 73 30             	push   0x30(%ebx)
567811:	ff 75 08             	push   0x8(%ebp)
567814:	e8 27 09 00 00       	call   0x568140
567819:	83 c4 0c             	add    $0xc,%esp
56781c:	0f 1f 40 00          	nopl   0x0(%eax)
567820:	8b 4e 6c             	mov    0x6c(%esi),%ecx
567823:	8b 53 34             	mov    0x34(%ebx),%edx
567826:	39 4e 70             	cmp    %ecx,0x70(%esi)
567829:	7f 12                	jg     0x56783d
56782b:	6a 00                	push   $0x0
56782d:	52                   	push   %edx
56782e:	6a 00                	push   $0x0
567830:	6a 48                	push   $0x48
567832:	56                   	push   %esi
567833:	e8 c8 ec f9 ff       	call   0x506500
567838:	83 c4 14             	add    $0x14,%esp
56783b:	eb 2f                	jmp    0x56786c
56783d:	8d 41 01             	lea    0x1(%ecx),%eax
567840:	89 46 6c             	mov    %eax,0x6c(%esi)
567843:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
567846:	8b 46 68             	mov    0x68(%esi),%eax
567849:	c7 04 88 48 00 00 00 	movl   $0x48,(%eax,%ecx,4)
567850:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
567857:	00
567858:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
56785c:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
567863:	00
567864:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
56786b:	00
56786c:	8b 5b 24             	mov    0x24(%ebx),%ebx
56786f:	85 db                	test   %ebx,%ebx
567871:	75 ad                	jne    0x567820
567873:	8b 5d ec             	mov    -0x14(%ebp),%ebx
567876:	8b 4e 6c             	mov    0x6c(%esi),%ecx
567879:	8b 53 58             	mov    0x58(%ebx),%edx
56787c:	39 4e 70             	cmp    %ecx,0x70(%esi)
56787f:	7f 14                	jg     0x567895
567881:	52                   	push   %edx
567882:	ff 75 e0             	push   -0x20(%ebp)
567885:	ff 75 f8             	push   -0x8(%ebp)
567888:	6a 18                	push   $0x18
56788a:	56                   	push   %esi
56788b:	e8 70 ec f9 ff       	call   0x506500
567890:	83 c4 14             	add    $0x14,%esp
567893:	eb 30                	jmp    0x5678c5
567895:	8b 7d f8             	mov    -0x8(%ebp),%edi
567898:	8d 41 01             	lea    0x1(%ecx),%eax
56789b:	89 46 6c             	mov    %eax,0x6c(%esi)
56789e:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5678a1:	8b 46 68             	mov    0x68(%esi),%eax
5678a4:	89 7c 88 04          	mov    %edi,0x4(%eax,%ecx,4)
5678a8:	8b 7d e0             	mov    -0x20(%ebp),%edi
5678ab:	89 7c 88 08          	mov    %edi,0x8(%eax,%ecx,4)
5678af:	8b 7d dc             	mov    -0x24(%ebp),%edi
5678b2:	c7 04 88 18 00 00 00 	movl   $0x18,(%eax,%ecx,4)
5678b9:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
5678bd:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
5678c4:	00
5678c5:	8b 4e 6c             	mov    0x6c(%esi),%ecx
5678c8:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
5678cb:	39 4e 70             	cmp    %ecx,0x70(%esi)
5678ce:	7f 16                	jg     0x5678e6
5678d0:	8b 55 fc             	mov    -0x4(%ebp),%edx
5678d3:	6a 00                	push   $0x0
5678d5:	52                   	push   %edx
5678d6:	ff 75 f8             	push   -0x8(%ebp)
5678d9:	6a 7f                	push   $0x7f
5678db:	56                   	push   %esi
5678dc:	e8 1f ec f9 ff       	call   0x506500
5678e1:	83 c4 14             	add    $0x14,%esp
5678e4:	eb 31                	jmp    0x567917
5678e6:	8b 55 f8             	mov    -0x8(%ebp),%edx
5678e9:	8d 41 01             	lea    0x1(%ecx),%eax
5678ec:	89 46 6c             	mov    %eax,0x6c(%esi)
5678ef:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5678f2:	8b 46 68             	mov    0x68(%esi),%eax
5678f5:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
5678f9:	8b 55 fc             	mov    -0x4(%ebp),%edx
5678fc:	c7 04 88 7f 00 00 00 	movl   $0x7f,(%eax,%ecx,4)
567903:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
567907:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
56790e:	00
56790f:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
567916:	00
567917:	8b 4e 6c             	mov    0x6c(%esi),%ecx
56791a:	8b 53 5c             	mov    0x5c(%ebx),%edx
56791d:	39 4e 70             	cmp    %ecx,0x70(%esi)
567920:	7f 17                	jg     0x567939
567922:	ff 75 fc             	push   -0x4(%ebp)
567925:	ff 75 e0             	push   -0x20(%ebp)
567928:	52                   	push   %edx
567929:	6a 36                	push   $0x36
56792b:	56                   	push   %esi
56792c:	e8 cf eb f9 ff       	call   0x506500
567931:	8b 55 fc             	mov    -0x4(%ebp),%edx
567934:	83 c4 14             	add    $0x14,%esp
567937:	eb 30                	jmp    0x567969
567939:	8b 7d dc             	mov    -0x24(%ebp),%edi
56793c:	8d 41 01             	lea    0x1(%ecx),%eax
56793f:	89 46 6c             	mov    %eax,0x6c(%esi)
567942:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
567945:	8b 46 68             	mov    0x68(%esi),%eax
567948:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
56794c:	8b 55 e0             	mov    -0x20(%ebp),%edx
56794f:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
567953:	8b 55 fc             	mov    -0x4(%ebp),%edx
567956:	c7 04 88 36 00 00 00 	movl   $0x36,(%eax,%ecx,4)
56795d:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
567961:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
567968:	00
567969:	8a 43 14             	mov    0x14(%ebx),%al
56796c:	3c 55                	cmp    $0x55,%al
56796e:	75 54                	jne    0x5679c4
567970:	8b 4e 6c             	mov    0x6c(%esi),%ecx
567973:	39 4e 70             	cmp    %ecx,0x70(%esi)
567976:	7f 17                	jg     0x56798f
567978:	52                   	push   %edx
567979:	ff 75 f0             	push   -0x10(%ebp)
56797c:	ff 75 f4             	push   -0xc(%ebp)
56797f:	6a 35                	push   $0x35
567981:	56                   	push   %esi
567982:	e8 79 eb f9 ff       	call   0x506500
567987:	83 c4 14             	add    $0x14,%esp
56798a:	e9 02 02 00 00       	jmp    0x567b91
56798f:	8b 55 f4             	mov    -0xc(%ebp),%edx
567992:	8d 41 01             	lea    0x1(%ecx),%eax
567995:	89 46 6c             	mov    %eax,0x6c(%esi)
567998:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
56799b:	8b 46 68             	mov    0x68(%esi),%eax
56799e:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
5679a2:	8b 55 f0             	mov    -0x10(%ebp),%edx
5679a5:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
5679a9:	8b 55 fc             	mov    -0x4(%ebp),%edx
5679ac:	c7 04 88 35 00 00 00 	movl   $0x35,(%eax,%ecx,4)
5679b3:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
5679b7:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
5679be:	00
5679bf:	e9 cd 01 00 00       	jmp    0x567b91
5679c4:	3c 42                	cmp    $0x42,%al
5679c6:	0f 84 c5 01 00 00    	je     0x567b91
5679cc:	8b 45 ec             	mov    -0x14(%ebp),%eax
5679cf:	33 db                	xor    %ebx,%ebx
5679d1:	89 5d e0             	mov    %ebx,-0x20(%ebp)
5679d4:	8b 40 0c             	mov    0xc(%eax),%eax
5679d7:	85 c0                	test   %eax,%eax
5679d9:	74 0f                	je     0x5679ea
5679db:	53                   	push   %ebx
5679dc:	53                   	push   %ebx
5679dd:	50                   	push   %eax
5679de:	57                   	push   %edi
5679df:	e8 8c 82 fc ff       	call   0x52fc70
5679e4:	83 c4 10             	add    $0x10,%esp
5679e7:	89 45 e0             	mov    %eax,-0x20(%ebp)
5679ea:	8b 45 ec             	mov    -0x14(%ebp),%eax
5679ed:	80 78 14 5e          	cmpb   $0x5e,0x14(%eax)
5679f1:	75 50                	jne    0x567a43
5679f3:	8b 5e 6c             	mov    0x6c(%esi),%ebx
5679f6:	39 5e 70             	cmp    %ebx,0x70(%esi)
5679f9:	7f 17                	jg     0x567a12
5679fb:	ff 75 fc             	push   -0x4(%ebp)
5679fe:	6a 00                	push   $0x0
567a00:	ff 75 f4             	push   -0xc(%ebp)
567a03:	6a 35                	push   $0x35
567a05:	56                   	push   %esi
567a06:	e8 f5 ea f9 ff       	call   0x506500
567a0b:	83 c4 14             	add    $0x14,%esp
567a0e:	8b d8                	mov    %eax,%ebx
567a10:	eb 31                	jmp    0x567a43
567a12:	8b 55 f4             	mov    -0xc(%ebp),%edx
567a15:	8d 43 01             	lea    0x1(%ebx),%eax
567a18:	89 46 6c             	mov    %eax,0x6c(%esi)
567a1b:	8d 0c 9b             	lea    (%ebx,%ebx,4),%ecx
567a1e:	8b 46 68             	mov    0x68(%esi),%eax
567a21:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
567a25:	8b 55 fc             	mov    -0x4(%ebp),%edx
567a28:	c7 04 88 35 00 00 00 	movl   $0x35,(%eax,%ecx,4)
567a2f:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
567a36:	00
567a37:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
567a3b:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
567a42:	00
567a43:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
567a47:	0f 84 cc 00 00 00    	je     0x567b19
567a4d:	ff 75 e8             	push   -0x18(%ebp)
567a50:	ff 75 f8             	push   -0x8(%ebp)
567a53:	ff 75 08             	push   0x8(%ebp)
567a56:	e8 e5 06 00 00       	call   0x568140
567a5b:	8b 4e 6c             	mov    0x6c(%esi),%ecx
567a5e:	83 c4 0c             	add    $0xc,%esp
567a61:	39 4e 70             	cmp    %ecx,0x70(%esi)
567a64:	7f 17                	jg     0x567a7d
567a66:	8b 55 d8             	mov    -0x28(%ebp),%edx
567a69:	52                   	push   %edx
567a6a:	ff 75 e4             	push   -0x1c(%ebp)
567a6d:	ff 75 e8             	push   -0x18(%ebp)
567a70:	6a 56                	push   $0x56
567a72:	56                   	push   %esi
567a73:	e8 88 ea f9 ff       	call   0x506500
567a78:	83 c4 14             	add    $0x14,%esp
567a7b:	eb 30                	jmp    0x567aad
567a7d:	8b 55 e8             	mov    -0x18(%ebp),%edx
567a80:	8d 41 01             	lea    0x1(%ecx),%eax
567a83:	89 46 6c             	mov    %eax,0x6c(%esi)
567a86:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
567a89:	8b 46 68             	mov    0x68(%esi),%eax
567a8c:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
567a90:	8b 55 e4             	mov    -0x1c(%ebp),%edx
567a93:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
567a97:	8b 55 d8             	mov    -0x28(%ebp),%edx
567a9a:	c7 04 88 56 00 00 00 	movl   $0x56,(%eax,%ecx,4)
567aa1:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
567aa5:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
567aac:	00
567aad:	8b 06                	mov    (%esi),%eax
567aaf:	8b 55 e0             	mov    -0x20(%ebp),%edx
567ab2:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
567ab6:	74 0e                	je     0x567ac6
567ab8:	52                   	push   %edx
567ab9:	6a f7                	push   $0xfffffff7
567abb:	50                   	push   %eax
567abc:	e8 ef c1 f9 ff       	call   0x503cb0
567ac1:	83 c4 0c             	add    $0xc,%esp
567ac4:	eb 12                	jmp    0x567ad8
567ac6:	8b 46 6c             	mov    0x6c(%esi),%eax
567ac9:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
567acc:	8b 46 68             	mov    0x68(%esi),%eax
567acf:	c6 44 88 ed f7       	movb   $0xf7,-0x13(%eax,%ecx,4)
567ad4:	89 54 88 fc          	mov    %edx,-0x4(%eax,%ecx,4)
567ad8:	8b 46 6c             	mov    0x6c(%esi),%eax
567adb:	8d 50 01             	lea    0x1(%eax),%edx
567ade:	39 46 70             	cmp    %eax,0x70(%esi)
567ae1:	7f 12                	jg     0x567af5
567ae3:	52                   	push   %edx
567ae4:	ff 75 f0             	push   -0x10(%ebp)
567ae7:	52                   	push   %edx
567ae8:	6a 10                	push   $0x10
567aea:	56                   	push   %esi
567aeb:	e8 10 ea f9 ff       	call   0x506500
567af0:	83 c4 14             	add    $0x14,%esp
567af3:	eb 72                	jmp    0x567b67
567af5:	8b 7d f0             	mov    -0x10(%ebp),%edi
567af8:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
567afb:	8b 46 68             	mov    0x68(%esi),%eax
567afe:	89 56 6c             	mov    %edx,0x6c(%esi)
567b01:	89 7c 88 08          	mov    %edi,0x8(%eax,%ecx,4)
567b05:	8b 7d dc             	mov    -0x24(%ebp),%edi
567b08:	c7 04 88 10 00 00 00 	movl   $0x10,(%eax,%ecx,4)
567b0f:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
567b13:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
567b17:	eb 46                	jmp    0x567b5f
567b19:	8b 4e 6c             	mov    0x6c(%esi),%ecx
567b1c:	39 4e 70             	cmp    %ecx,0x70(%esi)
567b1f:	7f 14                	jg     0x567b35
567b21:	6a 00                	push   $0x0
567b23:	ff 75 f0             	push   -0x10(%ebp)
567b26:	6a 00                	push   $0x0
567b28:	6a 0b                	push   $0xb
567b2a:	56                   	push   %esi
567b2b:	e8 d0 e9 f9 ff       	call   0x506500
567b30:	83 c4 14             	add    $0x14,%esp
567b33:	eb 32                	jmp    0x567b67
567b35:	8b 55 f0             	mov    -0x10(%ebp),%edx
567b38:	8d 41 01             	lea    0x1(%ecx),%eax
567b3b:	89 46 6c             	mov    %eax,0x6c(%esi)
567b3e:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
567b41:	8b 46 68             	mov    0x68(%esi),%eax
567b44:	c7 04 88 0b 00 00 00 	movl   $0xb,(%eax,%ecx,4)
567b4b:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
567b52:	00
567b53:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
567b57:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
567b5e:	00
567b5f:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
567b66:	00
567b67:	85 db                	test   %ebx,%ebx
567b69:	74 23                	je     0x567b8e
567b6b:	8b 56 6c             	mov    0x6c(%esi),%edx
567b6e:	79 03                	jns    0x567b73
567b70:	8d 5a ff             	lea    -0x1(%edx),%ebx
567b73:	8b 06                	mov    (%esi),%eax
567b75:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
567b79:	74 07                	je     0x567b82
567b7b:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
567b80:	eb 09                	jmp    0x567b8b
567b82:	8b 46 68             	mov    0x68(%esi),%eax
567b85:	8d 0c 9b             	lea    (%ebx,%ebx,4),%ecx
567b88:	8d 04 88             	lea    (%eax,%ecx,4),%eax
567b8b:	89 50 08             	mov    %edx,0x8(%eax)
567b8e:	8b 5d ec             	mov    -0x14(%ebp),%ebx
567b91:	8b 45 08             	mov    0x8(%ebp),%eax
567b94:	ff 70 14             	push   0x14(%eax)
567b97:	6a 00                	push   $0x0
567b99:	ff 75 f8             	push   -0x8(%ebp)
567b9c:	53                   	push   %ebx
567b9d:	50                   	push   %eax
567b9e:	e8 7d e7 ff ff       	call   0x566320
567ba3:	8b 4e 0c             	mov    0xc(%esi),%ecx
567ba6:	83 c4 14             	add    $0x14,%esp
567ba9:	8b 55 f0             	mov    -0x10(%ebp),%edx
567bac:	f7 d2                	not    %edx
567bae:	8b 41 3c             	mov    0x3c(%ecx),%eax
567bb1:	03 41 38             	add    0x38(%ecx),%eax
567bb4:	79 0d                	jns    0x567bc3
567bb6:	52                   	push   %edx
567bb7:	56                   	push   %esi
567bb8:	51                   	push   %ecx
567bb9:	e8 e2 bb fa ff       	call   0x5137a0
567bbe:	83 c4 0c             	add    $0xc,%esp
567bc1:	eb 09                	jmp    0x567bcc
567bc3:	8b 49 40             	mov    0x40(%ecx),%ecx
567bc6:	8b 46 6c             	mov    0x6c(%esi),%eax
567bc9:	89 04 91             	mov    %eax,(%ecx,%edx,4)
567bcc:	8b 4e 6c             	mov    0x6c(%esi),%ecx
567bcf:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
567bd2:	39 4e 70             	cmp    %ecx,0x70(%esi)
567bd5:	7f 13                	jg     0x567bea
567bd7:	6a 00                	push   $0x0