5b1e67:	7d 15                	jge    0x5b1e7e
5b1e69:	8b 45 c4             	mov    -0x3c(%ebp),%eax
5b1e6c:	8b 55 f4             	mov    -0xc(%ebp),%edx
5b1e6f:	8b 04 90             	mov    (%eax,%edx,4),%eax
5b1e72:	8b 55 fc             	mov    -0x4(%ebp),%edx
5b1e75:	e8 86 dc ff ff       	call   0x5afb00
5b1e7a:	8b f8                	mov    %eax,%edi
5b1e7c:	eb 70                	jmp    0x5b1eee
5b1e7e:	33 ff                	xor    %edi,%edi
5b1e80:	eb 6c                	jmp    0x5b1eee
5b1e82:	8b 45 c4             	mov    -0x3c(%ebp),%eax
5b1e85:	8b 55 f4             	mov    -0xc(%ebp),%edx
5b1e88:	8b 04 90             	mov    (%eax,%edx,4),%eax
5b1e8b:	b9 01 00 00 00       	mov    $0x1,%ecx
5b1e90:	8b 55 fc             	mov    -0x4(%ebp),%edx
5b1e93:	e8 84 dc ff ff       	call   0x5afb1c
5b1e98:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b1e9b:	3b 45 a0             	cmp    -0x60(%ebp),%eax
5b1e9e:	7d 06                	jge    0x5b1ea6
5b1ea0:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b1ea3:	89 45 a0             	mov    %eax,-0x60(%ebp)
5b1ea6:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b1ea9:	3b 45 98             	cmp    -0x68(%ebp),%eax
5b1eac:	7e 06                	jle    0x5b1eb4
5b1eae:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b1eb1:	89 45 98             	mov    %eax,-0x68(%ebp)
5b1eb4:	8b 45 f4             	mov    -0xc(%ebp),%eax
5b1eb7:	3b 45 9c             	cmp    -0x64(%ebp),%eax
5b1eba:	7d 06                	jge    0x5b1ec2
5b1ebc:	8b 45 f4             	mov    -0xc(%ebp),%eax
5b1ebf:	89 45 9c             	mov    %eax,-0x64(%ebp)
5b1ec2:	8b 45 f4             	mov    -0xc(%ebp),%eax
5b1ec5:	3b 45 94             	cmp    -0x6c(%ebp),%eax
5b1ec8:	7e 06                	jle    0x5b1ed0
5b1eca:	8b 45 f4             	mov    -0xc(%ebp),%eax
5b1ecd:	89 45 94             	mov    %eax,-0x6c(%ebp)
5b1ed0:	ff 45 fc             	incl   -0x4(%ebp)
5b1ed3:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b1ed6:	3b 45 f8             	cmp    -0x8(%ebp),%eax
5b1ed9:	74 34                	je     0x5b1f0f
5b1edb:	8b 45 c4             	mov    -0x3c(%ebp),%eax
5b1ede:	8b 55 f4             	mov    -0xc(%ebp),%edx
5b1ee1:	8b 04 90             	mov    (%eax,%edx,4),%eax
5b1ee4:	8b 55 fc             	mov    -0x4(%ebp),%edx
5b1ee7:	e8 14 dc ff ff       	call   0x5afb00
5b1eec:	8b f8                	mov    %eax,%edi
5b1eee:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
5b1ef2:	7c 1b                	jl     0x5b1f0f
5b1ef4:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b1ef7:	3b 45 f8             	cmp    -0x8(%ebp),%eax
5b1efa:	7d 13                	jge    0x5b1f0f
5b1efc:	55                   	push   %ebp
5b1efd:	e8 0e fb ff ff       	call   0x5b1a10
5b1f02:	59                   	pop    %ecx
5b1f03:	84 c0                	test   %al,%al
5b1f05:	74 08                	je     0x5b1f0f
5b1f07:	85 ff                	test   %edi,%edi
5b1f09:	0f 84 73 ff ff ff    	je     0x5b1e82
5b1f0f:	8b d3                	mov    %ebx,%edx
5b1f11:	8b c6                	mov    %esi,%eax
5b1f13:	e8 d8 07 04 00       	call   0x5f26f0
5b1f18:	8b 55 f4             	mov    -0xc(%ebp),%edx
5b1f1b:	89 10                	mov    %edx,(%eax)
5b1f1d:	8b d3                	mov    %ebx,%edx
5b1f1f:	8b c6                	mov    %esi,%eax
5b1f21:	e8 ca 07 04 00       	call   0x5f26f0
5b1f26:	8b 55 d8             	mov    -0x28(%ebp),%edx
5b1f29:	89 50 04             	mov    %edx,0x4(%eax)
5b1f2c:	8b d3                	mov    %ebx,%edx
5b1f2e:	8b c6                	mov    %esi,%eax
5b1f30:	e8 bb 07 04 00       	call   0x5f26f0
5b1f35:	8b 55 fc             	mov    -0x4(%ebp),%edx
5b1f38:	4a                   	dec    %edx
5b1f39:	89 50 08             	mov    %edx,0x8(%eax)
5b1f3c:	8b d3                	mov    %ebx,%edx
5b1f3e:	8b c6                	mov    %esi,%eax
5b1f40:	e8 ab 07 04 00       	call   0x5f26f0
5b1f45:	8b 55 dc             	mov    -0x24(%ebp),%edx
5b1f48:	89 50 0c             	mov    %edx,0xc(%eax)
5b1f4b:	43                   	inc    %ebx
5b1f4c:	85 db                	test   %ebx,%ebx
5b1f4e:	0f 8c 06 01 00 00    	jl     0x5b205a
5b1f54:	8b 46 04             	mov    0x4(%esi),%eax
5b1f57:	48                   	dec    %eax
5b1f58:	3b d8                	cmp    %eax,%ebx
5b1f5a:	7e 0c                	jle    0x5b1f68
5b1f5c:	8b 56 04             	mov    0x4(%esi),%edx
5b1f5f:	03 55 e0             	add    -0x20(%ebp),%edx
5b1f62:	8b c6                	mov    %esi,%eax
5b1f64:	8b 08                	mov    (%eax),%ecx
5b1f66:	ff 11                	call   *(%ecx)
5b1f68:	8b 45 d0             	mov    -0x30(%ebp),%eax
5b1f6b:	40                   	inc    %eax
5b1f6c:	3b 45 fc             	cmp    -0x4(%ebp),%eax
5b1f6f:	7d 62                	jge    0x5b1fd3
5b1f71:	8b d3                	mov    %ebx,%edx
5b1f73:	8b c6                	mov    %esi,%eax
5b1f75:	e8 76 07 04 00       	call   0x5f26f0
5b1f7a:	8b 55 f4             	mov    -0xc(%ebp),%edx
5b1f7d:	89 10                	mov    %edx,(%eax)
5b1f7f:	8b d3                	mov    %ebx,%edx
5b1f81:	8b c6                	mov    %esi,%eax
5b1f83:	e8 68 07 04 00       	call   0x5f26f0
5b1f88:	8b 55 d0             	mov    -0x30(%ebp),%edx
5b1f8b:	42                   	inc    %edx
5b1f8c:	89 50 04             	mov    %edx,0x4(%eax)
5b1f8f:	8b d3                	mov    %ebx,%edx
5b1f91:	8b c6                	mov    %esi,%eax
5b1f93:	e8 58 07 04 00       	call   0x5f26f0
5b1f98:	8b 55 fc             	mov    -0x4(%ebp),%edx
5b1f9b:	4a                   	dec    %edx
5b1f9c:	89 50 08             	mov    %edx,0x8(%eax)
5b1f9f:	8b d3                	mov    %ebx,%edx
5b1fa1:	8b c6                	mov    %esi,%eax
5b1fa3:	e8 48 07 04 00       	call   0x5f26f0
5b1fa8:	8b 55 dc             	mov    -0x24(%ebp),%edx
5b1fab:	f7 da                	neg    %edx
5b1fad:	89 50 0c             	mov    %edx,0xc(%eax)
5b1fb0:	43                   	inc    %ebx
5b1fb1:	85 db                	test   %ebx,%ebx
5b1fb3:	0f 8c a1 00 00 00    	jl     0x5b205a
5b1fb9:	8b 46 04             	mov    0x4(%esi),%eax
5b1fbc:	48                   	dec    %eax
5b1fbd:	3b d8                	cmp    %eax,%ebx
5b1fbf:	7e 12                	jle    0x5b1fd3
5b1fc1:	8b 56 04             	mov    0x4(%esi),%edx
5b1fc4:	03 55 e0             	add    -0x20(%ebp),%edx
5b1fc7:	8b c6                	mov    %esi,%eax
5b1fc9:	8b 08                	mov    (%eax),%ecx
5b1fcb:	ff 11                	call   *(%ecx)
5b1fcd:	eb 04                	jmp    0x5b1fd3
5b1fcf:	c6 45 ab 00          	movb   $0x0,-0x55(%ebp)
5b1fd3:	ff 45 fc             	incl   -0x4(%ebp)
5b1fd6:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
5b1fda:	7c 6c                	jl     0x5b2048
5b1fdc:	8b 45 f4             	mov    -0xc(%ebp),%eax
5b1fdf:	3b 45 f0             	cmp    -0x10(%ebp),%eax
5b1fe2:	7d 64                	jge    0x5b2048
5b1fe4:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b1fe7:	3b 45 f8             	cmp    -0x8(%ebp),%eax
5b1fea:	7d 15                	jge    0x5b2001
5b1fec:	8b 45 c4             	mov    -0x3c(%ebp),%eax
5b1fef:	8b 55 f4             	mov    -0xc(%ebp),%edx
5b1ff2:	8b 04 90             	mov    (%eax,%edx,4),%eax
5b1ff5:	8b 55 fc             	mov    -0x4(%ebp),%edx
5b1ff8:	e8 03 db ff ff       	call   0x5afb00
5b1ffd:	8b f8                	mov    %eax,%edi
5b1fff:	eb 02                	jmp    0x5b2003
5b2001:	33 ff                	xor    %edi,%edi
5b2003:	8b 45 d0             	mov    -0x30(%ebp),%eax
5b2006:	3b 45 f8             	cmp    -0x8(%ebp),%eax
5b2009:	7c 27                	jl     0x5b2032
5b200b:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b200e:	48                   	dec    %eax
5b200f:	89 45 d0             	mov    %eax,-0x30(%ebp)
5b2012:	eb 1e                	jmp    0x5b2032
5b2014:	ff 45 fc             	incl   -0x4(%ebp)
5b2017:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b201a:	3b 45 f8             	cmp    -0x8(%ebp),%eax
5b201d:	74 29                	je     0x5b2048
5b201f:	8b 45 c4             	mov    -0x3c(%ebp),%eax
5b2022:	8b 55 f4             	mov    -0xc(%ebp),%edx
5b2025:	8b 04 90             	mov    (%eax,%edx,4),%eax
5b2028:	8b 55 fc             	mov    -0x4(%ebp),%edx
5b202b:	e8 d0 da ff ff       	call   0x5afb00
5b2030:	8b f8                	mov    %eax,%edi
5b2032:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b2035:	3b 45 d0             	cmp    -0x30(%ebp),%eax
5b2038:	7f 0e                	jg     0x5b2048
5b203a:	55                   	push   %ebp
5b203b:	e8 d0 f9 ff ff       	call   0x5b1a10
5b2040:	59                   	pop    %ecx
5b2041:	84 c0                	test   %al,%al
5b2043:	74 cf                	je     0x5b2014
5b2045:	4f                   	dec    %edi
5b2046:	74 cc                	je     0x5b2014
5b2048:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b204b:	89 45 d8             	mov    %eax,-0x28(%ebp)
5b204e:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b2051:	3b 45 d0             	cmp    -0x30(%ebp),%eax
5b2054:	0f 8e e7 fd ff ff    	jle    0x5b1e41
5b205a:	8b 46 04             	mov    0x4(%esi),%eax
5b205d:	48                   	dec    %eax
5b205e:	3b d8                	cmp    %eax,%ebx
5b2060:	7e 0c                	jle    0x5b206e
5b2062:	8b 56 04             	mov    0x4(%esi),%edx
5b2065:	03 55 e0             	add    -0x20(%ebp),%edx
5b2068:	8b c6                	mov    %esi,%eax
5b206a:	8b 08                	mov    (%eax),%ecx
5b206c:	ff 11                	call   *(%ecx)
5b206e:	85 db                	test   %ebx,%ebx
5b2070:	0f 8f 1e fc ff ff    	jg     0x5b1c94
5b2076:	8b c6                	mov    %esi,%eax
5b2078:	e8 fb 19 e5 ff       	call   0x403a78
5b207d:	8b 45 98             	mov    -0x68(%ebp),%eax
5b2080:	2b 45 a0             	sub    -0x60(%ebp),%eax
5b2083:	40                   	inc    %eax
5b2084:	89 45 88             	mov    %eax,-0x78(%ebp)
5b2087:	8b 45 94             	mov    -0x6c(%ebp),%eax
5b208a:	2b 45 9c             	sub    -0x64(%ebp),%eax
5b208d:	40                   	inc    %eax
5b208e:	89 45 dc             	mov    %eax,-0x24(%ebp)
5b2091:	8b 45 dc             	mov    -0x24(%ebp),%eax
5b2094:	c1 e0 02             	shl    $0x2,%eax
5b2097:	e8 10 07 e5 ff       	call   0x4027ac
5b209c:	89 45 c0             	mov    %eax,-0x40(%ebp)
5b209f:	8b 45 dc             	mov    -0x24(%ebp),%eax
5b20a2:	48                   	dec    %eax
5b20a3:	85 c0                	test   %eax,%eax
5b20a5:	7c 24                	jl     0x5b20cb
5b20a7:	40                   	inc    %eax
5b20a8:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
5b20ae:	33 ff                	xor    %edi,%edi
5b20b0:	8b 45 88             	mov    -0x78(%ebp),%eax
5b20b3:	c1 e8 03             	shr    $0x3,%eax
5b20b6:	40                   	inc    %eax
5b20b7:	e8 f8 6f e5 ff       	call   0x4090b4
5b20bc:	8b 55 c0             	mov    -0x40(%ebp),%edx
5b20bf:	89 04 ba             	mov    %eax,(%edx,%edi,4)
5b20c2:	47                   	inc    %edi
5b20c3:	ff 8d 3c ff ff ff    	decl   -0xc4(%ebp)
5b20c9:	75 e5                	jne    0x5b20b0
5b20cb:	33 c0                	xor    %eax,%eax
5b20cd:	89 45 8c             	mov    %eax,-0x74(%ebp)
5b20d0:	8b 45 9c             	mov    -0x64(%ebp),%eax
5b20d3:	8b 55 94             	mov    -0x6c(%ebp),%edx
5b20d6:	2b d0                	sub    %eax,%edx
5b20d8:	0f 8c f5 00 00 00    	jl     0x5b21d3
5b20de:	42                   	inc    %edx
5b20df:	89 95 3c ff ff ff    	mov    %edx,-0xc4(%ebp)
5b20e5:	89 45 b0             	mov    %eax,-0x50(%ebp)
5b20e8:	8b 55 8c             	mov    -0x74(%ebp),%edx
5b20eb:	4a                   	dec    %edx
5b20ec:	33 c0                	xor    %eax,%eax
5b20ee:	e8 21 73 ff ff       	call   0x5a9414
5b20f3:	89 45 cc             	mov    %eax,-0x34(%ebp)
5b20f6:	8b 55 8c             	mov    -0x74(%ebp),%edx
5b20f9:	42                   	inc    %edx
5b20fa:	8b 45 dc             	mov    -0x24(%ebp),%eax
5b20fd:	48                   	dec    %eax
5b20fe:	e8 19 73 ff ff       	call   0x5a941c
5b2103:	89 45 c8             	mov    %eax,-0x38(%ebp)
5b2106:	33 c0                	xor    %eax,%eax
5b2108:	89 45 90             	mov    %eax,-0x70(%ebp)
5b210b:	8b 45 a0             	mov    -0x60(%ebp),%eax
5b210e:	8b 55 98             	mov    -0x68(%ebp),%edx
5b2111:	2b d0                	sub    %eax,%edx
5b2113:	0f 8c a8 00 00 00    	jl     0x5b21c1
5b2119:	42                   	inc    %edx
5b211a:	89 95 38 ff ff ff    	mov    %edx,-0xc8(%ebp)
5b2120:	89 45 ac             	mov    %eax,-0x54(%ebp)
5b2123:	8b 45 c4             	mov    -0x3c(%ebp),%eax
5b2126:	8b 55 b0             	mov    -0x50(%ebp),%edx
5b2129:	8b 04 90             	mov    (%eax,%edx,4),%eax
5b212c:	8b 55 ac             	mov    -0x54(%ebp),%edx
5b212f:	e8 cc d9 ff ff       	call   0x5afb00
5b2134:	85 c0                	test   %eax,%eax
5b2136:	74 77                	je     0x5b21af
5b2138:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
5b213c:	74 5b                	je     0x5b2199
5b213e:	8b 55 90             	mov    -0x70(%ebp),%edx
5b2141:	4a                   	dec    %edx
5b2142:	33 c0                	xor    %eax,%eax
5b2144:	e8 cb 72 ff ff       	call   0x5a9414
5b2149:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5b214c:	8b 55 90             	mov    -0x70(%ebp),%edx
5b214f:	42                   	inc    %edx
5b2150:	8b 45 88             	mov    -0x78(%ebp),%eax
5b2153:	48                   	dec    %eax
5b2154:	e8 c3 72 ff ff       	call   0x5a941c
5b2159:	89 45 d0             	mov    %eax,-0x30(%ebp)
5b215c:	8b 7d cc             	mov    -0x34(%ebp),%edi
5b215f:	8b 45 c8             	mov    -0x38(%ebp),%eax
5b2162:	2b c7                	sub    %edi,%eax
5b2164:	7c 49                	jl     0x5b21af
5b2166:	40                   	inc    %eax
5b2167:	89 85 34 ff ff ff    	mov    %eax,-0xcc(%ebp)
5b216d:	8b 75 d4             	mov    -0x2c(%ebp),%esi
5b2170:	8b 5d d0             	mov    -0x30(%ebp),%ebx
5b2173:	2b de                	sub    %esi,%ebx
5b2175:	7c 17                	jl     0x5b218e
5b2177:	43                   	inc    %ebx
5b2178:	8b 45 c0             	mov    -0x40(%ebp),%eax
5b217b:	8b 04 b8             	mov    (%eax,%edi,4),%eax
5b217e:	b9 01 00 00 00       	mov    $0x1,%ecx
5b2183:	8b d6                	mov    %esi,%edx
5b2185:	e8 92 d9 ff ff       	call   0x5afb1c
5b218a:	46                   	inc    %esi
5b218b:	4b                   	dec    %ebx
5b218c:	75 ea                	jne    0x5b2178
5b218e:	47                   	inc    %edi
5b218f:	ff 8d 34 ff ff ff    	decl   -0xcc(%ebp)
5b2195:	75 d6                	jne    0x5b216d
5b2197:	eb 16                	jmp    0x5b21af
5b2199:	8b 45 c0             	mov    -0x40(%ebp),%eax
5b219c:	8b 55 8c             	mov    -0x74(%ebp),%edx
5b219f:	8b 04 90             	mov    (%eax,%edx,4),%eax
5b21a2:	b9 01 00 00 00       	mov    $0x1,%ecx
5b21a7:	8b 55 90             	mov    -0x70(%ebp),%edx
5b21aa:	e8 6d d9 ff ff       	call   0x5afb1c
5b21af:	ff 45 90             	incl   -0x70(%ebp)
5b21b2:	ff 45 ac             	incl   -0x54(%ebp)
5b21b5:	ff 8d 38 ff ff ff    	decl   -0xc8(%ebp)
5b21bb:	0f 85 62 ff ff ff    	jne    0x5b2123
5b21c1:	ff 45 8c             	incl   -0x74(%ebp)
5b21c4:	ff 45 b0             	incl   -0x50(%ebp)
5b21c7:	ff 8d 3c ff ff ff    	decl   -0xc4(%ebp)
5b21cd:	0f 85 15 ff ff ff    	jne    0x5b20e8
5b21d3:	8b 45 f0             	mov    -0x10(%ebp),%eax
5b21d6:	48                   	dec    %eax
5b21d7:	85 c0                	test   %eax,%eax
5b21d9:	7c 1d                	jl     0x5b21f8
5b21db:	40                   	inc    %eax
5b21dc:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
5b21e2:	33 ff                	xor    %edi,%edi
5b21e4:	8b 45 c4             	mov    -0x3c(%ebp),%eax
5b21e7:	8b 04 b8             	mov    (%eax,%edi,4),%eax
5b21ea:	e8 dd 05 e5 ff       	call   0x4027cc
5b21ef:	47                   	inc    %edi
5b21f0:	ff 8d 3c ff ff ff    	decl   -0xc4(%ebp)
5b21f6:	75 ec                	jne    0x5b21e4
5b21f8:	8b 45 c4             	mov    -0x3c(%ebp),%eax
5b21fb:	e8 cc 05 e5 ff       	call   0x4027cc
5b2200:	8b 45 88             	mov    -0x78(%ebp),%eax
5b2203:	c1 e0 02             	shl    $0x2,%eax
5b2206:	83 c0 02             	add    $0x2,%eax
5b2209:	83 c0 02             	add    $0x2,%eax
5b220c:	89 45 bc             	mov    %eax,-0x44(%ebp)
5b220f:	8b 45 dc             	mov    -0x24(%ebp),%eax
5b2212:	c1 e0 02             	shl    $0x2,%eax
5b2215:	83 c0 02             	add    $0x2,%eax
5b2218:	83 c0 02             	add    $0x2,%eax
5b221b:	89 45 b8             	mov    %eax,-0x48(%ebp)
5b221e:	8b 45 b8             	mov    -0x48(%ebp),%eax
5b2221:	c1 e0 02             	shl    $0x2,%eax
5b2224:	e8 83 05 e5 ff       	call   0x4027ac
5b2229:	8b f0                	mov    %eax,%esi
5b222b:	8b 45 b8             	mov    -0x48(%ebp),%eax
5b222e:	48                   	dec    %eax
5b222f:	85 c0                	test   %eax,%eax
5b2231:	7c 1d                	jl     0x5b2250
5b2233:	40                   	inc    %eax
5b2234:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
5b223a:	33 ff                	xor    %edi,%edi
5b223c:	8b 45 bc             	mov    -0x44(%ebp),%eax
5b223f:	e8 70 6e e5 ff       	call   0x4090b4
5b2244:	89 04 be             	mov    %eax,(%esi,%edi,4)
5b2247:	47                   	inc    %edi
5b2248:	ff 8d 3c ff ff ff    	decl   -0xc4(%ebp)
5b224e:	75 ec                	jne    0x5b223c