5b2db4:	0f 8c ba 00 00 00    	jl     0x5b2e74
5b2dba:	8b 45 f4             	mov    -0xc(%ebp),%eax
5b2dbd:	3b 45 f0             	cmp    -0x10(%ebp),%eax
5b2dc0:	0f 8d ae 00 00 00    	jge    0x5b2e74
5b2dc6:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b2dc9:	3b 45 f8             	cmp    -0x8(%ebp),%eax
5b2dcc:	7d 15                	jge    0x5b2de3
5b2dce:	8b 45 c8             	mov    -0x38(%ebp),%eax
5b2dd1:	8b 55 f4             	mov    -0xc(%ebp),%edx
5b2dd4:	8b 04 90             	mov    (%eax,%edx,4),%eax
5b2dd7:	8b 55 fc             	mov    -0x4(%ebp),%edx
5b2dda:	e8 21 cd ff ff       	call   0x5afb00
5b2ddf:	8b f8                	mov    %eax,%edi
5b2de1:	eb 70                	jmp    0x5b2e53
5b2de3:	33 ff                	xor    %edi,%edi
5b2de5:	eb 6c                	jmp    0x5b2e53
5b2de7:	8b 45 c8             	mov    -0x38(%ebp),%eax
5b2dea:	8b 55 f4             	mov    -0xc(%ebp),%edx
5b2ded:	8b 04 90             	mov    (%eax,%edx,4),%eax
5b2df0:	b9 01 00 00 00       	mov    $0x1,%ecx
5b2df5:	8b 55 fc             	mov    -0x4(%ebp),%edx
5b2df8:	e8 1f cd ff ff       	call   0x5afb1c
5b2dfd:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b2e00:	3b 45 a4             	cmp    -0x5c(%ebp),%eax
5b2e03:	7d 06                	jge    0x5b2e0b
5b2e05:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b2e08:	89 45 a4             	mov    %eax,-0x5c(%ebp)
5b2e0b:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b2e0e:	3b 45 9c             	cmp    -0x64(%ebp),%eax
5b2e11:	7e 06                	jle    0x5b2e19
5b2e13:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b2e16:	89 45 9c             	mov    %eax,-0x64(%ebp)
5b2e19:	8b 45 f4             	mov    -0xc(%ebp),%eax
5b2e1c:	3b 45 a0             	cmp    -0x60(%ebp),%eax
5b2e1f:	7d 06                	jge    0x5b2e27
5b2e21:	8b 45 f4             	mov    -0xc(%ebp),%eax
5b2e24:	89 45 a0             	mov    %eax,-0x60(%ebp)
5b2e27:	8b 45 f4             	mov    -0xc(%ebp),%eax
5b2e2a:	3b 45 98             	cmp    -0x68(%ebp),%eax
5b2e2d:	7e 06                	jle    0x5b2e35
5b2e2f:	8b 45 f4             	mov    -0xc(%ebp),%eax
5b2e32:	89 45 98             	mov    %eax,-0x68(%ebp)
5b2e35:	ff 45 fc             	incl   -0x4(%ebp)
5b2e38:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b2e3b:	3b 45 f8             	cmp    -0x8(%ebp),%eax
5b2e3e:	74 34                	je     0x5b2e74
5b2e40:	8b 45 c8             	mov    -0x38(%ebp),%eax
5b2e43:	8b 55 f4             	mov    -0xc(%ebp),%edx
5b2e46:	8b 04 90             	mov    (%eax,%edx,4),%eax
5b2e49:	8b 55 fc             	mov    -0x4(%ebp),%edx
5b2e4c:	e8 af cc ff ff       	call   0x5afb00
5b2e51:	8b f8                	mov    %eax,%edi
5b2e53:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
5b2e57:	7c 1b                	jl     0x5b2e74
5b2e59:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b2e5c:	3b 45 f8             	cmp    -0x8(%ebp),%eax
5b2e5f:	7d 13                	jge    0x5b2e74
5b2e61:	55                   	push   %ebp
5b2e62:	e8 79 fb ff ff       	call   0x5b29e0
5b2e67:	59                   	pop    %ecx
5b2e68:	84 c0                	test   %al,%al
5b2e6a:	74 08                	je     0x5b2e74
5b2e6c:	85 ff                	test   %edi,%edi
5b2e6e:	0f 84 73 ff ff ff    	je     0x5b2de7
5b2e74:	8b d3                	mov    %ebx,%edx
5b2e76:	8b c6                	mov    %esi,%eax
5b2e78:	e8 73 f8 03 00       	call   0x5f26f0
5b2e7d:	8b 55 f4             	mov    -0xc(%ebp),%edx
5b2e80:	89 10                	mov    %edx,(%eax)
5b2e82:	8b d3                	mov    %ebx,%edx
5b2e84:	8b c6                	mov    %esi,%eax
5b2e86:	e8 65 f8 03 00       	call   0x5f26f0
5b2e8b:	8b 55 dc             	mov    -0x24(%ebp),%edx
5b2e8e:	89 50 04             	mov    %edx,0x4(%eax)
5b2e91:	8b d3                	mov    %ebx,%edx
5b2e93:	8b c6                	mov    %esi,%eax
5b2e95:	e8 56 f8 03 00       	call   0x5f26f0
5b2e9a:	8b 55 fc             	mov    -0x4(%ebp),%edx
5b2e9d:	4a                   	dec    %edx
5b2e9e:	89 50 08             	mov    %edx,0x8(%eax)
5b2ea1:	8b d3                	mov    %ebx,%edx
5b2ea3:	8b c6                	mov    %esi,%eax
5b2ea5:	e8 46 f8 03 00       	call   0x5f26f0
5b2eaa:	8b 55 e0             	mov    -0x20(%ebp),%edx
5b2ead:	89 50 0c             	mov    %edx,0xc(%eax)
5b2eb0:	43                   	inc    %ebx
5b2eb1:	85 db                	test   %ebx,%ebx
5b2eb3:	0f 8c 07 01 00 00    	jl     0x5b2fc0
5b2eb9:	8b 46 04             	mov    0x4(%esi),%eax
5b2ebc:	8b d0                	mov    %eax,%edx
5b2ebe:	4a                   	dec    %edx
5b2ebf:	3b da                	cmp    %edx,%ebx
5b2ec1:	7e 0b                	jle    0x5b2ece
5b2ec3:	8b d0                	mov    %eax,%edx
5b2ec5:	03 55 e4             	add    -0x1c(%ebp),%edx
5b2ec8:	8b c6                	mov    %esi,%eax
5b2eca:	8b 08                	mov    (%eax),%ecx
5b2ecc:	ff 11                	call   *(%ecx)
5b2ece:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5b2ed1:	40                   	inc    %eax
5b2ed2:	3b 45 fc             	cmp    -0x4(%ebp),%eax
5b2ed5:	7d 62                	jge    0x5b2f39
5b2ed7:	8b d3                	mov    %ebx,%edx
5b2ed9:	8b c6                	mov    %esi,%eax
5b2edb:	e8 10 f8 03 00       	call   0x5f26f0
5b2ee0:	8b 55 f4             	mov    -0xc(%ebp),%edx
5b2ee3:	89 10                	mov    %edx,(%eax)
5b2ee5:	8b d3                	mov    %ebx,%edx
5b2ee7:	8b c6                	mov    %esi,%eax
5b2ee9:	e8 02 f8 03 00       	call   0x5f26f0
5b2eee:	8b 55 d4             	mov    -0x2c(%ebp),%edx
5b2ef1:	42                   	inc    %edx
5b2ef2:	89 50 04             	mov    %edx,0x4(%eax)
5b2ef5:	8b d3                	mov    %ebx,%edx
5b2ef7:	8b c6                	mov    %esi,%eax
5b2ef9:	e8 f2 f7 03 00       	call   0x5f26f0
5b2efe:	8b 55 fc             	mov    -0x4(%ebp),%edx
5b2f01:	4a                   	dec    %edx
5b2f02:	89 50 08             	mov    %edx,0x8(%eax)
5b2f05:	8b d3                	mov    %ebx,%edx
5b2f07:	8b c6                	mov    %esi,%eax
5b2f09:	e8 e2 f7 03 00       	call   0x5f26f0
5b2f0e:	8b 55 e0             	mov    -0x20(%ebp),%edx
5b2f11:	f7 da                	neg    %edx
5b2f13:	89 50 0c             	mov    %edx,0xc(%eax)
5b2f16:	43                   	inc    %ebx
5b2f17:	85 db                	test   %ebx,%ebx
5b2f19:	0f 8c a1 00 00 00    	jl     0x5b2fc0
5b2f1f:	8b 46 04             	mov    0x4(%esi),%eax
5b2f22:	48                   	dec    %eax
5b2f23:	3b d8                	cmp    %eax,%ebx
5b2f25:	7e 12                	jle    0x5b2f39
5b2f27:	8b 56 04             	mov    0x4(%esi),%edx
5b2f2a:	03 55 e4             	add    -0x1c(%ebp),%edx
5b2f2d:	8b c6                	mov    %esi,%eax
5b2f2f:	8b 08                	mov    (%eax),%ecx
5b2f31:	ff 11                	call   *(%ecx)
5b2f33:	eb 04                	jmp    0x5b2f39
5b2f35:	c6 45 ab 00          	movb   $0x0,-0x55(%ebp)
5b2f39:	ff 45 fc             	incl   -0x4(%ebp)
5b2f3c:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
5b2f40:	7c 6c                	jl     0x5b2fae
5b2f42:	8b 45 f4             	mov    -0xc(%ebp),%eax
5b2f45:	3b 45 f0             	cmp    -0x10(%ebp),%eax
5b2f48:	7d 64                	jge    0x5b2fae
5b2f4a:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b2f4d:	3b 45 f8             	cmp    -0x8(%ebp),%eax
5b2f50:	7d 15                	jge    0x5b2f67
5b2f52:	8b 45 c8             	mov    -0x38(%ebp),%eax
5b2f55:	8b 55 f4             	mov    -0xc(%ebp),%edx
5b2f58:	8b 04 90             	mov    (%eax,%edx,4),%eax
5b2f5b:	8b 55 fc             	mov    -0x4(%ebp),%edx
5b2f5e:	e8 9d cb ff ff       	call   0x5afb00
5b2f63:	8b f8                	mov    %eax,%edi
5b2f65:	eb 02                	jmp    0x5b2f69
5b2f67:	33 ff                	xor    %edi,%edi
5b2f69:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5b2f6c:	3b 45 f8             	cmp    -0x8(%ebp),%eax
5b2f6f:	7c 27                	jl     0x5b2f98
5b2f71:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b2f74:	48                   	dec    %eax
5b2f75:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5b2f78:	eb 1e                	jmp    0x5b2f98
5b2f7a:	ff 45 fc             	incl   -0x4(%ebp)
5b2f7d:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b2f80:	3b 45 f8             	cmp    -0x8(%ebp),%eax
5b2f83:	74 29                	je     0x5b2fae
5b2f85:	8b 45 c8             	mov    -0x38(%ebp),%eax
5b2f88:	8b 55 f4             	mov    -0xc(%ebp),%edx
5b2f8b:	8b 04 90             	mov    (%eax,%edx,4),%eax
5b2f8e:	8b 55 fc             	mov    -0x4(%ebp),%edx
5b2f91:	e8 6a cb ff ff       	call   0x5afb00
5b2f96:	8b f8                	mov    %eax,%edi
5b2f98:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b2f9b:	3b 45 d4             	cmp    -0x2c(%ebp),%eax
5b2f9e:	7f 0e                	jg     0x5b2fae
5b2fa0:	55                   	push   %ebp
5b2fa1:	e8 3a fa ff ff       	call   0x5b29e0
5b2fa6:	59                   	pop    %ecx
5b2fa7:	84 c0                	test   %al,%al
5b2fa9:	74 cf                	je     0x5b2f7a
5b2fab:	4f                   	dec    %edi
5b2fac:	74 cc                	je     0x5b2f7a
5b2fae:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b2fb1:	89 45 dc             	mov    %eax,-0x24(%ebp)
5b2fb4:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b2fb7:	3b 45 d4             	cmp    -0x2c(%ebp),%eax
5b2fba:	0f 8e e6 fd ff ff    	jle    0x5b2da6
5b2fc0:	8b 46 04             	mov    0x4(%esi),%eax
5b2fc3:	48                   	dec    %eax
5b2fc4:	3b d8                	cmp    %eax,%ebx
5b2fc6:	7e 0c                	jle    0x5b2fd4
5b2fc8:	8b 56 04             	mov    0x4(%esi),%edx
5b2fcb:	03 55 e4             	add    -0x1c(%ebp),%edx
5b2fce:	8b c6                	mov    %esi,%eax
5b2fd0:	8b 08                	mov    (%eax),%ecx
5b2fd2:	ff 11                	call   *(%ecx)
5b2fd4:	85 db                	test   %ebx,%ebx
5b2fd6:	0f 8f 1d fc ff ff    	jg     0x5b2bf9
5b2fdc:	8b c6                	mov    %esi,%eax
5b2fde:	e8 95 0a e5 ff       	call   0x403a78
5b2fe3:	8b 45 a0             	mov    -0x60(%ebp),%eax
5b2fe6:	8b 55 98             	mov    -0x68(%ebp),%edx
5b2fe9:	2b d0                	sub    %eax,%edx
5b2feb:	0f 8c d8 00 00 00    	jl     0x5b30c9
5b2ff1:	42                   	inc    %edx
5b2ff2:	89 55 8c             	mov    %edx,-0x74(%ebp)
5b2ff5:	89 45 b0             	mov    %eax,-0x50(%ebp)
5b2ff8:	8b 55 b0             	mov    -0x50(%ebp),%edx
5b2ffb:	4a                   	dec    %edx
5b2ffc:	33 c0                	xor    %eax,%eax
5b2ffe:	e8 11 64 ff ff       	call   0x5a9414
5b3003:	89 45 d0             	mov    %eax,-0x30(%ebp)
5b3006:	8b 55 b0             	mov    -0x50(%ebp),%edx
5b3009:	42                   	inc    %edx
5b300a:	8b 45 f0             	mov    -0x10(%ebp),%eax
5b300d:	48                   	dec    %eax
5b300e:	e8 09 64 ff ff       	call   0x5a941c
5b3013:	89 45 cc             	mov    %eax,-0x34(%ebp)
5b3016:	8b 45 a4             	mov    -0x5c(%ebp),%eax
5b3019:	8b 55 9c             	mov    -0x64(%ebp),%edx
5b301c:	2b d0                	sub    %eax,%edx
5b301e:	0f 8c 99 00 00 00    	jl     0x5b30bd
5b3024:	42                   	inc    %edx
5b3025:	89 55 88             	mov    %edx,-0x78(%ebp)
5b3028:	89 45 ac             	mov    %eax,-0x54(%ebp)
5b302b:	8b 45 c8             	mov    -0x38(%ebp),%eax
5b302e:	8b 55 b0             	mov    -0x50(%ebp),%edx
5b3031:	8b 04 90             	mov    (%eax,%edx,4),%eax
5b3034:	8b 55 ac             	mov    -0x54(%ebp),%edx
5b3037:	e8 c4 ca ff ff       	call   0x5afb00
5b303c:	85 c0                	test   %eax,%eax
5b303e:	74 71                	je     0x5b30b1
5b3040:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
5b3044:	74 59                	je     0x5b309f
5b3046:	8b 55 ac             	mov    -0x54(%ebp),%edx
5b3049:	4a                   	dec    %edx
5b304a:	33 c0                	xor    %eax,%eax
5b304c:	e8 c3 63 ff ff       	call   0x5a9414
5b3051:	89 45 d8             	mov    %eax,-0x28(%ebp)
5b3054:	8b 55 ac             	mov    -0x54(%ebp),%edx
5b3057:	42                   	inc    %edx
5b3058:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b305b:	48                   	dec    %eax
5b305c:	e8 bb 63 ff ff       	call   0x5a941c
5b3061:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5b3064:	8b 45 d0             	mov    -0x30(%ebp),%eax
5b3067:	8b 55 cc             	mov    -0x34(%ebp),%edx
5b306a:	2b d0                	sub    %eax,%edx
5b306c:	7c 43                	jl     0x5b30b1
5b306e:	42                   	inc    %edx
5b306f:	89 55 84             	mov    %edx,-0x7c(%ebp)
5b3072:	89 45 b4             	mov    %eax,-0x4c(%ebp)
5b3075:	8b 75 d8             	mov    -0x28(%ebp),%esi
5b3078:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
5b307b:	2b de                	sub    %esi,%ebx
5b307d:	7c 16                	jl     0x5b3095
5b307f:	43                   	inc    %ebx
5b3080:	8b 45 08             	mov    0x8(%ebp),%eax
5b3083:	50                   	push   %eax
5b3084:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
5b3087:	8b d6                	mov    %esi,%edx
5b3089:	8b 45 0c             	mov    0xc(%ebp),%eax
5b308c:	e8 c7 fb 03 00       	call   0x5f2c58
5b3091:	46                   	inc    %esi
5b3092:	4b                   	dec    %ebx
5b3093:	75 eb                	jne    0x5b3080
5b3095:	ff 45 b4             	incl   -0x4c(%ebp)
5b3098:	ff 4d 84             	decl   -0x7c(%ebp)
5b309b:	75 d8                	jne    0x5b3075
5b309d:	eb 12                	jmp    0x5b30b1
5b309f:	8b 45 08             	mov    0x8(%ebp),%eax
5b30a2:	50                   	push   %eax
5b30a3:	8b 4d b0             	mov    -0x50(%ebp),%ecx
5b30a6:	8b 55 ac             	mov    -0x54(%ebp),%edx
5b30a9:	8b 45 0c             	mov    0xc(%ebp),%eax
5b30ac:	e8 a7 fb 03 00       	call   0x5f2c58
5b30b1:	ff 45 ac             	incl   -0x54(%ebp)
5b30b4:	ff 4d 88             	decl   -0x78(%ebp)
5b30b7:	0f 85 6e ff ff ff    	jne    0x5b302b
5b30bd:	ff 45 b0             	incl   -0x50(%ebp)
5b30c0:	ff 4d 8c             	decl   -0x74(%ebp)
5b30c3:	0f 85 2f ff ff ff    	jne    0x5b2ff8
5b30c9:	8b 45 f0             	mov    -0x10(%ebp),%eax
5b30cc:	48                   	dec    %eax
5b30cd:	85 c0                	test   %eax,%eax
5b30cf:	7c 21                	jl     0x5b30f2
5b30d1:	40                   	inc    %eax
5b30d2:	89 45 8c             	mov    %eax,-0x74(%ebp)
5b30d5:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
5b30dc:	8b 45 c8             	mov    -0x38(%ebp),%eax
5b30df:	8b 55 b4             	mov    -0x4c(%ebp),%edx
5b30e2:	8b 04 90             	mov    (%eax,%edx,4),%eax
5b30e5:	e8 e2 f6 e4 ff       	call   0x4027cc
5b30ea:	ff 45 b4             	incl   -0x4c(%ebp)
5b30ed:	ff 4d 8c             	decl   -0x74(%ebp)
5b30f0:	75 ea                	jne    0x5b30dc
5b30f2:	8b 45 c8             	mov    -0x38(%ebp),%eax
5b30f5:	e8 d2 f6 e4 ff       	call   0x4027cc
5b30fa:	5f                   	pop    %edi
5b30fb:	5e                   	pop    %esi
5b30fc:	5b                   	pop    %ebx
5b30fd:	8b e5                	mov    %ebp,%esp
5b30ff:	5d                   	pop    %ebp
5b3100:	c2 10 00             	ret    $0x10
5b3103:	90                   	nop
5b3104:	55                   	push   %ebp
5b3105:	8b ec                	mov    %esp,%ebp
5b3107:	83 c4 e0             	add    $0xffffffe0,%esp
5b310a:	53                   	push   %ebx
5b310b:	56                   	push   %esi
5b310c:	57                   	push   %edi
5b310d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5b3110:	8b fa                	mov    %edx,%edi
5b3112:	89 45 fc             	mov    %eax,-0x4(%ebp)
5b3115:	8b 5d 10             	mov    0x10(%ebp),%ebx
5b3118:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b311b:	8b 10                	mov    (%eax),%edx
5b311d:	ff 52 08             	call   *0x8(%edx)
5b3120:	8b f0                	mov    %eax,%esi
5b3122:	4e                   	dec    %esi
5b3123:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b3126:	8b 10                	mov    (%eax),%edx
5b3128:	ff 52 0c             	call   *0xc(%edx)
5b312b:	48                   	dec    %eax
5b312c:	89 45 f0             	mov    %eax,-0x10(%ebp)
5b312f:	8d 45 ed             	lea    -0x13(%ebp),%eax
5b3132:	50                   	push   %eax
5b3133:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5b3136:	8b d7                	mov    %edi,%edx
5b3138:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b313b:	e8 cc 8b 04 00       	call   0x5fbd0c
5b3140:	85 f6                	test   %esi,%esi
5b3142:	0f 8c 88 00 00 00    	jl     0x5b31d0
5b3148:	46                   	inc    %esi
5b3149:	89 75 e0             	mov    %esi,-0x20(%ebp)
5b314c:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
5b3153:	8b 7d f0             	mov    -0x10(%ebp),%edi
5b3156:	85 ff                	test   %edi,%edi
5b3158:	7c 6e                	jl     0x5b31c8
5b315a:	47                   	inc    %edi
5b315b:	33 f6                	xor    %esi,%esi
5b315d:	8d 45 e5             	lea    -0x1b(%ebp),%eax
5b3160:	50                   	push   %eax
5b3161:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5b3164:	8b d6                	mov    %esi,%edx
5b3166:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b3169:	e8 9e 8b 04 00       	call   0x5fbd0c
5b316e:	33 c0                	xor    %eax,%eax
5b3170:	8a 45 ef             	mov    -0x11(%ebp),%al